diff --git a/.gitignore b/.gitignore
index bb7d38f1349cff7e73d0a8881d1c9dbf3b90f757..02c7fcd2c1068fbeff3f489552401197854d4fd6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,8 +14,8 @@ dist/
 *.egg-info/
 **/__pycache__/
 .venv/
-pythonbindings/pyfluids/bindings*
-pythonbindings/pymuparser/bindings*
+pythonbindings/pyfluids/*.cpython*
+pythonbindings/pymuparser/*.cpython*
 
 # IDE
 .vscode/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a3db425963b69fd26f704ec83019a8551593d651..f18096c267795fe8c837910037b9360a70d692dc 100755
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -458,7 +458,7 @@ cppcheck:
 
 ###############################################################################
 # lizard - Cyclomatic Complexity Analyzer
-# Ignore warnings is manually set to 191. This job will fail when new warnings are added.
+# Ignore warnings is manually set to 185. This job will fail when new warnings are added.
 lizard:
   extends: .analyze_template
 
@@ -467,7 +467,7 @@ lizard:
 
   script:
     - cd $CI_PROJECT_DIR
-    - lizard -l cpp src/ > lizard.txt --warnings_only --ignore_warnings 400
+    - lizard -l cpp src/ > lizard.txt --warnings_only --ignore_warnings 185
 
   artifacts:
     expire_in: 1 week
diff --git a/Python/boundary_layer/boundary_layer.py b/Python/boundary_layer/boundary_layer.py
index d2efffeaca521f23f07fe24a0ad9edfeab675488..46c1014eb65ab6a393a532ab9ccf6b4ccdb424e4 100644
--- a/Python/boundary_layer/boundary_layer.py
+++ b/Python/boundary_layer/boundary_layer.py
@@ -150,16 +150,17 @@ if read_precursor:
     precursor = gpu.create_file_collection(precursor_directory + "/precursor", gpu.FileType.VTK)
     grid_builder.set_precursor_boundary_condition(gpu.SideType.MX, precursor, nTReadPrecursor, 0, 0, 0)
 
-grid_builder.set_stress_boundary_condition(gpu.SideType.MZ, 0, 0, 1, sampling_offset, z0/dx)
+grid_builder.set_stress_boundary_condition(gpu.SideType.MZ, 0, 0, 1, sampling_offset, z0, dx)
 para.set_has_wall_model_monitor(True)
 grid_builder.set_slip_boundary_condition(gpu.SideType.PZ, 0, 0, -1)
 
 if read_precursor:
     grid_builder.set_pressure_boundary_condition(gpu.SideType.PX, 0)
+    bc_factory.set_pressure_boundary_condition(gpu.PressureBC.OutflowNonReflective)
+    bc_factory.set_precursor_boundary_condition(gpu.PrecursorBC.DistributionsPrecursor if use_distributions else gpu.PrecursorBC.VelocityPrecursor)
+    
 bc_factory.set_stress_boundary_condition(gpu.StressBC.StressPressureBounceBack)
 bc_factory.set_slip_boundary_condition(gpu.SlipBC.SlipBounceBack) 
-bc_factory.set_pressure_boundary_condition(gpu.PressureBC.OutflowNonReflective)
-bc_factory.set_precursor_boundary_condition(gpu.PrecursorBC.DistributionsPrecursor if use_distributions else gpu.PrecursorBC.VelocityPrecursor)
 para.set_outflow_pressure_correction_factor(0.0); 
 #%%
 para.set_initial_condition_perturbed_log_law(u_star, z0, length[0], length[2], boundary_layer_height, dx/dx)
diff --git a/apps/cpu/plate/sonjas_org.cpp.vf b/apps/cpu/plate/sonjas_org.cpp.vf
index 1c634bfed5cfd76fc74f4c3abfb11a61b179fe1b..58b0d27a6219ba6fc1b2b54e14068e06b8ba4865 100644
--- a/apps/cpu/plate/sonjas_org.cpp.vf
+++ b/apps/cpu/plate/sonjas_org.cpp.vf
@@ -1,6 +1,6 @@
 
 
-..damit wir gleich damit anfangen können. So sieht das Setup aus.
+..damit wir gleich damit anfangen k�nnen. So sieht das Setup aus.
 Sonja
 
 
@@ -9,7 +9,6 @@ SpD3Q19Plattenanstroemung.hpp
 #include <topology/amr3d/blockadaptation/AMR3DCrossAndInsideGbObject3DAdapter.h>
 //AMR3DCrossAndInsideGbObject3DAdapter
 #include <topology/amr3d/lbmd3q19/utils/D3Q19MetisTools.h>
-//#include <topology/amr3d/lbmd3q19/turbulenceWale/gridadaptation/TwD3Q19SpongeLayerAdapter.h>
 #include <topology/amr3d/lbmd3q19/gridadaptation/D3Q19GridInformationGridAdapter.h>
 #include <topology/amr3d/lbmd3q19/gridadaptation/D3Q19SetConnectorsGridAdapter.h>
 #include <topology/amr3d/lbmd3q19/gridadaptation/D3Q19InitDistributionsGridAdapter.h>
@@ -99,9 +98,9 @@ void SpD3Q19MasterTestcases::start( RcfClient<IRcfIpService>& ipService,
    params.collModel = D3Q19System::INCOMPGLBEJTLESMODEL;
    ///////////////Knotenabmessungen:
    //int KnotenCubeCoarse=40;
-   params.nx[0]      = 120;//60;//86;//43;//65;//50;  //länge
+   params.nx[0]      = 120;//60;//86;//43;//65;//50;  //l�nge
    params.nx[1]      = 6;///1;//5;// //breite
-   params.nx[2]      = 32;//18;//5;//15;//15; //höhe gebiet
+   params.nx[2]      = 32;//18;//5;//15;//15; //h�he gebiet
    params.blocknx[0] = 10;
    params.blocknx[1] = 10;
    params.blocknx[2] = 10;
@@ -113,9 +112,9 @@ void SpD3Q19MasterTestcases::start( RcfClient<IRcfIpService>& ipService,
    int bottomLevel     = 1;
 
    ///////////////Weltabmessungen:
-   double kanalhoeheSI  = 60.0/100.0;//60.0/100.0;//cm, Kanalhöhe
+   double kanalhoeheSI  = 60.0/100.0;//60.0/100.0;//cm, Kanalh�he
    double kanalbreiteSI = 9.9/100.0;//1.65/100.0;//13.2/100.0;////40.0/100.0; //cm, Kanalbreite //13.2 zeilbreite
-   double kanallaengeSI = kanalhoeheSI*30.0/18.0;//80.0/100.0;//cm, Kanallänge, ist nicht angegeben
+   double kanallaengeSI = kanalhoeheSI*30.0/18.0;//80.0/100.0;//cm, Kanall�nge, ist nicht angegeben
 
    // double refinewidth1=kanalhoeheSI/10.0;
 
@@ -381,7 +380,7 @@ void SpD3Q19MasterTestcases::start( RcfClient<IRcfIpService>& ipService,
    topoService.adaptGridByBlockCriterion(refineAdapterP6);
 
      UBLOG2(logINFO, std::cout, "Refinement..done");
-   //blockverhältnis von 2:1 herstellen:
+   //blockverh�ltnis von 2:1 herstellen:
    UBLOG(logINFO,"ratio")
       boost::shared_ptr<AMR3DBlockAdaptationCriterion> ratioAdapter(new AMR3DBlockRatioAdapter(params.refineLevel));
    topoService.adaptGridByBlockCriterion(ratioAdapter);
@@ -554,7 +553,7 @@ void SpD3Q19MasterTestcases::start( RcfClient<IRcfIpService>& ipService,
    , params.blocknx[1]
    , params.blocknx[2] )
       , params.connsTransAttr.useConsForNotActiveBlocks()
-      , D3Q19MetisAdapterTools::getD3Q19GetBlockWeightFunctor(false) ) );   ///////hier false auf keine gewichtung - default:doppelte gewichtung für fine
+      , D3Q19MetisAdapterTools::getD3Q19GetBlockWeightFunctor(false) ) );   ///////hier false auf keine gewichtung - default:doppelte gewichtung f�r fine
    //  boost::shared_ptr<AMR3DGridAdaptationCriterion> partioningAdapter(new AMR3DGridPartitionOneDirectionAdapter((int)calcServices.size()) );   
   // UBLOG2(logINFO,"params.connsTransAttr.useConsForNotActiveBlocks():" ); 
    //UBLOG2(logINFO,params.connsTransAttr.useConsForNotActiveBlocks() );         
diff --git a/apps/gpu/ActuatorLine/ActuatorLine.cpp b/apps/gpu/ActuatorLine/ActuatorLine.cpp
index 8262a33892a53df438db90ae0b6447beff1f1775..fa3d80a2499ddf0b243e0562f78bec5167283c28 100644
--- a/apps/gpu/ActuatorLine/ActuatorLine.cpp
+++ b/apps/gpu/ActuatorLine/ActuatorLine.cpp
@@ -136,14 +136,14 @@ void multipleLevel(const std::string& configPath)
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	const real dx = reference_diameter/real(nodes_per_diameter);
+    const real dx = reference_diameter/real(nodes_per_diameter);
 
     real turbPos[3] = {3*reference_diameter, 3*reference_diameter, 3*reference_diameter};
 
     auto gridBuilder = std::make_shared<MultipleGridBuilder>();
 
-	gridBuilder->addCoarseGrid(0.0, 0.0, 0.0,
-							   L_x,  L_y,  L_z, dx);
+    gridBuilder->addCoarseGrid(0.0, 0.0, 0.0,
+                               L_x,  L_y,  L_z, dx);
 
     gridBuilder->setNumberOfLayers(4,0);
     gridBuilder->addGrid( std::make_shared<Cuboid>( turbPos[0]-1.5*reference_diameter,  turbPos[1]-1.5*reference_diameter,  turbPos[2]-1.5*reference_diameter, 
@@ -151,11 +151,11 @@ void multipleLevel(const std::string& configPath)
     para->setMaxLevel(2);
     scalingFactory.setScalingFactory(GridScalingFactory::GridScaling::ScaleCompressible);
 
-	gridBuilder->setPeriodicBoundaryCondition(false, false, false);
+    gridBuilder->setPeriodicBoundaryCondition(false, false, false);
 
-	gridBuilder->buildGrids(false); // buildGrids() has to be called before setting the BCs!!!!
+    gridBuilder->buildGrids(false); // buildGrids() has to be called before setting the BCs!!!!
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
     const real dt = dx * mach / (sqrt(3) * velocity);
 
@@ -235,7 +235,6 @@ void multipleLevel(const std::string& configPath)
     std::vector<real> probeCoordsZ = {3*reference_diameter,3*reference_diameter,3*reference_diameter};
 
     pointProbe->addProbePointsFromList(probeCoordsX, probeCoordsY, probeCoordsZ);
-    // pointProbe->addProbePointsFromXNormalPlane(2*D, 0.0, 0.0, L_y, L_z, (uint)L_y/dx, (uint)L_z/dx);
 
     pointProbe->addStatistic(Statistic::Means);
     pointProbe->addStatistic(Statistic::Variances);
diff --git a/apps/gpu/Basel/main.cpp b/apps/gpu/Basel/main.cpp
index 59708add1acd865b55bb3ca8d1f1e2e2e3032dac..dd3762c1253ee2a77e196a3c3ee886281fa7fb64 100644
--- a/apps/gpu/Basel/main.cpp
+++ b/apps/gpu/Basel/main.cpp
@@ -60,220 +60,220 @@
 
 void multipleLevel(const std::string& configPath)
 {
-	auto gridFactory = GridFactory::make();
-	gridFactory->setGridStrategy(Device::CPU);
-	//gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::RAYCASTING);
-	gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT);
-	//gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_UNDER_TRIANGLE);
-
-	auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory);
-
-	SPtr<ConfigFileReader> configReader = ConfigFileReader::getNewInstance();
-	SPtr<ConfigData> configData = configReader->readConfigFile(configPath);
-	Communicator* comm = Communicator::getInstanz();
-
-	SPtr<Parameter> para = Parameter::make(configData, comm);
-	BoundaryConditionFactory bcFactory = BoundaryConditionFactory();
-	SPtr<CudaMemoryManager> cudaMemManager = CudaMemoryManager::make(para);
-	SPtr<GridProvider> gridGenerator;
-
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    auto gridFactory = GridFactory::make();
+    gridFactory->setGridStrategy(Device::CPU);
+    //gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::RAYCASTING);
+    gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT);
+    //gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_UNDER_TRIANGLE);
+
+    auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory);
+
+    SPtr<ConfigFileReader> configReader = ConfigFileReader::getNewInstance();
+    SPtr<ConfigData> configData = configReader->readConfigFile(configPath);
+    Communicator* comm = Communicator::getInstanz();
+
+    SPtr<Parameter> para = Parameter::make(configData, comm);
+    BoundaryConditionFactory bcFactory = BoundaryConditionFactory();
+    SPtr<CudaMemoryManager> cudaMemManager = CudaMemoryManager::make(para);
+    SPtr<GridProvider> gridGenerator;
+
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 #ifdef _WIN32
-	//Baumbart
-	std::string gridpath = "F:/Basel2019";
+    //Baumbart
+    std::string gridpath = "F:/Basel2019";
 #else
-	//Phoenix
-	std::string gridpath = "/work/marschoe/Basel4GPU";
+    //Phoenix
+    std::string gridpath = "/work/marschoe/Basel4GPU";
 #endif // _WIN32
 
-	
-	std::ofstream logFile;
-	logFile.open(gridpath + "/gridGeneratorLog.txt");
+    
+    std::ofstream logFile;
+    logFile.open(gridpath + "/gridGeneratorLog.txt");
 
-	bool useGridGenerator = false;
+    bool useGridGenerator = false;
 
-	if (useGridGenerator) {
+    if (useGridGenerator) {
 
-		real dx = 1.0;
-		real vx = 0.05;
+        real dx = 1.0;
+        real vx = 0.05;
 
 #ifdef _WIN32
-		//Baumbart
-		auto BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl");
+        //Baumbart
+        auto BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl");
 #else
-		//Phoenix
-		auto BaselSTL = std::make_shared<TriangularMesh>(gridpath + "/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl");
+        //Phoenix
+        auto BaselSTL = std::make_shared<TriangularMesh>(gridpath + "/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl");
 #endif
 
 
-		gridBuilder->addCoarseGrid(-256.0, -256.0, -8.0,
-			256.0, 256.0, 160.0, dx);
+        gridBuilder->addCoarseGrid(-256.0, -256.0, -8.0,
+            256.0, 256.0, 160.0, dx);
 
-		gridBuilder->addGeometry(BaselSTL);
+        gridBuilder->addGeometry(BaselSTL);
 
-		//Merged for Wind in X Direction
-		gridBuilder->setPeriodicBoundaryCondition(true, true, false);
+        //Merged for Wind in X Direction
+        gridBuilder->setPeriodicBoundaryCondition(true, true, false);
 
-		gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
+        gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
 
-		//////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////
 
-		gridBuilder->setVelocityBoundaryCondition(SideType::PZ, vx, 0.0, 0.0);
-		gridBuilder->setVelocityBoundaryCondition(SideType::MZ, vx, 0.0, 0.0);
+        gridBuilder->setVelocityBoundaryCondition(SideType::PZ, vx, 0.0, 0.0);
+        gridBuilder->setVelocityBoundaryCondition(SideType::MZ, vx, 0.0, 0.0);
 
-		gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0);
+        gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0);
 
-		//no forcing
-		// gridBuilder->setPressureBoundaryCondition(SideType::PY, 0.0);
-		// gridBuilder->setPressureBoundaryCondition(SideType::MY, 0.0);
+        //no forcing
+        // gridBuilder->setPressureBoundaryCondition(SideType::PY, 0.0);
+        // gridBuilder->setPressureBoundaryCondition(SideType::MY, 0.0);
 
-		// gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0);
-		// gridBuilder->setPressureBoundaryCondition(SideType::MX, 0.0);
+        // gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0);
+        // gridBuilder->setPressureBoundaryCondition(SideType::MX, 0.0);
 
-		bcFactory.setVelocityBoundaryCondition(BoundaryConditionFactory::VelocityBC::VelocityCompressible);
-		bcFactory.setGeometryBoundaryCondition(BoundaryConditionFactory::VelocityBC::VelocityCompressible);
-		//////////////////////////////////////////////////////////////////////////
-		//Merged for Wind in X Direction
-		//gridBuilder->writeGridsToVtk(gridpath + "/grids/BaselUni/Basel_Grid");
-		//SimulationFileWriter::write(gridpath + "/grids/BaselUni/", gridBuilder, FILEFORMAT::BINARY);
-		////////////////////
-		//one street closed
-		gridBuilder->writeGridsToVtk(gridpath + "/grids/BaselUniOSC_1m/Basel_Grid");
-		SimulationFileWriter::write(gridpath + "/grids/BaselUniOSC_1m/", gridBuilder, FILEFORMAT::BINARY);
+        bcFactory.setVelocityBoundaryCondition(BoundaryConditionFactory::VelocityBC::VelocityCompressible);
+        bcFactory.setGeometryBoundaryCondition(BoundaryConditionFactory::VelocityBC::VelocityCompressible);
+        //////////////////////////////////////////////////////////////////////////
+        //Merged for Wind in X Direction
+        //gridBuilder->writeGridsToVtk(gridpath + "/grids/BaselUni/Basel_Grid");
+        //SimulationFileWriter::write(gridpath + "/grids/BaselUni/", gridBuilder, FILEFORMAT::BINARY);
+        ////////////////////
+        //one street closed
+        gridBuilder->writeGridsToVtk(gridpath + "/grids/BaselUniOSC_1m/Basel_Grid");
+        SimulationFileWriter::write(gridpath + "/grids/BaselUniOSC_1m/", gridBuilder, FILEFORMAT::BINARY);
 
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-		StreetPointFinder finder;
+        StreetPointFinder finder;
 #ifdef _WIN32
-		//Baumbart
-		finder.readStreets("C:/Users/schoen/Desktop/git/MS2/git/targets/apps/LBM/Basel/resources/Streets.txt");
+        //Baumbart
+        finder.readStreets("C:/Users/schoen/Desktop/git/MS2/git/targets/apps/LBM/Basel/resources/Streets.txt");
 #else
-		//Phoenix
-		finder.readStreets(gridpath + "/source/git/targets/apps/LBM/Basel/resources/Streets.txt");
+        //Phoenix
+        finder.readStreets(gridpath + "/source/git/targets/apps/LBM/Basel/resources/Streets.txt");
 #endif
 
-		finder.writeVTK(gridpath + "/results/ExampleStreets.vtk");
+        finder.writeVTK(gridpath + "/results/ExampleStreets.vtk");
 
-		finder.findIndicesLB(gridBuilder->getGrid(0), 7.0);
+        finder.findIndicesLB(gridBuilder->getGrid(0), 7.0);
 
-		//all Streets
-		//finder.writeConnectionVTK(gridpath + "/grids/BaselUni/Basel_Grid/ExampleStreetsConnection.vtk", gridBuilder->getGrid(0));
-		//finder.writeSimulationFile(gridpath + "/grids/BaselUni/", 1.0, gridBuilder->getNumberOfLevels(), 0);
-		//finder.writeStreetVectorFile(gridpath + "/grids/BaselUni/", 1.0, gridBuilder->getNumberOfLevels(), 0);
-		////////////////////
-		//one street closed
-		finder.writeConnectionVTK(gridpath + "/grids/BaselUniOSC_1m/Basel_Grid/ExampleStreetsConnection.vtk", gridBuilder->getGrid(0));
-		finder.writeSimulationFile(gridpath + "/grids/BaselUniOSC_1m/", 1.0, gridBuilder->getNumberOfLevels(), 0);
-		finder.writeStreetVectorFile(gridpath + "/grids/BaselUniOSC_1m/", 1.0, gridBuilder->getNumberOfLevels(), 0);
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //all Streets
+        //finder.writeConnectionVTK(gridpath + "/grids/BaselUni/Basel_Grid/ExampleStreetsConnection.vtk", gridBuilder->getGrid(0));
+        //finder.writeSimulationFile(gridpath + "/grids/BaselUni/", 1.0, gridBuilder->getNumberOfLevels(), 0);
+        //finder.writeStreetVectorFile(gridpath + "/grids/BaselUni/", 1.0, gridBuilder->getNumberOfLevels(), 0);
+        ////////////////////
+        //one street closed
+        finder.writeConnectionVTK(gridpath + "/grids/BaselUniOSC_1m/Basel_Grid/ExampleStreetsConnection.vtk", gridBuilder->getGrid(0));
+        finder.writeSimulationFile(gridpath + "/grids/BaselUniOSC_1m/", 1.0, gridBuilder->getNumberOfLevels(), 0);
+        finder.writeStreetVectorFile(gridpath + "/grids/BaselUniOSC_1m/", 1.0, gridBuilder->getNumberOfLevels(), 0);
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-		return;
+        return;
 
-		gridGenerator = GridProvider::makeGridGenerator(gridBuilder, para, cudaMemManager, communicator);
-		//gridGenerator = GridGenerator::make(gridBuilder, para);
+        gridGenerator = GridProvider::makeGridGenerator(gridBuilder, para, cudaMemManager, communicator);
+        //gridGenerator = GridGenerator::make(gridBuilder, para);
 
-	}
-	else
-	{
-		gridGenerator = GridProvider::makeGridReader(FILEFORMAT::BINARY, para, cudaMemManager);
-		//gridGenerator = GridReader::make(FileFormat::BINARY, para);
-		//gridGenerator = GridReader::make(FileFormat::ASCII, para);
-	}
+    }
+    else
+    {
+        gridGenerator = GridProvider::makeGridReader(FILEFORMAT::BINARY, para, cudaMemManager);
+        //gridGenerator = GridReader::make(FileFormat::BINARY, para);
+        //gridGenerator = GridReader::make(FileFormat::ASCII, para);
+    }
 
-	logFile.close();
+    logFile.close();
 
-	//return;
+    //return;
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
-	Simulation sim;
-	SPtr<FileWriter> fileWriter = SPtr<FileWriter>(new FileWriter());
-	SPtr<KernelFactoryImp> kernelFactory = KernelFactoryImp::getInstance();
-	SPtr<PreProcessorFactoryImp> preProcessorFactory = PreProcessorFactoryImp::getInstance();
-	sim.setFactories(kernelFactory, preProcessorFactory);
-	sim.init(para, gridGenerator, fileWriter, cudaMemManager);
-	sim.run();
-	sim.free();
+    Simulation sim;
+    SPtr<FileWriter> fileWriter = SPtr<FileWriter>(new FileWriter());
+    SPtr<KernelFactoryImp> kernelFactory = KernelFactoryImp::getInstance();
+    SPtr<PreProcessorFactoryImp> preProcessorFactory = PreProcessorFactoryImp::getInstance();
+    sim.setFactories(kernelFactory, preProcessorFactory);
+    sim.init(para, gridGenerator, fileWriter, cudaMemManager);
+    sim.run();
+    sim.free();
 }
 
 
 int main(int argc, char* argv[])
 {
-	MPI_Init(&argc, &argv);
-	std::string str, str2;
-	if (argv != NULL)
-	{
-		str = static_cast<std::string>(argv[0]);
-		if (argc > 1)
-		{
-			str2 = static_cast<std::string>(argv[1]);
-			try
-			{
-				multipleLevel(str2);
-			}
-			catch (const std::exception& e)
-			{
-				//MPI_Abort(MPI_COMM_WORLD, -1);
-			}
-			catch (...)
-			{
-				std::cout << "unknown exeption" << std::endl;
-			}
-		}
-		else
-		{
-			try
-			{
-				//multipleLevel("E:/temp/Basel2019/config/configBasel.txt"); //Tesla03
-				//multipleLevel("C:/Users/schoen/Desktop/bin/ReleaseBasel/configBasel.txt"); //Baumbart 1
-				multipleLevel("F:/Basel2019/configBasel.txt"); //Baumbart 2
-				//multipleLevel("F:/Work/Computations/gridGenerator/inp/configTest.txt");
-				//multipleLevel("C:/Users/hiwi/Desktop/configBasel.txt"); //Gamling
-			}
-			catch (const std::exception& e)
-			{
-				std::cout << e.what() << std::flush;
-				//MPI_Abort(MPI_COMM_WORLD, -1);
-			}
-			catch (const std::bad_alloc e)
-			{
-				std::cout << e.what() << std::flush;
-				//MPI_Abort(MPI_COMM_WORLD, -1);
-			}
-			catch (...)
-			{
-				std::cout << "unknown exeption" << std::endl;
-			}
-
-			std::cout << "\nConfiguration file must be set!: lbmgm <config file>" << std::endl << std::flush;
-			//MPI_Abort(MPI_COMM_WORLD, -1);
-		}
-	}
-
-
-	/*
-	MPE_Init_log() & MPE_Finish_log() are NOT needed when
-	liblmpe.a is linked with this program.  In that case,
-	MPI_Init() would have called MPE_Init_log() already.
-	*/
+    MPI_Init(&argc, &argv);
+    std::string str, str2;
+    if (argv != NULL)
+    {
+        str = static_cast<std::string>(argv[0]);
+        if (argc > 1)
+        {
+            str2 = static_cast<std::string>(argv[1]);
+            try
+            {
+                multipleLevel(str2);
+            }
+            catch (const std::exception& e)
+            {
+                //MPI_Abort(MPI_COMM_WORLD, -1);
+            }
+            catch (...)
+            {
+                std::cout << "unknown exeption" << std::endl;
+            }
+        }
+        else
+        {
+            try
+            {
+                //multipleLevel("E:/temp/Basel2019/config/configBasel.txt"); //Tesla03
+                //multipleLevel("C:/Users/schoen/Desktop/bin/ReleaseBasel/configBasel.txt"); //Baumbart 1
+                multipleLevel("F:/Basel2019/configBasel.txt"); //Baumbart 2
+                //multipleLevel("F:/Work/Computations/gridGenerator/inp/configTest.txt");
+                //multipleLevel("C:/Users/hiwi/Desktop/configBasel.txt"); //Gamling
+            }
+            catch (const std::exception& e)
+            {
+                std::cout << e.what() << std::flush;
+                //MPI_Abort(MPI_COMM_WORLD, -1);
+            }
+            catch (const std::bad_alloc e)
+            {
+                std::cout << e.what() << std::flush;
+                //MPI_Abort(MPI_COMM_WORLD, -1);
+            }
+            catch (...)
+            {
+                std::cout << "unknown exeption" << std::endl;
+            }
+
+            std::cout << "\nConfiguration file must be set!: lbmgm <config file>" << std::endl << std::flush;
+            //MPI_Abort(MPI_COMM_WORLD, -1);
+        }
+    }
+
+
+    /*
+    MPE_Init_log() & MPE_Finish_log() are NOT needed when
+    liblmpe.a is linked with this program.  In that case,
+    MPI_Init() would have called MPE_Init_log() already.
+    */
 #if defined( MPI_LOGGING )
-	MPE_Init_log();
+    MPE_Init_log();
 #endif
 
 #if defined( MPI_LOGGING )
-	if (argv != NULL)
-		MPE_Finish_log(argv[0]);
-	if (str != "")
-		MPE_Finish_log(str.c_str());
-	else
-		MPE_Finish_log("TestLog");
+    if (argv != NULL)
+        MPE_Finish_log(argv[0]);
+    if (str != "")
+        MPE_Finish_log(str.c_str());
+    else
+        MPE_Finish_log("TestLog");
 #endif
 
-	MPI_Finalize();
-	return 0;
+    MPI_Finalize();
+    return 0;
 }
diff --git a/apps/gpu/BaselMultiGPU/main.cpp b/apps/gpu/BaselMultiGPU/main.cpp
index 794d9c1ee5ef502997a1bc82709cdca277e8b61b..31988ab6068ea46e94cc248c882c65dc44535e73 100644
--- a/apps/gpu/BaselMultiGPU/main.cpp
+++ b/apps/gpu/BaselMultiGPU/main.cpp
@@ -4,7 +4,7 @@
 
 #include <mpi.h>
 #if defined( MPI_LOGGING )
-	#include <mpe.h>
+    #include <mpe.h>
 #endif
 
 #include <string>
@@ -68,24 +68,24 @@ void multipleLevel(const std::string& configPath)
 
     auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory);
 
-	SPtr<ConfigFileReader> configReader = ConfigFileReader::getNewInstance();
-	SPtr<ConfigData> configData = configReader->readConfigFile(configPath);
-	Communicator* comm = Communicator::getInstanz();
+    SPtr<ConfigFileReader> configReader = ConfigFileReader::getNewInstance();
+    SPtr<ConfigData> configData = configReader->readConfigFile(configPath);
+    Communicator* comm = Communicator::getInstanz();
 
     SPtr<Parameter> para = Parameter::make(configData, comm);
     BoundaryConditionFactory bcFactory = BoundaryConditionFactory();
-	SPtr<CudaMemoryManager> cudaMemManager = CudaMemoryManager::make(para);
-	SPtr<GridProvider> gridGenerator;
+    SPtr<CudaMemoryManager> cudaMemManager = CudaMemoryManager::make(para);
+    SPtr<GridProvider> gridGenerator;
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	const uint generatePart = comm->getPID();
+    const uint generatePart = comm->getPID();
 
     std::ofstream logFile2;
-	std::string gridpath = "/work/marschoe/Basel4GPU/";
-	logFile2.open(gridpath + std::to_string(generatePart) + "/gridGeneratorLog.txt");//Phoenix
-	//logFile2.open(std::string("M:/Basel2019/grids4/") + std::to_string(generatePart) + "/gridGeneratorLog.txt");//Baumbart
+    std::string gridpath = "/work/marschoe/Basel4GPU/";
+    logFile2.open(gridpath + std::to_string(generatePart) + "/gridGeneratorLog.txt");//Phoenix
+    //logFile2.open(std::string("M:/Basel2019/grids4/") + std::to_string(generatePart) + "/gridGeneratorLog.txt");//Baumbart
 
     bool useGridGenerator = false;
 
@@ -95,62 +95,62 @@ void multipleLevel(const std::string& configPath)
 
         SPtr<TriangularMesh> BaselSTL;
 
-		if (generatePart == 0)
-			BaselSTL = std::make_shared<TriangularMesh>("/work/marschoe/Basel4GPU/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl"); //Phoenix
-			//BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl"); //Baumbart
-		if (generatePart == 1)
-			BaselSTL = std::make_shared<TriangularMesh>("/work/marschoe/Basel4GPU/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_X.stl"); //Phoenix
-			//BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_X.stl"); //Baumbart
-		if (generatePart == 2)
-			BaselSTL = std::make_shared<TriangularMesh>("/work/marschoe/Basel4GPU/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_X_Y.stl"); //Phoenix
-			//BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_X_Y.stl"); //Baumbart
-		if (generatePart == 3)
-			BaselSTL = std::make_shared<TriangularMesh>("/work/marschoe/Basel4GPU/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_Y.stl"); //Phoenix
-			//BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_Y.stl"); //Baumbart
-
-		real lengthInXDirection = 512.0;
-		real lengthInYDirection = 512.0;
-		real lengthInXDirectionOverlap = 520.0;
-		real lengthInYDirectionOverlap = 520.0;
-		real centerInX;
-		real centerInY;
-
-		if (generatePart == 0){	centerInX =    0.0;	centerInY =   0.0;}
-		if (generatePart == 1){	centerInX = -512.0;	centerInY =   0.0;}
-		if (generatePart == 2){	centerInX = -512.0;	centerInY = 512.0;}
-		if (generatePart == 3){	centerInX =    0.0;	centerInY = 512.0;}
-
-		gridBuilder->addCoarseGrid( (centerInX - lengthInXDirectionOverlap * 0.5), (centerInY - lengthInYDirectionOverlap * 0.5), -8.0,
-									(centerInX + lengthInXDirectionOverlap * 0.5), (centerInY + lengthInYDirectionOverlap * 0.5),  160.0, dx);
+        if (generatePart == 0)
+            BaselSTL = std::make_shared<TriangularMesh>("/work/marschoe/Basel4GPU/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl"); //Phoenix
+            //BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl"); //Baumbart
+        if (generatePart == 1)
+            BaselSTL = std::make_shared<TriangularMesh>("/work/marschoe/Basel4GPU/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_X.stl"); //Phoenix
+            //BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_X.stl"); //Baumbart
+        if (generatePart == 2)
+            BaselSTL = std::make_shared<TriangularMesh>("/work/marschoe/Basel4GPU/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_X_Y.stl"); //Phoenix
+            //BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_X_Y.stl"); //Baumbart
+        if (generatePart == 3)
+            BaselSTL = std::make_shared<TriangularMesh>("/work/marschoe/Basel4GPU/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_Y.stl"); //Phoenix
+            //BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND_MIRROR_Y.stl"); //Baumbart
+
+        real lengthInXDirection = 512.0;
+        real lengthInYDirection = 512.0;
+        real lengthInXDirectionOverlap = 520.0;
+        real lengthInYDirectionOverlap = 520.0;
+        real centerInX;
+        real centerInY;
+
+        if (generatePart == 0){    centerInX =    0.0;    centerInY =   0.0;}
+        if (generatePart == 1){    centerInX = -512.0;    centerInY =   0.0;}
+        if (generatePart == 2){    centerInX = -512.0;    centerInY = 512.0;}
+        if (generatePart == 3){    centerInX =    0.0;    centerInY = 512.0;}
+
+        gridBuilder->addCoarseGrid( (centerInX - lengthInXDirectionOverlap * 0.5), (centerInY - lengthInYDirectionOverlap * 0.5), -8.0,
+                                    (centerInX + lengthInXDirectionOverlap * 0.5), (centerInY + lengthInYDirectionOverlap * 0.5),  160.0, dx);
 
         gridBuilder->addGeometry(BaselSTL);
 
-		gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>( (centerInX - lengthInXDirection * 0.5), (centerInX + lengthInXDirection * 0.5),
-																	(centerInY - lengthInYDirection * 0.5), (centerInY + lengthInYDirection * 0.5),
-																	-200.0, 200.0));
+        gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>( (centerInX - lengthInXDirection * 0.5), (centerInX + lengthInXDirection * 0.5),
+                                                                    (centerInY - lengthInYDirection * 0.5), (centerInY + lengthInYDirection * 0.5),
+                                                                    -200.0, 200.0));
 
-		gridBuilder->setPeriodicBoundaryCondition(false, false, false);
+        gridBuilder->setPeriodicBoundaryCondition(false, false, false);
 
         gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
 
-		//////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////
 
-		uint xNeighborRank, yNeighborRank;
-		if (generatePart == 0) { xNeighborRank = 1; yNeighborRank = 3; }
-		if (generatePart == 1) { xNeighborRank = 0; yNeighborRank = 2; }
-		if (generatePart == 2) { xNeighborRank = 3; yNeighborRank = 1; }
-		if (generatePart == 3) { xNeighborRank = 2; yNeighborRank = 0; }
+        uint xNeighborRank, yNeighborRank;
+        if (generatePart == 0) { xNeighborRank = 1; yNeighborRank = 3; }
+        if (generatePart == 1) { xNeighborRank = 0; yNeighborRank = 2; }
+        if (generatePart == 2) { xNeighborRank = 3; yNeighborRank = 1; }
+        if (generatePart == 3) { xNeighborRank = 2; yNeighborRank = 0; }
 
-		gridBuilder->findCommunicationIndices(CommunicationDirections::PX);
-		gridBuilder->setCommunicationProcess (CommunicationDirections::PX, xNeighborRank);
-		gridBuilder->findCommunicationIndices(CommunicationDirections::MX);
-		gridBuilder->setCommunicationProcess (CommunicationDirections::MX, xNeighborRank);
-		gridBuilder->findCommunicationIndices(CommunicationDirections::PY);
-		gridBuilder->setCommunicationProcess (CommunicationDirections::PY, yNeighborRank);
-		gridBuilder->findCommunicationIndices(CommunicationDirections::MY);
-		gridBuilder->setCommunicationProcess (CommunicationDirections::MY, yNeighborRank);
+        gridBuilder->findCommunicationIndices(CommunicationDirections::PX);
+        gridBuilder->setCommunicationProcess (CommunicationDirections::PX, xNeighborRank);
+        gridBuilder->findCommunicationIndices(CommunicationDirections::MX);
+        gridBuilder->setCommunicationProcess (CommunicationDirections::MX, xNeighborRank);
+        gridBuilder->findCommunicationIndices(CommunicationDirections::PY);
+        gridBuilder->setCommunicationProcess (CommunicationDirections::PY, yNeighborRank);
+        gridBuilder->findCommunicationIndices(CommunicationDirections::MY);
+        gridBuilder->setCommunicationProcess (CommunicationDirections::MY, yNeighborRank);
 
-		//////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////
 
         gridBuilder->setVelocityBoundaryCondition(SideType::PZ, vx , 0.0, 0.0);
         gridBuilder->setVelocityBoundaryCondition(SideType::MZ, vx , 0.0, 0.0);
@@ -159,45 +159,45 @@ void multipleLevel(const std::string& configPath)
 
         bcFactory.setVelocityBoundaryCondition(BoundaryConditionFactory::VelocityBC::VelocityCompressible);
 
-		if (generatePart == 0 || generatePart == 3) gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0);
-		if (generatePart == 1 || generatePart == 2)	gridBuilder->setPressureBoundaryCondition(SideType::MX, 0.0);
-		if (generatePart == 2 || generatePart == 3) gridBuilder->setPressureBoundaryCondition(SideType::PY, 0.0);
-		if (generatePart == 0 || generatePart == 1) gridBuilder->setPressureBoundaryCondition(SideType::MY, 0.0);
-
-		//////////////////////////////////////////////////////////////////////////
-
-		gridBuilder->writeGridsToVtk(gridpath + std::to_string(generatePart) + "/Basel_Grid");
-		SimulationFileWriter::write(gridpath + std::to_string(generatePart )+ "/", gridBuilder, FILEFORMAT::BINARY);
-
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		if (generatePart == 0) {
-			StreetPointFinder finder;
-			finder.readStreets("/work/marschoe/Basel4GPU/source/git/targets/apps/LBM/streetTest/resources/ExampleStreets.txt");//phoenix
-			//finder.readStreets("C:/Users/schoen/Desktop/git/MS2/git/targets/apps/LBM/streetTest/resources/ExampleStreets.txt");//Baumbart
-			//finder.writeVTK("M:/Basel2019/results/ExampleStreets.vtk");
-			finder.findIndicesLB(gridBuilder->getGrid(0), 7.0);
-			//finder.writeConnectionVTK("M:/Basel2019/grids/BaselUniMergedX/Basel_Grid/ExampleStreetsConnection.vtk", gridBuilder->getGrid(0));
-			finder.writeSimulationFile(gridpath + std::to_string(generatePart) + "/", 1.0, gridBuilder->getNumberOfLevels(), 0);
-		}
-		else
-		{
-			StreetPointFinder finder;
-			finder.writeSimulationFile(gridpath + std::to_string(generatePart) + "/", 1.0, gridBuilder->getNumberOfLevels(), 0);
-		}
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-		return;
-
-		gridGenerator = GridProvider::makeGridGenerator(gridBuilder, para, cudaMemManager, communicator);
-		//gridGenerator = GridGenerator::make(gridBuilder, para);
+        if (generatePart == 0 || generatePart == 3) gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0);
+        if (generatePart == 1 || generatePart == 2)    gridBuilder->setPressureBoundaryCondition(SideType::MX, 0.0);
+        if (generatePart == 2 || generatePart == 3) gridBuilder->setPressureBoundaryCondition(SideType::PY, 0.0);
+        if (generatePart == 0 || generatePart == 1) gridBuilder->setPressureBoundaryCondition(SideType::MY, 0.0);
+
+        //////////////////////////////////////////////////////////////////////////
+
+        gridBuilder->writeGridsToVtk(gridpath + std::to_string(generatePart) + "/Basel_Grid");
+        SimulationFileWriter::write(gridpath + std::to_string(generatePart )+ "/", gridBuilder, FILEFORMAT::BINARY);
+
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        if (generatePart == 0) {
+            StreetPointFinder finder;
+            finder.readStreets("/work/marschoe/Basel4GPU/source/git/targets/apps/LBM/streetTest/resources/ExampleStreets.txt");//phoenix
+            //finder.readStreets("C:/Users/schoen/Desktop/git/MS2/git/targets/apps/LBM/streetTest/resources/ExampleStreets.txt");//Baumbart
+            //finder.writeVTK("M:/Basel2019/results/ExampleStreets.vtk");
+            finder.findIndicesLB(gridBuilder->getGrid(0), 7.0);
+            //finder.writeConnectionVTK("M:/Basel2019/grids/BaselUniMergedX/Basel_Grid/ExampleStreetsConnection.vtk", gridBuilder->getGrid(0));
+            finder.writeSimulationFile(gridpath + std::to_string(generatePart) + "/", 1.0, gridBuilder->getNumberOfLevels(), 0);
+        }
+        else
+        {
+            StreetPointFinder finder;
+            finder.writeSimulationFile(gridpath + std::to_string(generatePart) + "/", 1.0, gridBuilder->getNumberOfLevels(), 0);
+        }
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+        return;
+
+        gridGenerator = GridProvider::makeGridGenerator(gridBuilder, para, cudaMemManager, communicator);
+        //gridGenerator = GridGenerator::make(gridBuilder, para);
 
     }
     else
     {
-		gridGenerator = GridProvider::makeGridReader(FILEFORMAT::BINARY, para, cudaMemManager);
-		//gridGenerator = GridReader::make(FileFormat::BINARY, para);
-		//gridGenerator = GridReader::make(FileFormat::ASCII, para);
-	}
+        gridGenerator = GridProvider::makeGridReader(FILEFORMAT::BINARY, para, cudaMemManager);
+        //gridGenerator = GridReader::make(FileFormat::BINARY, para);
+        //gridGenerator = GridReader::make(FileFormat::ASCII, para);
+    }
 
     logFile2.close();
 
@@ -219,7 +219,7 @@ void multipleLevel(const std::string& configPath)
     SPtr<FileWriter> fileWriter = SPtr<FileWriter>(new FileWriter());
     sim.init(para, gridGenerator, fileWriter, cudaMemManager);
     sim.run();
-	sim.free();
+    sim.free();
 }
 
 
@@ -250,10 +250,10 @@ int main( int argc, char* argv[])
         {
             try
             {
-				//multipleLevel("E:/temp/Basel2019/config/configBasel.txt"); //Tesla03
-				//multipleLevel("C:/Users/schoen/Desktop/bin/ReleaseBasel/configBasel.txt"); //Baumbart
-				multipleLevel("/work/marschoe/Basel4GPU/source/configBasel.txt"); //Phoenix
-				//multipleLevel("F:/Work/Computations/gridGenerator/inp/configTest.txt");
+                //multipleLevel("E:/temp/Basel2019/config/configBasel.txt"); //Tesla03
+                //multipleLevel("C:/Users/schoen/Desktop/bin/ReleaseBasel/configBasel.txt"); //Baumbart
+                multipleLevel("/work/marschoe/Basel4GPU/source/configBasel.txt"); //Phoenix
+                //multipleLevel("F:/Work/Computations/gridGenerator/inp/configTest.txt");
             }
             catch (const std::exception& e)
             {
diff --git a/apps/gpu/BaselNU/main.cpp b/apps/gpu/BaselNU/main.cpp
index 991f5b3fa639f90562b5d220b27aedc21a71bf5a..48092b4f3aecce458989f3a158d889a7911c01d9 100644
--- a/apps/gpu/BaselNU/main.cpp
+++ b/apps/gpu/BaselNU/main.cpp
@@ -57,217 +57,217 @@
 
 void multipleLevel(const std::string& configPath)
 {
-	auto gridFactory = GridFactory::make();
-	gridFactory->setGridStrategy(Device::CPU);
-	//gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::RAYCASTING);
-	gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT);
-	//gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_UNDER_TRIANGLE);
+    auto gridFactory = GridFactory::make();
+    gridFactory->setGridStrategy(Device::CPU);
+    //gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::RAYCASTING);
+    gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_IN_OBJECT);
+    //gridFactory->setTriangularMeshDiscretizationMethod(TriangularMeshDiscretizationMethod::POINT_UNDER_TRIANGLE);
 
-	auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory);
+    auto gridBuilder = MultipleGridBuilder::makeShared(gridFactory);
 
-	SPtr<ConfigFileReader> configReader = ConfigFileReader::getNewInstance();
-	SPtr<ConfigData> configData = configReader->readConfigFile(configPath);
-	Communicator* comm = Communicator::getInstanz();
+    SPtr<ConfigFileReader> configReader = ConfigFileReader::getNewInstance();
+    SPtr<ConfigData> configData = configReader->readConfigFile(configPath);
+    Communicator* comm = Communicator::getInstanz();
 
-	SPtr<Parameter> para = Parameter::make(configData, comm);
-	BoundaryConditionFactory bcFactory = BoundaryConditionFactory();
-	SPtr<CudaMemoryManager> cudaMemManager = CudaMemoryManager::make(para);
-	SPtr<GridProvider> gridGenerator;
+    SPtr<Parameter> para = Parameter::make(configData, comm);
+    BoundaryConditionFactory bcFactory = BoundaryConditionFactory();
+    SPtr<CudaMemoryManager> cudaMemManager = CudaMemoryManager::make(para);
+    SPtr<GridProvider> gridGenerator;
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	bool useGridGenerator = false;
+    bool useGridGenerator = false;
 
-	if (useGridGenerator) {
+    if (useGridGenerator) {
 
-		real dx = 4.0;
-		real vx = 0.05;
+        real dx = 4.0;
+        real vx = 0.05;
 
-		auto BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl");
+        auto BaselSTL = std::make_shared<TriangularMesh>("M:/Basel2019/stl/BaselUrbanProfile_066_deg_bridge_3_All_CLOSED_WIDE_GROUND.stl");
 
-		gridBuilder->addCoarseGrid(-256.0, -256.0, -8.0,
-			                        256.0, 256.0, 160.0, dx);
+        gridBuilder->addCoarseGrid(-256.0, -256.0, -8.0,
+                                    256.0, 256.0, 160.0, dx);
 
-		gridBuilder->addGeometry(BaselSTL);
+        gridBuilder->addGeometry(BaselSTL);
 
-		//////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////
 
-		Cuboid* refBoxMX = std::make_shared<Cuboid>( -300, -300, - 20,
-			                                         -254,  300,  200 );
-		Cuboid* refBoxPX = std::make_shared<Cuboid>( 254, -300, - 20, 
-			                                         300,  300,  200 );
-		Cuboid* refBoxMY = std::make_shared<Cuboid>( -300, -300, - 20, 
-			                                          300, -254,  200 );
-		Cuboid* refBoxPY = std::make_shared<Cuboid>( -300,  254, - 20, 
-			                                          300,  300,  200 );
+        Cuboid* refBoxMX = std::make_shared<Cuboid>( -300, -300, - 20,
+                                                     -254,  300,  200 );
+        Cuboid* refBoxPX = std::make_shared<Cuboid>( 254, -300, - 20, 
+                                                     300,  300,  200 );
+        Cuboid* refBoxMY = std::make_shared<Cuboid>( -300, -300, - 20, 
+                                                      300, -254,  200 );
+        Cuboid* refBoxPY = std::make_shared<Cuboid>( -300,  254, - 20, 
+                                                      300,  300,  200 );
 
-		Conglomerate* refRegion = new Conglomerate();
-		
-		refRegion->add(refBoxMX);
-		refRegion->add(refBoxPX);
-		refRegion->add(refBoxMY);
-		refRegion->add(refBoxPY);
+        Conglomerate* refRegion = new Conglomerate();
+        
+        refRegion->add(refBoxMX);
+        refRegion->add(refBoxPX);
+        refRegion->add(refBoxMY);
+        refRegion->add(refBoxPY);
 
-		refRegion->add(BaselSTL);
+        refRegion->add(BaselSTL);
 
-		gridBuilder->setNumberOfLayers(12, 8);
+        gridBuilder->setNumberOfLayers(12, 8);
 
-		gridBuilder->addGrid(refRegion, 2);
+        gridBuilder->addGrid(refRegion, 2);
 
-		//////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////
 
-		gridBuilder->setPeriodicBoundaryCondition(true, true, false);
+        gridBuilder->setPeriodicBoundaryCondition(true, true, false);
 
-		gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
+        gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
 
-		//////////////////////////////////////////////////////////////////////////
+        //////////////////////////////////////////////////////////////////////////
 
-		gridBuilder->setVelocityBoundaryCondition(SideType::PZ, vx, 0.0, 0.0);
-		gridBuilder->setVelocityBoundaryCondition(SideType::MZ, vx, 0.0, 0.0);
+        gridBuilder->setVelocityBoundaryCondition(SideType::PZ, vx, 0.0, 0.0);
+        gridBuilder->setVelocityBoundaryCondition(SideType::MZ, vx, 0.0, 0.0);
 
-		gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0);
+        gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0);
 
-		//no forcing
-		// gridBuilder->setPressureBoundaryCondition(SideType::PY, 0.0);
-		// gridBuilder->setPressureBoundaryCondition(SideType::MY, 0.0);
+        //no forcing
+        // gridBuilder->setPressureBoundaryCondition(SideType::PY, 0.0);
+        // gridBuilder->setPressureBoundaryCondition(SideType::MY, 0.0);
 
-		// gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0);
-		// gridBuilder->setPressureBoundaryCondition(SideType::MX, 0.0);
+        // gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0);
+        // gridBuilder->setPressureBoundaryCondition(SideType::MX, 0.0);
 
-		bcFactory.setVelocityBoundaryCondition(BoundaryConditionFactory::VelocityBC::VelocityCompressible);
+        bcFactory.setVelocityBoundaryCondition(BoundaryConditionFactory::VelocityBC::VelocityCompressible);
 
-		//////////////////////////////////////////////////////////////////////////
-		//Merged for Wind in X Direction
-		gridBuilder->writeGridsToVtk("F:/Basel2019NU/grids/BaselUniMergedXAllStreets/Basel_Grid");
-		SimulationFileWriter::write("F:/Basel2019NU/grids/BaselUniMergedXAllStreets/", gridBuilder, FILEFORMAT::BINARY);
+        //////////////////////////////////////////////////////////////////////////
+        //Merged for Wind in X Direction
+        gridBuilder->writeGridsToVtk("F:/Basel2019NU/grids/BaselUniMergedXAllStreets/Basel_Grid");
+        SimulationFileWriter::write("F:/Basel2019NU/grids/BaselUniMergedXAllStreets/", gridBuilder, FILEFORMAT::BINARY);
 
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-		StreetPointFinder finder;
-		uint streetLevel = 2;
+        StreetPointFinder finder;
+        uint streetLevel = 2;
 
-		finder.readStreets("C:/Users/schoen/Desktop/git/MS2/git/targets/apps/LBM/Basel/resources/Streets.txt");
+        finder.readStreets("C:/Users/schoen/Desktop/git/MS2/git/targets/apps/LBM/Basel/resources/Streets.txt");
 
-		finder.writeVTK("F:/Basel2019NU/results/ExampleStreets.vtk");
+        finder.writeVTK("F:/Basel2019NU/results/ExampleStreets.vtk");
 
-		finder.findIndicesLB(gridBuilder->getGrid(streetLevel), 7.0);
+        finder.findIndicesLB(gridBuilder->getGrid(streetLevel), 7.0);
 
-		//Merged for Wind in X Direction
-		finder.writeConnectionVTK("F:/Basel2019NU/grids/BaselUniMergedXAllStreets/Basel_Grid/ExampleStreetsConnection.vtk", gridBuilder->getGrid(streetLevel));
-		finder.writeSimulationFile("F:/Basel2019NU/grids/BaselUniMergedXAllStreets/", 1.0, gridBuilder->getNumberOfLevels(), streetLevel);
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //Merged for Wind in X Direction
+        finder.writeConnectionVTK("F:/Basel2019NU/grids/BaselUniMergedXAllStreets/Basel_Grid/ExampleStreetsConnection.vtk", gridBuilder->getGrid(streetLevel));
+        finder.writeSimulationFile("F:/Basel2019NU/grids/BaselUniMergedXAllStreets/", 1.0, gridBuilder->getNumberOfLevels(), streetLevel);
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-		return;
+        return;
 
-		gridGenerator = GridProvider::makeGridGenerator(gridBuilder, para, cudaMemManager, communicator);
-		//gridGenerator = GridGenerator::make(gridBuilder, para);
+        gridGenerator = GridProvider::makeGridGenerator(gridBuilder, para, cudaMemManager, communicator);
+        //gridGenerator = GridGenerator::make(gridBuilder, para);
 
-	}
-	else
-	{
-		gridGenerator = GridProvider::makeGridReader(FILEFORMAT::BINARY, para, cudaMemManager);
-		//gridGenerator = GridReader::make(FileFormat::BINARY, para);
-		//gridGenerator = GridReader::make(FileFormat::ASCII, para);
-	}
+    }
+    else
+    {
+        gridGenerator = GridProvider::makeGridReader(FILEFORMAT::BINARY, para, cudaMemManager);
+        //gridGenerator = GridReader::make(FileFormat::BINARY, para);
+        //gridGenerator = GridReader::make(FileFormat::ASCII, para);
+    }
 
-	logFile.close();
+    logFile.close();
 
-	//return;
+    //return;
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
-	//std::ifstream stream;
-	//stream.open(configPath.c_str(), std::ios::in);
-	//if (stream.fail())
-	//    throw std::runtime_error("can not open config file!");
+    //std::ifstream stream;
+    //stream.open(configPath.c_str(), std::ios::in);
+    //if (stream.fail())
+    //    throw std::runtime_error("can not open config file!");
 
-	//UPtr<input::Input> input = input::Input::makeInput(stream, "config");
+    //UPtr<input::Input> input = input::Input::makeInput(stream, "config");
 
-	Simulation sim;
-	SPtr<FileWriter> fileWriter = SPtr<FileWriter>(new FileWriter());
-	sim.init(para, gridGenerator, fileWriter, cudaMemManager);
-	sim.run();
-	sim.free();
+    Simulation sim;
+    SPtr<FileWriter> fileWriter = SPtr<FileWriter>(new FileWriter());
+    sim.init(para, gridGenerator, fileWriter, cudaMemManager);
+    sim.run();
+    sim.free();
 }
 
 
 int main(int argc, char* argv[])
 {
-	MPI_Init(&argc, &argv);
-	std::string str, str2;
-	if (argv != NULL)
-	{
-		str = static_cast<std::string>(argv[0]);
-		if (argc > 1)
-		{
-			str2 = static_cast<std::string>(argv[1]);
-			try
-			{
-				multipleLevel(str2);
-			}
-			catch (const std::exception& e)
-			{
-				//MPI_Abort(MPI_COMM_WORLD, -1);
-			}
-			catch (...)
-			{
-				std::cout << "unknown exeption" << std::endl;
-			}
-		}
-		else
-		{
-			try
-			{
-				//multipleLevel("E:/temp/Basel2019/config/configBasel.txt"); //Tesla03
-				//multipleLevel("C:/Users/schoen/Desktop/bin/ReleaseBasel/configBasel.txt"); //Baumbart 1
-				multipleLevel("F:/Basel2019NU/configBasel.txt"); //Baumbart 2
-				//multipleLevel("F:/Work/Computations/gridGenerator/inp/configTest.txt");
-				//multipleLevel("C:/Users/hiwi/Desktop/configBasel.txt"); //Gamling
-			}
-			catch (const std::exception& e)
-			{
-				std::cout << e.what() << std::flush;
-				//MPI_Abort(MPI_COMM_WORLD, -1);
-			}
-			catch (const std::bad_alloc e)
-			{
-				std::cout << e.what() << std::flush;
-				//MPI_Abort(MPI_COMM_WORLD, -1);
-			}
-			catch (...)
-			{
-				std::cout << "unknown exeption" << std::endl;
-			}
-
-			std::cout << "\nConfiguration file must be set!: lbmgm <config file>" << std::endl << std::flush;
-			//MPI_Abort(MPI_COMM_WORLD, -1);
-		}
-	}
-
-
-	/*
-	MPE_Init_log() & MPE_Finish_log() are NOT needed when
-	liblmpe.a is linked with this program.  In that case,
-	MPI_Init() would have called MPE_Init_log() already.
-	*/
+    MPI_Init(&argc, &argv);
+    std::string str, str2;
+    if (argv != NULL)
+    {
+        str = static_cast<std::string>(argv[0]);
+        if (argc > 1)
+        {
+            str2 = static_cast<std::string>(argv[1]);
+            try
+            {
+                multipleLevel(str2);
+            }
+            catch (const std::exception& e)
+            {
+                //MPI_Abort(MPI_COMM_WORLD, -1);
+            }
+            catch (...)
+            {
+                std::cout << "unknown exeption" << std::endl;
+            }
+        }
+        else
+        {
+            try
+            {
+                //multipleLevel("E:/temp/Basel2019/config/configBasel.txt"); //Tesla03
+                //multipleLevel("C:/Users/schoen/Desktop/bin/ReleaseBasel/configBasel.txt"); //Baumbart 1
+                multipleLevel("F:/Basel2019NU/configBasel.txt"); //Baumbart 2
+                //multipleLevel("F:/Work/Computations/gridGenerator/inp/configTest.txt");
+                //multipleLevel("C:/Users/hiwi/Desktop/configBasel.txt"); //Gamling
+            }
+            catch (const std::exception& e)
+            {
+                std::cout << e.what() << std::flush;
+                //MPI_Abort(MPI_COMM_WORLD, -1);
+            }
+            catch (const std::bad_alloc e)
+            {
+                std::cout << e.what() << std::flush;
+                //MPI_Abort(MPI_COMM_WORLD, -1);
+            }
+            catch (...)
+            {
+                std::cout << "unknown exeption" << std::endl;
+            }
+
+            std::cout << "\nConfiguration file must be set!: lbmgm <config file>" << std::endl << std::flush;
+            //MPI_Abort(MPI_COMM_WORLD, -1);
+        }
+    }
+
+
+    /*
+    MPE_Init_log() & MPE_Finish_log() are NOT needed when
+    liblmpe.a is linked with this program.  In that case,
+    MPI_Init() would have called MPE_Init_log() already.
+    */
 #if defined( MPI_LOGGING )
-	MPE_Init_log();
+    MPE_Init_log();
 #endif
 
 #if defined( MPI_LOGGING )
-	if (argv != NULL)
-		MPE_Finish_log(argv[0]);
-	if (str != "")
-		MPE_Finish_log(str.c_str());
-	else
-		MPE_Finish_log("TestLog");
+    if (argv != NULL)
+        MPE_Finish_log(argv[0]);
+    if (str != "")
+        MPE_Finish_log(str.c_str());
+    else
+        MPE_Finish_log("TestLog");
 #endif
 
-	MPI_Finalize();
-	return 0;
+    MPI_Finalize();
+    return 0;
 }
diff --git a/apps/gpu/BoundaryLayer/BoundaryLayer.cpp b/apps/gpu/BoundaryLayer/BoundaryLayer.cpp
index ac2dbf785764b529653d122b9edcad31ca08be6c..199b28727331782d955b7f17e904977381504a24 100644
--- a/apps/gpu/BoundaryLayer/BoundaryLayer.cpp
+++ b/apps/gpu/BoundaryLayer/BoundaryLayer.cpp
@@ -130,6 +130,7 @@ void multipleLevel(const std::string& configPath)
 
     const real L_x = 6*H;
     const real L_y = 4*H;
+
     const real L_z = H;
 
     const real z0  = config.getValue("z0", 0.1f); // roughness length in m
@@ -144,6 +145,8 @@ void multipleLevel(const std::string& configPath)
 
     const uint nodes_per_H = config.getValue<uint>("nz", 64);
 
+    const float periodicShift = config.getValue<float>("periodicShift", 0.0f);
+
     const bool writePrecursor = config.getValue("writePrecursor", false);
     bool useDistributions;
     std::string precursorDirectory;
@@ -166,6 +169,8 @@ void multipleLevel(const std::string& configPath)
         useDistributions     = config.getValue<bool>("useDistributions", false);
     }
 
+    const bool useRefinement = config.getValue<bool>("refinement", false);
+
     // all in s
     const float tStartOut   = config.getValue<real>("tStartOut");
     const float tOut        = config.getValue<real>("tOut");
@@ -262,7 +267,9 @@ void multipleLevel(const std::string& configPath)
 
     gridBuilder->addCoarseGrid( xGridMin,  0.0,  0.0,
                                 xGridMax,  L_y,  L_z, dx);
-    if(false)// Add refinement
+
+
+    if(useRefinement)// Add refinement
     {
         gridBuilder->setNumberOfLayers(4,0);
         real xMaxRefinement = readPrecursor? xGridMax-H: xGridMax;   //Stop refinement some distance before outlet if domain ist not periodic
@@ -282,9 +289,14 @@ void multipleLevel(const std::string& configPath)
         gridBuilder->setPeriodicBoundaryCondition(!readPrecursor, true, false);
     }
 
-	gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
+    if(!readPrecursor)
+    {
+        gridBuilder->setPeriodicShiftOnXBoundaryInYDirection(periodicShift);
+    }
+
+    gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
 
-    std::cout << "nProcs: "<< nProcs << "Proc: " << procID << " isFirstSubDomain: " << isFirstSubDomain << " isLastSubDomain: " << isLastSubDomain << " isMidSubDomain: " << isMidSubDomain << std::endl;
+    VF_LOG_INFO("Number of Processes {}, Process ID {} is first subdomain {}, is last subdomain {}, is mid subdomain {}", nProcs, procID, isFirstSubDomain, isLastSubDomain, isMidSubDomain);
     
     if(nProcs > 1){
         if (isFirstSubDomain || isMidSubDomain) {
@@ -293,7 +305,7 @@ void multipleLevel(const std::string& configPath)
         }
 
         if (isLastSubDomain || isMidSubDomain) {
-            gridBuilder->findCommunicationIndices(CommunicationDirections::MX);
+            gridBuilder->findCommunicationIndices(CommunicationDirections::MX, true);
             gridBuilder->setCommunicationProcess(CommunicationDirections::MX, procID-1);
         }
 
@@ -307,17 +319,16 @@ void multipleLevel(const std::string& configPath)
             gridBuilder->setCommunicationProcess(CommunicationDirections::PX, 0);
         }
     }
-    uint samplingOffset = 2;
+
     
-    std::cout << " precursorDirectory " << precursorDirectory << std::endl;
     
     if(readPrecursor)
     {
+        VF_LOG_INFO("Precursor directory {}", precursorDirectory);
         if(isFirstSubDomain || nProcs == 1)
         {   
             auto precursor = createFileCollection(precursorDirectory + "/precursor", FileType::VTK);
             gridBuilder->setPrecursorBoundaryCondition(SideType::MX, precursor, timestepsBetweenReadsPrecursor);
-            // gridBuilder->setVelocityBoundaryCondition(SideType::MX, velocityLB, 0.0, 0.0);
         }
 
         if(isLastSubDomain || nProcs == 1)
@@ -326,6 +337,7 @@ void multipleLevel(const std::string& configPath)
         }     
     } 
 
+    uint samplingOffset = 2;
     gridBuilder->setStressBoundaryCondition(SideType::MZ,
                                             0.0, 0.0, 1.0,              // wall normals
                                             samplingOffset, z0, dx);    // wall model settinng
@@ -343,9 +355,8 @@ void multipleLevel(const std::string& configPath)
     if(readPrecursor)
     {
         para->setInitialCondition([&](real coordX, real coordY, real coordZ, real &rho, real &vx, real &vy, real &vz) {
-        rho = (real)0.0;
-        vx  = rho = c0o1;
-        vx  = u_star/c4o10*(u_star/c4o10 * log(coordZ/z0+c1o1)) * dt/dx; 
+        rho = c0o1;
+        vx  = (u_star/c4o10 * log(coordZ/z0+c1o1)) * dt/dx; 
         vy  = c0o1; 
         vz  = c0o1;
         });
@@ -353,10 +364,9 @@ void multipleLevel(const std::string& configPath)
     else
     {
         para->setInitialCondition([&](real coordX, real coordY, real coordZ, real &rho, real &vx, real &vy, real &vz) {
-        rho = (real)0.0;
-        vx  = rho = c0o1;
-        vx  = (u_star/c4o10 * log(coordZ/z0+c1o1) + c2o1*sin(cPi*c16o1*coordX/L_x)*sin(cPi*c8o1*coordZ/H)/(pow(coordZ/H,c2o1)+c1o1)) * dt/dx; 
-        vy  = c2o1*sin(cPi*c16o1*coordX/L_x)*sin(cPi*c8o1*coordZ/H)/(pow(coordZ/H,c2o1)+c1o1) * dt/dx; 
+        rho = c0o1;
+        vx  = (u_star/c4o10 * log(coordZ/z0+c1o1) + c2o1*sin(cPi*c16o1*coordX/L_x)*sin(cPi*c8o1*coordZ/H)/(pow(coordZ/H,c2o1)+c1o1))*(c1o1-0.1f*abs(coordY/L_y-0.5)) * dt/dx; 
+        vy  = c2o1*sin(cPi*c16o1*coordX/L_x)*sin(cPi*c8o1*coordZ/H)/(pow(coordZ/H,c2o1)+c1o1) * dt/dx;
         vz  = c8o1*u_star/c4o10*(sin(cPi*c8o1*coordY/H)*sin(cPi*c8o1*coordZ/H)+sin(cPi*c8o1*coordX/L_x))/(pow(c1o2*L_z-coordZ, c2o1)+c1o1) * dt/dx;
         });
     }
@@ -381,8 +391,16 @@ void multipleLevel(const std::string& configPath)
         para->addProbe( wallModelProbe );
     }
 
+    for(int i=0; i<3; i++)
+    {
+        SPtr<PlaneProbe> planeProbe = SPtr<PlaneProbe>( new PlaneProbe("horizontalProbe"+std::to_string(i), para->getOutputPath(), tStartAveraging/dt, 10, tStartOutProbe/dt, tOutProbe/dt) );
+        planeProbe->setProbePlane(0, 0, i*L_z/4., L_x, L_y, dx);
+        planeProbe->addAllAvailableStatistics();
+        para->addProbe( planeProbe );
+    }
+
     SPtr<PlaneProbe> planeProbe1 = SPtr<PlaneProbe>( new PlaneProbe("planeProbe_1", para->getOutputPath(), tStartAveraging/dt, 10, tStartOutProbe/dt, tOutProbe/dt) );
-    planeProbe1->setProbePlane(100.0, 0.0, 0, dx, L_y, L_z);
+    planeProbe1->setProbePlane(c1o2*L_x, 0.0, 0, dx, L_y, L_z);
     planeProbe1->addAllAvailableStatistics();
     para->addProbe( planeProbe1 );
 
diff --git a/apps/gpu/BoundaryLayer/configBoundaryLayer.txt b/apps/gpu/BoundaryLayer/configBoundaryLayer.txt
index 1b415aa6ce14109c2d93a17ae78463786a7b7608..6f2c05739ea435848d62105650238aa391aff808 100644
--- a/apps/gpu/BoundaryLayer/configBoundaryLayer.txt
+++ b/apps/gpu/BoundaryLayer/configBoundaryLayer.txt
@@ -17,13 +17,17 @@ tStartAveraging     = 0
 tStartTmpAveraging  = 100000
 tAveraging          = 200
 tStartOutProbe      = 0
-tOutProbe           = 1000 
+tOutProbe           = 1000
 ##################################################
 Ma = 0.1
-nz = 96 
+nz = 96
+
+periodicShift = 1100
+refinement = false
 
 bodyForce = true
 TurbulenceModel = QR
+SGSconstant = 0.333333
 QuadricLimiterP = 100000.0
 QuadricLimiterM = 100000.0
 QuadricLimiterD = 100000.0
diff --git a/apps/gpu/MusselOyster/MusselOyster.cpp b/apps/gpu/MusselOyster/MusselOyster.cpp
index 1bcfb60c8ca1a91acda8426b1e52de75fa1a07c3..0c145e5a3c6a498b26b288f614faafec2212df86 100644
--- a/apps/gpu/MusselOyster/MusselOyster.cpp
+++ b/apps/gpu/MusselOyster/MusselOyster.cpp
@@ -139,7 +139,6 @@ void runVirtualFluids(const vf::basics::ConfigurationFile& config)
     // para->setTimestepEnd(10000);
 
     para->setCalcDragLift(false);
-    para->setUseWale(false);
 
     para->setOutputPrefix(simulationName);
     if (para->getOutputPath() == "output/") {para->setOutputPath(outPath);}
diff --git a/apps/gpu/SphereScaling/SphereScaling.cpp b/apps/gpu/SphereScaling/SphereScaling.cpp
index cb557bedc7545ee2ddc1dd4b53efcf34a6dceeb7..a45d494374ec6cd5cf04edefc23b83732ef0fae0 100755
--- a/apps/gpu/SphereScaling/SphereScaling.cpp
+++ b/apps/gpu/SphereScaling/SphereScaling.cpp
@@ -106,7 +106,6 @@ void runVirtualFluids(const vf::basics::ConfigurationFile& config)
     para->setDensityRatio((real)998.0);
 
     para->setCalcDragLift(false);
-    para->setUseWale(false);
 
     para->setOutputPrefix(simulationName);
     if (para->getOutputPath() == "output/") {para->setOutputPath(outPath);}
diff --git a/apps/gpu/TGV_3D/TGV_3D.cpp b/apps/gpu/TGV_3D/TGV_3D.cpp
index 0f467142ed3442cb1322f8d04524a5cff8ab3dfe..088c013b282c282e96f2fb4081b69727c3f44798 100644
--- a/apps/gpu/TGV_3D/TGV_3D.cpp
+++ b/apps/gpu/TGV_3D/TGV_3D.cpp
@@ -116,7 +116,6 @@ uint nx = 64;
 uint gpuIndex = 0;
 
 bool useLimiter = false;
-bool useWale = false;
 
 std::string kernel( "CumulantK17" );
 
@@ -139,7 +138,7 @@ void multipleLevel(const std::string& configPath)
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	const real PI = 3.141592653589793238462643383279;
+    const real PI = 3.141592653589793238462643383279;
 
     real L = nx / ( 2.0 * PI );
 
@@ -152,21 +151,21 @@ void multipleLevel(const std::string& configPath)
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	real dx = 2.0 * PI / real(nx);
+    real dx = 2.0 * PI / real(nx);
     auto gridBuilder = std::make_shared<MultipleGridBuilder>();
 
-	gridBuilder->addCoarseGrid(-PI, -PI, -PI,
-								PI,  PI,  PI, dx);
+    gridBuilder->addCoarseGrid(-PI, -PI, -PI,
+                                PI,  PI,  PI, dx);
 
-	gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
 
-	gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
+    gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	//std::stringstream _path;
+    //std::stringstream _path;
  //   std::stringstream _prefix;
 
  //   //_path << "F:/Work/Computations/TaylorGreenVortex_3D/TGV_LBM/" << nx << "_Re_1.6e4";
@@ -221,7 +220,7 @@ void multipleLevel(const std::string& configPath)
     para->setPrintFiles(true);
 
     para->setTimestepEnd( 40 * lround(L/velocity) );
-	para->setTimestepOut(  5 * lround(L/velocity) );
+    para->setTimestepOut(  5 * lround(L/velocity) );
 
     para->setVelocityLB( velocity );
 
@@ -247,9 +246,6 @@ void multipleLevel(const std::string& configPath)
     if( !useLimiter )
         para->setQuadricLimiters( 1000000.0, 1000000.0, 1000000.0 );
 
-    if( useWale )
-        para->setUseWale( true );
-
     para->setUseInitNeq( true );
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -282,12 +278,12 @@ int main( int argc, char* argv[])
         try
         {
             //////////////////////////////////////////////////////////////////////////
-			std::string targetPath( __FILE__ );
+            std::string targetPath( __FILE__ );
 
 #ifdef _WIN32
-			targetPath = targetPath.substr(0, targetPath.find_last_of('\\') + 1);
+            targetPath = targetPath.substr(0, targetPath.find_last_of('\\') + 1);
 #else
-			targetPath = targetPath.substr(0, targetPath.find_last_of('/') + 1);
+            targetPath = targetPath.substr(0, targetPath.find_last_of('/') + 1);
 #endif
 
             //////////////////////////////////////////////////////////////////////////
@@ -310,13 +306,10 @@ int main( int argc, char* argv[])
             if( cmdOptionExists( argv, argv+argc, "--useLimiter" ) )
                 useLimiter = true;
 
-            if( cmdOptionExists( argv, argv+argc, "--useWale" ) )
-                useWale = true;
-
-			multipleLevel(targetPath + "config.txt");
+            multipleLevel(targetPath + "config.txt");
 
             //////////////////////////////////////////////////////////////////////////
-		}
+        }
         catch (const std::bad_alloc& e)
         {
             std::cout << e.what() << std::flush;
diff --git a/apps/gpu/TGV_3D_GridRef/TGV_3D_GridRef.cpp b/apps/gpu/TGV_3D_GridRef/TGV_3D_GridRef.cpp
index 876d4e32e6e5702db857876f060f619fddb37fb6..384d77577dc4770e30c021c568b5606e45bd05ed 100644
--- a/apps/gpu/TGV_3D_GridRef/TGV_3D_GridRef.cpp
+++ b/apps/gpu/TGV_3D_GridRef/TGV_3D_GridRef.cpp
@@ -121,7 +121,6 @@ uint nx = 64;
 uint gpuIndex = 0;
 
 bool useLimiter = false;
-bool useWale = false;
 
 std::string kernel(vf::collisionKernel::compressible::K17CompressibleNavierStokes);
 
@@ -145,7 +144,7 @@ void multipleLevel(const std::string& configPath)
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	const real PI = 3.141592653589793238462643383279;
+    const real PI = 3.141592653589793238462643383279;
 
     real L = nx / ( 2.0 * PI );
 
@@ -159,10 +158,10 @@ void multipleLevel(const std::string& configPath)
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     auto gridBuilder = std::make_shared<MultipleGridBuilder>();
 
-	real dx = 2.0 * PI / real(nx);
+    real dx = 2.0 * PI / real(nx);
 
-	gridBuilder->addCoarseGrid(-PI, -PI, -PI,
-								PI,  PI,  PI, dx);
+    gridBuilder->addCoarseGrid(-PI, -PI, -PI,
+                                PI,  PI,  PI, dx);
 
     gridBuilder->setNumberOfLayers(0, 0);
 
@@ -171,9 +170,9 @@ void multipleLevel(const std::string& configPath)
 
     gridBuilder->addGrid(fineGrid, 1);
 
-	gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
 
-	gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
+    gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -181,7 +180,7 @@ void multipleLevel(const std::string& configPath)
 
     scalingFactory.setScalingFactory(GridScalingFactory::GridScaling::ScaleCompressible);
 
-	//std::stringstream _path;
+    //std::stringstream _path;
  //   std::stringstream _prefix;
 
  //   //_path << "F:/Work/Computations/TaylorGreenVortex_3D/TGV_LBM/" << nx << "_Re_1.6e4";
@@ -239,7 +238,7 @@ void multipleLevel(const std::string& configPath)
     para->setTimestepOut(5 * lround(L / velocity));
     //para->setTimestepOut(lround(L / velocity));
  //   para->setTimestepEnd(2048);
-	//para->setTimestepOut(512);
+    //para->setTimestepOut(512);
  //   para->setTimestepStartOut(500);
 
     para->setVelocityLB( velocity );
@@ -268,9 +267,6 @@ void multipleLevel(const std::string& configPath)
     if( !useLimiter )
         para->setQuadricLimiters( 1000000.0, 1000000.0, 1000000.0 );
 
-    if( useWale )
-        para->setUseWale( true );
-
     para->setUseInitNeq( true );
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -303,12 +299,12 @@ int main( int argc, char* argv[])
         try
         {
             //////////////////////////////////////////////////////////////////////////
-			std::string targetPath( __FILE__ );
+            std::string targetPath( __FILE__ );
 
 #ifdef _WIN32
-			targetPath = targetPath.substr(0, targetPath.find_last_of('\\') + 1);
+            targetPath = targetPath.substr(0, targetPath.find_last_of('\\') + 1);
 #else
-			targetPath = targetPath.substr(0, targetPath.find_last_of('/') + 1);
+            targetPath = targetPath.substr(0, targetPath.find_last_of('/') + 1);
 #endif
 
             //////////////////////////////////////////////////////////////////////////
@@ -331,13 +327,10 @@ int main( int argc, char* argv[])
             if( cmdOptionExists( argv, argv+argc, "--useLimiter" ) )
                 useLimiter = true;
 
-            if( cmdOptionExists( argv, argv+argc, "--useWale" ) )
-                useWale = true;
-
-			multipleLevel(targetPath + "config.txt");
+            multipleLevel(targetPath + "config.txt");
 
             //////////////////////////////////////////////////////////////////////////
-		}
+        }
         catch (const std::bad_alloc& e)
         {
             std::cout << "Bad alloc: " << e.what() << std::flush;
diff --git a/apps/gpu/TGV_3D_MultiGPU/TGV_3D_MultiGPU.cpp b/apps/gpu/TGV_3D_MultiGPU/TGV_3D_MultiGPU.cpp
index 503768d882848f941ab8dd0deeca77ef36499eb8..1c7f4a81e924b3ab4bbe9f70c7aa67d9d9b466e0 100644
--- a/apps/gpu/TGV_3D_MultiGPU/TGV_3D_MultiGPU.cpp
+++ b/apps/gpu/TGV_3D_MultiGPU/TGV_3D_MultiGPU.cpp
@@ -35,7 +35,7 @@
 //Martin Branch
 #include <mpi.h>
 #if defined( MPI_LOGGING )
-	#include <mpe.h>
+    #include <mpe.h>
 #endif
 
 #include <string>
@@ -122,7 +122,6 @@ uint nx = 64;
 uint gpuIndex = 0;
 
 bool useLimiter = false;
-bool useWale = false;
 
 int mpirank;
 int mpiWorldSize;
@@ -179,7 +178,7 @@ void multipleLevel(const std::string& configPath)
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	const real PI = 3.141592653589793238462643383279;
+    const real PI = 3.141592653589793238462643383279;
 
     real L = nx / ( 2.0 * PI );
 
@@ -201,7 +200,7 @@ void multipleLevel(const std::string& configPath)
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	real dx = 2.0 * PI / real(nx);
+    real dx = 2.0 * PI / real(nx);
 
     real xOverlap = ( sideLengthX == 1 ) ? 0.0 : 5.0*dx;
     real yOverlap = ( sideLengthY == 1 ) ? 0.0 : 5.0*dx;
@@ -219,7 +218,7 @@ void multipleLevel(const std::string& configPath)
 
     gridBuilder->setPeriodicBoundaryCondition(sideLengthX == 1, sideLengthY == 1, sideLengthZ == 1);
 
-	gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
+    gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
 
     if( mpiWorldSize > 1 )
     {
@@ -269,7 +268,7 @@ void multipleLevel(const std::string& configPath)
     //para->setDevices(std::vector<uint>{0,1});
     para->setDevices(devices);
 
-	para->setMaxDev(mpiWorldSize);
+    para->setMaxDev(mpiWorldSize);
 
     //////////////////////////////////////////////////////////////////////////
 
@@ -279,11 +278,11 @@ void multipleLevel(const std::string& configPath)
     para->setPrintFiles(true);
 
  //   para->setTimestepEnd( 40 * lround(L/velocity) );
-	//para->setTimestepOut(  5 * lround(L/velocity) );
-	para->setTimestepOut(  100  );
+    //para->setTimestepOut(  5 * lround(L/velocity) );
+    para->setTimestepOut(  100  );
 
     para->setTimestepEnd( 1000 );
-	//para->setTimestepOut(    1 );
+    //para->setTimestepOut(    1 );
 
     para->setVelocityLB( velocity );
 
@@ -314,15 +313,12 @@ void multipleLevel(const std::string& configPath)
     if( !useLimiter )
         para->setQuadricLimiters( 1000000.0, 1000000.0, 1000000.0 );
 
-    if( useWale )
-        para->setUseWale( true );
-
     para->setUseInitNeq( true );
 
-	if (kernel == "CumulantK18Comp" || kernel == "CumulantK20Comp")
-		para->setIsF3(true);
-	else
-		para->setIsF3(false);
+    if (kernel == "CumulantK18Comp" || kernel == "CumulantK20Comp")
+        para->setIsF3(true);
+    else
+        para->setIsF3(false);
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -359,12 +355,12 @@ int main( int argc, char* argv[])
             MPI_Comm_size(MPI_COMM_WORLD, &mpiWorldSize);
 
             //////////////////////////////////////////////////////////////////////////
-			std::string targetPath( __FILE__ );
+            std::string targetPath( __FILE__ );
 
 #ifdef _WIN32
-			targetPath = targetPath.substr(0, targetPath.find_last_of('\\') + 1);
+            targetPath = targetPath.substr(0, targetPath.find_last_of('\\') + 1);
 #else
-			targetPath = targetPath.substr(0, targetPath.find_last_of('/') + 1);
+            targetPath = targetPath.substr(0, targetPath.find_last_of('/') + 1);
 #endif
 
             //////////////////////////////////////////////////////////////////////////
@@ -387,9 +383,6 @@ int main( int argc, char* argv[])
             if( cmdOptionExists( argv, argv+argc, "--useLimiter" ) )
                 useLimiter = true;
 
-            if( cmdOptionExists( argv, argv+argc, "--useWale" ) )
-                useWale = true;
-
             //////////////////////////////////////////////////////////////////////////
 
             {
@@ -418,10 +411,10 @@ int main( int argc, char* argv[])
 
             //////////////////////////////////////////////////////////////////////////
 
-			multipleLevel(targetPath + "config.txt");
+            multipleLevel(targetPath + "config.txt");
 
             //////////////////////////////////////////////////////////////////////////
-		}
+        }
         catch (const std::bad_alloc& e)
         {
 
diff --git a/apps/gpu/WTG_RUB/WTG_RUB.cpp b/apps/gpu/WTG_RUB/WTG_RUB.cpp
index 1a40c4f127ddabb52faa29fb581106026e92f452..6cc1114aaebfa1080cc6c832ca312b28f66d0dbd 100644
--- a/apps/gpu/WTG_RUB/WTG_RUB.cpp
+++ b/apps/gpu/WTG_RUB/WTG_RUB.cpp
@@ -199,18 +199,18 @@ void multipleLevel(const std::string& configPath)
     //// adding solid CityGeometry to gridbuilder
     gridBuilder->addGeometry(RubSTL);
 
-	gridBuilder->setPeriodicBoundaryCondition(false, false, false);
+    gridBuilder->setPeriodicBoundaryCondition(false, false, false);
 
-	gridBuilder->buildGrids(false); // buildGrids() has to be called before setting the BCs!!!!
+    gridBuilder->buildGrids(false); // buildGrids() has to be called before setting the BCs!!!!
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
     vf::basics::ConfigurationFile config;
     config.load(configPath);
@@ -221,15 +221,15 @@ void multipleLevel(const std::string& configPath)
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     const real velocityLB = (real)0.0844; // LB units
 
-	//const real vx = velocityLB / (real)sqrt(2.0); // LB units
-	//const real vy = velocityLB / (real)sqrt(2.0); // LB units
+    //const real vx = velocityLB / (real)sqrt(2.0); // LB units
+    //const real vy = velocityLB / (real)sqrt(2.0); // LB units
 
     VF_LOG_INFO("velocityLB [dx/dt] = {}", velocityLB);
     VF_LOG_INFO("viscosityLB [dx^2/dt] = {}", viscosityLB);
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	para->setDevices(std::vector<uint>{(uint)0});
+    para->setDevices(std::vector<uint>{(uint)0});
 
     para->setOutputPath( path );
     para->setOutputPrefix( "Unified_" + simulationName );
@@ -243,9 +243,9 @@ void multipleLevel(const std::string& configPath)
 
     para->setVelocityRatio(velocity/ velocityLB);
 
-	para->configureMainKernel(vf::collisionKernel::compressible::K17CompressibleNavierStokes);
+    para->configureMainKernel(vf::collisionKernel::compressible::K17CompressibleNavierStokes);
 
-	para->setInitialCondition([&](real coordX, real coordY, real coordZ, real &rho, real &vx, real &vy, real &vz) {
+    para->setInitialCondition([&](real coordX, real coordY, real coordZ, real &rho, real &vx, real &vy, real &vz) {
         rho = (real)0.0;
         vx  = (real)0.0; //(6 * velocityLB * coordZ * (L - coordZ) / (L * L));
         vy  = (real)0.0;
diff --git a/apps/gpu/gridGeneratorTest/gridGenerator.cpp b/apps/gpu/gridGeneratorTest/gridGenerator.cpp
index 0648c45827ab748779e399a79bbe0c3ecc78a23c..0edb0155430b7eb3f72128587452e8911b0e4755 100644
--- a/apps/gpu/gridGeneratorTest/gridGenerator.cpp
+++ b/apps/gpu/gridGeneratorTest/gridGenerator.cpp
@@ -65,66 +65,66 @@ void runVirtualFluids(const vf::basics::ConfigurationFile &config)
         int testcase = SphereTest;
 
         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		if (testcase == TGV)
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		{
-			real dx = 1.0;
-			// real vx = 0.049;
-			//////////////////////////////////////////////////////////////////////////
-			//32
-			gridBuilder->addCoarseGrid(-24, -2, -16,
-										24,  2,  16, dx);
-			//////////////////////////////////////////////////////////////////////////
-			gridBuilder->setPeriodicBoundaryCondition(true, true, true);
-			//////////////////////////////////////////////////////////////////////////
-			gridBuilder->buildGrids(true);
-			//////////////////////////////////////////////////////////////////////////
-			SPtr<Grid> grid = gridBuilder->getGrid(gridBuilder->getNumberOfLevels() - 1);
-			//////////////////////////////////////////////////////////////////////////
-			gridBuilder->writeGridsToVtk("E:/temp/TaylorGreenVortex/results/32/TGV32turned_Grid");
-			gridBuilder->writeArrows("E:/temp/TaylorGreenVortex/results/32/TGV32turned_Grid_arrow");
-			//////////////////////////////////////////////////////////////////////////
-			SimulationFileWriter::write("E:/temp/TaylorGreenVortex/grids/turned/gridUni48x4x32/", gridBuilder, FILEFORMAT::BINARY);
-			//////////////////////////////////////////////////////////////////////////
-			return;
-		}
-
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		if (testcase == TGV3D)
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		{
-			const real PI = 3.141592653589793238462643383279;
-
-			real dx = 2.0 * PI / 32.0; // 32^3 nodes
-			//real dx = 2.0 * PI / 64.0; // 64^3 nodes
-			//real dx = 2.0 * PI / 128.0; // 128^3 nodes
-			//real dx = 2.0 * PI / 256.0; // 128^3 nodes
-			// real vx = 0.049;
-
-			gridBuilder->addCoarseGrid(-PI, -PI, -PI,
-										PI,  PI,  PI, dx);
-
-			gridBuilder->setPeriodicBoundaryCondition(true, true, true);
-
-			gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
-
-			//////////////////////////////////////////////////////////////////////////
-			SPtr<Grid> grid = gridBuilder->getGrid(gridBuilder->getNumberOfLevels() - 1);
-			//////////////////////////////////////////////////////////////////////////
-			//32
-			gridBuilder->writeGridsToVtk("E:/temp/TaylorGreenVortex/results3D/32/TGV3D_Grid");
-			gridBuilder->writeArrows("E:/temp/TaylorGreenVortex/results3D/32/TGV3D_Grid_arrow");
-			SimulationFileWriter::write("E:/temp/TaylorGreenVortex/grids3D/gridTGV3D/32/", gridBuilder, FILEFORMAT::BINARY); //FILEFORMAT::ASCII
-			//256
-		    //gridBuilder->writeGridsToVtk("E:/temp/TaylorGreenVortex/results3D/256/TGV3D_Grid");
-			//gridBuilder->writeArrows("E:/temp/TaylorGreenVortex/results3D/256/TGV3D_Grid_arrow");
-			//SimulationFileWriter::write("E:/temp/TaylorGreenVortex/grids3D/gridTGV3D/256/", gridBuilder, FILEFORMAT::BINARY); //FILEFORMAT::ASCII
-
-			return;
-
-		}
-
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        if (testcase == TGV)
+        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        {
+            real dx = 1.0;
+            // real vx = 0.049;
+            //////////////////////////////////////////////////////////////////////////
+            //32
+            gridBuilder->addCoarseGrid(-24, -2, -16,
+                                        24,  2,  16, dx);
+            //////////////////////////////////////////////////////////////////////////
+            gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+            //////////////////////////////////////////////////////////////////////////
+            gridBuilder->buildGrids(true);
+            //////////////////////////////////////////////////////////////////////////
+            SPtr<Grid> grid = gridBuilder->getGrid(gridBuilder->getNumberOfLevels() - 1);
+            //////////////////////////////////////////////////////////////////////////
+            gridBuilder->writeGridsToVtk("E:/temp/TaylorGreenVortex/results/32/TGV32turned_Grid");
+            gridBuilder->writeArrows("E:/temp/TaylorGreenVortex/results/32/TGV32turned_Grid_arrow");
+            //////////////////////////////////////////////////////////////////////////
+            SimulationFileWriter::write("E:/temp/TaylorGreenVortex/grids/turned/gridUni48x4x32/", gridBuilder, FILEFORMAT::BINARY);
+            //////////////////////////////////////////////////////////////////////////
+            return;
+        }
+
+        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        if (testcase == TGV3D)
+        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        {
+            const real PI = 3.141592653589793238462643383279;
+
+            real dx = 2.0 * PI / 32.0; // 32^3 nodes
+            //real dx = 2.0 * PI / 64.0; // 64^3 nodes
+            //real dx = 2.0 * PI / 128.0; // 128^3 nodes
+            //real dx = 2.0 * PI / 256.0; // 128^3 nodes
+            // real vx = 0.049;
+
+            gridBuilder->addCoarseGrid(-PI, -PI, -PI,
+                                        PI,  PI,  PI, dx);
+
+            gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+
+            gridBuilder->buildGrids(true); // buildGrids() has to be called before setting the BCs!!!!
+
+            //////////////////////////////////////////////////////////////////////////
+            SPtr<Grid> grid = gridBuilder->getGrid(gridBuilder->getNumberOfLevels() - 1);
+            //////////////////////////////////////////////////////////////////////////
+            //32
+            gridBuilder->writeGridsToVtk("E:/temp/TaylorGreenVortex/results3D/32/TGV3D_Grid");
+            gridBuilder->writeArrows("E:/temp/TaylorGreenVortex/results3D/32/TGV3D_Grid_arrow");
+            SimulationFileWriter::write("E:/temp/TaylorGreenVortex/grids3D/gridTGV3D/32/", gridBuilder, FILEFORMAT::BINARY); //FILEFORMAT::ASCII
+            //256
+            //gridBuilder->writeGridsToVtk("E:/temp/TaylorGreenVortex/results3D/256/TGV3D_Grid");
+            //gridBuilder->writeArrows("E:/temp/TaylorGreenVortex/results3D/256/TGV3D_Grid_arrow");
+            //SimulationFileWriter::write("E:/temp/TaylorGreenVortex/grids3D/gridTGV3D/256/", gridBuilder, FILEFORMAT::BINARY); //FILEFORMAT::ASCII
+
+            return;
+
+        }
+
+        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         if( testcase == SphereTest)
         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         {
@@ -149,8 +149,6 @@ void runVirtualFluids(const vf::basics::ConfigurationFile &config)
 
             para->setCalcDragLift(true);
 
-            para->setUseWale(false);
-
             para->configureMainKernel("CumulantK15Comp");
 
             //////////////////////////////////////////////////////////////////////////
@@ -234,8 +232,6 @@ void runVirtualFluids(const vf::basics::ConfigurationFile &config)
             para->setTimestepOut( 10000 );
             para->setTimestepEnd( 100000 );
 
-            para->setUseWale(false);
-
             para->configureMainKernel("CumulantK20Comp");
 
             ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -337,8 +333,6 @@ void runVirtualFluids(const vf::basics::ConfigurationFile &config)
             para->setTimestepOut( 1000 );
             para->setTimestepEnd( 100000 );
 
-            para->setUseWale(false);
-
             para->configureMainKernel("CumulantAA2016CompSP27");
 
             ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -415,8 +409,6 @@ void runVirtualFluids(const vf::basics::ConfigurationFile &config)
             para->setTimestepOut( 1000 );
             para->setTimestepEnd( 100000 );
 
-            para->setUseWale(false);
-
             para->configureMainKernel("CumulantAA2016CompSP27");
             //para->configureMainKernel(kernelMapper->getEnum("CumulantOneCompSP27"));
 
@@ -469,12 +461,12 @@ void runVirtualFluids(const vf::basics::ConfigurationFile &config)
         if( testcase == DLC )
         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         {
-			real velocityRatio = 594.093427;
+            real velocityRatio = 594.093427;
 
-			real dx = 0.2;
-			real vx = 0.065272188;
+            real dx = 0.2;
+            real vx = 0.065272188;
 
-			real z0 = 0.24395 + 0.5*dx;
+            real z0 = 0.24395 + 0.5*dx;
 
             std::vector<uint> ignorePatches = { 152, 153, 154 };
 
@@ -552,9 +544,9 @@ void runVirtualFluids(const vf::basics::ConfigurationFile &config)
 
             real wheelsRadius =  0.318;
 
-			real wheelRotationFrequency = 1170.74376 / 60.0;
+            real wheelRotationFrequency = 1170.74376 / 60.0;
 
-			real wheelTangentialVelocity = -2.0 * M_PI * wheelsRadius * wheelRotationFrequency / velocityRatio;
+            real wheelTangentialVelocity = -2.0 * M_PI * wheelsRadius * wheelRotationFrequency / velocityRatio;
 
             std::vector<uint> frontWheelPatches = { 71, 86, 87,  88,  89,  90,  91,  92,  93,  94,  95,  96,  97, 159 };
             std::vector<uint> rearWheelPatches  = { 82, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 160 };
@@ -562,13 +554,13 @@ void runVirtualFluids(const vf::basics::ConfigurationFile &config)
             for( uint patch : frontWheelPatches ){
                 gridBuilder->getGeometryBoundaryCondition(gridBuilder->getNumberOfLevels() - 1)->setTangentialVelocityForPatch( grid, patch, wheelsFrontX, -2.0, wheelsFrontZ,
                                                                                                                                              wheelsFrontX,  2.0, wheelsFrontZ,
-					                                                                                                                         wheelTangentialVelocity, wheelsRadius);
+                                                                                                                                             wheelTangentialVelocity, wheelsRadius);
             }
 
             for( uint patch : rearWheelPatches ){
                 gridBuilder->getGeometryBoundaryCondition(gridBuilder->getNumberOfLevels() - 1)->setTangentialVelocityForPatch( grid, patch, wheelsRearX , -2.0, wheelsRearZ ,
                                                                                                                                              wheelsRearX ,  2.0, wheelsRearZ ,
-					                                                                                                                         wheelTangentialVelocity, wheelsRadius);
+                                                                                                                                             wheelTangentialVelocity, wheelsRadius);
             }
 
             //////////////////////////////////////////////////////////////////////////
@@ -612,8 +604,6 @@ void runVirtualFluids(const vf::basics::ConfigurationFile &config)
 
             para->setCalcDragLift(true);
 
-            para->setUseWale(false);
-
             para->configureMainKernel("CumulantK15Comp");
 
             para->setDevices( { 0, 1 } );
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileData.h b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileData.h
index 83678dc864e2d3b75daa0fbe12e43a7ee4c230f1..ea7b3f616c42d140ee4f5a1bf479ed18b41aac98 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileData.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileData.h
@@ -6,8 +6,8 @@
 class ShearWaveLogFileData
 {
 public:
-	virtual std::vector<int> getL0() = 0;
-	virtual std::vector<double> getUx() = 0;
-	virtual std::vector<double> getUz() = 0;
+    virtual std::vector<int> getL0() = 0;
+    virtual std::vector<double> getUx() = 0;
+    virtual std::vector<double> getUz() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileDataImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileDataImp.cpp
index c46108a6c104622094c5d47ee231bc9070eb85fe..a323fe808b464cb151f48da2d43f25ee5bf47856 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileDataImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileDataImp.cpp
@@ -2,37 +2,37 @@
 
 std::shared_ptr<ShearWaveLogFileDataImp> ShearWaveLogFileDataImp::getNewInstance()
 {
-	return std::shared_ptr<ShearWaveLogFileDataImp>(new ShearWaveLogFileDataImp());
+    return std::shared_ptr<ShearWaveLogFileDataImp>(new ShearWaveLogFileDataImp());
 }
 
 std::vector<int> ShearWaveLogFileDataImp::getL0()
 {
-	return l0;
+    return l0;
 }
 
 std::vector<double> ShearWaveLogFileDataImp::getUx()
 {
-	return ux;
+    return ux;
 }
 
 std::vector<double> ShearWaveLogFileDataImp::getUz()
 {
-	return uz;
+    return uz;
 }
 
 void ShearWaveLogFileDataImp::setL0(std::vector<int> l0)
 {
-	this->l0 = l0;
+    this->l0 = l0;
 }
 
 void ShearWaveLogFileDataImp::setUx(std::vector<double> ux)
 {
-	this->ux = ux;
+    this->ux = ux;
 }
 
 void ShearWaveLogFileDataImp::setUz(std::vector<double> uz)
 {
-	this->uz = uz;
+    this->uz = uz;
 }
 
 ShearWaveLogFileDataImp::ShearWaveLogFileDataImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileDataImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileDataImp.h
index a8f3a22dcbc8f4282e3a3590d30d860bae050ce1..89e029ada0f826ae4a0d12f7246b5dc4faa2ecbf 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileDataImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileData/ShearWaveLogFileDataImp.h
@@ -8,23 +8,23 @@
 class ShearWaveLogFileDataImp : public ShearWaveLogFileData
 {
 public:
-	static std::shared_ptr<ShearWaveLogFileDataImp> getNewInstance();
+    static std::shared_ptr<ShearWaveLogFileDataImp> getNewInstance();
 
-	std::vector<int> getL0();
-	std::vector<double> getUx();
-	std::vector<double> getUz();
+    std::vector<int> getL0();
+    std::vector<double> getUx();
+    std::vector<double> getUz();
 
-	void setL0(std::vector<int> l0);
-	void setUx(std::vector<double> ux);
-	void setUz(std::vector<double> amp);
+    void setL0(std::vector<int> l0);
+    void setUx(std::vector<double> ux);
+    void setUz(std::vector<double> amp);
 
-	~ShearWaveLogFileDataImp();
+    ~ShearWaveLogFileDataImp();
 
 private:
-	ShearWaveLogFileDataImp();
+    ShearWaveLogFileDataImp();
 
-	std::vector<int> l0;
-	std::vector<double> ux;
-	std::vector<double> uz;
+    std::vector<int> l0;
+    std::vector<double> ux;
+    std::vector<double> uz;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileDataAssistantStrategy/ShearWaveLogFileDataAssistantStrategy.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileDataAssistantStrategy/ShearWaveLogFileDataAssistantStrategy.cpp
index d44ca84bd01cdddf41b1a98148595cbdb99327e8..3c792fa765580a2bca94518fca11fec2568e0eb3 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileDataAssistantStrategy/ShearWaveLogFileDataAssistantStrategy.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileDataAssistantStrategy/ShearWaveLogFileDataAssistantStrategy.cpp
@@ -5,27 +5,27 @@
 
 std::shared_ptr<LogFileDataAssistantStrategy> ShearWaveLogFileDataAssistantStrategy::getNewInstance()
 {
-	return std::shared_ptr<LogFileDataAssistantStrategy>(new ShearWaveLogFileDataAssistantStrategy());
+    return std::shared_ptr<LogFileDataAssistantStrategy>(new ShearWaveLogFileDataAssistantStrategy());
 }
 
 std::string ShearWaveLogFileDataAssistantStrategy::getSimulationName()
 {
-	return simName;
+    return simName;
 }
 
 bool ShearWaveLogFileDataAssistantStrategy::checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2)
 {
-	if (!equalDouble(logFileData1->getShearWaveLogFileData()->getUx().at(0), logFileData2->getShearWaveLogFileData()->getUx().at(0)))
-		return false;
-	if (!equalDouble(logFileData1->getShearWaveLogFileData()->getUz().at(0), logFileData2->getShearWaveLogFileData()->getUz().at(0)))
-		return false;
-	if (logFileData1->getShearWaveLogFileData()->getL0().at(0) != logFileData2->getShearWaveLogFileData()->getL0().at(0))
-		return false;
+    if (!equalDouble(logFileData1->getShearWaveLogFileData()->getUx().at(0), logFileData2->getShearWaveLogFileData()->getUx().at(0)))
+        return false;
+    if (!equalDouble(logFileData1->getShearWaveLogFileData()->getUz().at(0), logFileData2->getShearWaveLogFileData()->getUz().at(0)))
+        return false;
+    if (logFileData1->getShearWaveLogFileData()->getL0().at(0) != logFileData2->getShearWaveLogFileData()->getL0().at(0))
+        return false;
 
-	return true;
+    return true;
 }
 
 ShearWaveLogFileDataAssistantStrategy::ShearWaveLogFileDataAssistantStrategy()
 {
-	this->simName = "ShearWave";
+    this->simName = "ShearWave";
 }
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileDataAssistantStrategy/ShearWaveLogFileDataAssistantStrategy.h b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileDataAssistantStrategy/ShearWaveLogFileDataAssistantStrategy.h
index b37fe71783492d12ddbd0b76789688e88dfcac22..274d7010796e6529a01aaff130dd314ecc19b5b2 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileDataAssistantStrategy/ShearWaveLogFileDataAssistantStrategy.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/ShearWave/LogFileDataAssistantStrategy/ShearWaveLogFileDataAssistantStrategy.h
@@ -6,14 +6,14 @@
 class ShearWaveLogFileDataAssistantStrategy : public LogFileDataAssistantStrategyImp
 {
 public:
-	static std::shared_ptr<LogFileDataAssistantStrategy> getNewInstance();
+    static std::shared_ptr<LogFileDataAssistantStrategy> getNewInstance();
 
-	std::string getSimulationName();
-	bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
+    std::string getSimulationName();
+    bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
 
 private:
-	ShearWaveLogFileDataAssistantStrategy();
+    ShearWaveLogFileDataAssistantStrategy();
 
-	std::string simName;
+    std::string simName;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileData.h b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileData.h
index 6ca76576cbff511fef2b2cf61b844f7830a0cc4f..80d6aa6e29966c458b03a66f1240b7f620e4dee0 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileData.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileData.h
@@ -6,8 +6,8 @@
 class TaylorGreenVortexUxLogFileData
 {
 public:
-	virtual std::vector<int> getL0() = 0;
-	virtual std::vector<double> getUx() = 0;
-	virtual std::vector<double> getAmplitude() = 0;
+    virtual std::vector<int> getL0() = 0;
+    virtual std::vector<double> getUx() = 0;
+    virtual std::vector<double> getAmplitude() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileDataImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileDataImp.cpp
index 36b5ff48f3db2a17d179a7d9553eb0ea47b1caf4..71503ec98f36b4063a6a249fc0f632303e477c64 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileDataImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileDataImp.cpp
@@ -2,37 +2,37 @@
 
 std::shared_ptr<TaylorGreenVortexUxLogFileDataImp> TaylorGreenVortexUxLogFileDataImp::getNewInstance()
 {
-	return std::shared_ptr<TaylorGreenVortexUxLogFileDataImp>(new TaylorGreenVortexUxLogFileDataImp());
+    return std::shared_ptr<TaylorGreenVortexUxLogFileDataImp>(new TaylorGreenVortexUxLogFileDataImp());
 }
 
 std::vector<int> TaylorGreenVortexUxLogFileDataImp::getL0()
 {
-	return l0;
+    return l0;
 }
 
 std::vector<double> TaylorGreenVortexUxLogFileDataImp::getUx()
 {
-	return ux;
+    return ux;
 }
 
 std::vector<double> TaylorGreenVortexUxLogFileDataImp::getAmplitude()
 {
-	return amp;
+    return amp;
 }
 
 void TaylorGreenVortexUxLogFileDataImp::setL0(std::vector<int> l0)
 {
-	this->l0 = l0;
+    this->l0 = l0;
 }
 
 void TaylorGreenVortexUxLogFileDataImp::setUx(std::vector<double> ux)
 {
-	this->ux = ux;
+    this->ux = ux;
 }
 
 void TaylorGreenVortexUxLogFileDataImp::setAmplitude(std::vector<double> amp)
 {
-	this->amp = amp;
+    this->amp = amp;
 }
 
 TaylorGreenVortexUxLogFileDataImp::TaylorGreenVortexUxLogFileDataImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileDataImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileDataImp.h
index 0f41b0a0e0d2a7ba8f9dda0337eb13bd593740e2..b0cf54f654da29c334a13f79873c46bf27e362c8 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileDataImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileData/TaylorGreenVortexUxLogFileDataImp.h
@@ -8,23 +8,23 @@
 class TaylorGreenVortexUxLogFileDataImp : public TaylorGreenVortexUxLogFileData
 {
 public:
-	static std::shared_ptr<TaylorGreenVortexUxLogFileDataImp> getNewInstance();
+    static std::shared_ptr<TaylorGreenVortexUxLogFileDataImp> getNewInstance();
 
-	std::vector<int> getL0();
-	std::vector<double> getUx();
-	std::vector<double> getAmplitude();
+    std::vector<int> getL0();
+    std::vector<double> getUx();
+    std::vector<double> getAmplitude();
 
-	void setL0(std::vector<int> l0);
-	void setUx(std::vector<double> ux);
-	void setAmplitude(std::vector<double> amp);
+    void setL0(std::vector<int> l0);
+    void setUx(std::vector<double> ux);
+    void setAmplitude(std::vector<double> amp);
 
-	~TaylorGreenVortexUxLogFileDataImp();
+    ~TaylorGreenVortexUxLogFileDataImp();
 
 private:
-	TaylorGreenVortexUxLogFileDataImp();
+    TaylorGreenVortexUxLogFileDataImp();
 
-	std::vector<int> l0;
-	std::vector<double> ux;
-	std::vector<double> amp;
+    std::vector<int> l0;
+    std::vector<double> ux;
+    std::vector<double> amp;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileDataAssistantStrategy/TaylorGreenVortexUxLogFileDataAssistantStrategy.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileDataAssistantStrategy/TaylorGreenVortexUxLogFileDataAssistantStrategy.cpp
index 803246e3bf7abf8b61cd2538571578706cbe6570..69ebb36079f923fa1ecebfee1c24cbd1b77e4887 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileDataAssistantStrategy/TaylorGreenVortexUxLogFileDataAssistantStrategy.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileDataAssistantStrategy/TaylorGreenVortexUxLogFileDataAssistantStrategy.cpp
@@ -5,27 +5,27 @@
 
 std::shared_ptr<LogFileDataAssistantStrategy> TaylorGreenVortexUxLogFileDataAssistantStrategy::getNewInstance()
 {
-	return std::shared_ptr<LogFileDataAssistantStrategy>(new TaylorGreenVortexUxLogFileDataAssistantStrategy());
+    return std::shared_ptr<LogFileDataAssistantStrategy>(new TaylorGreenVortexUxLogFileDataAssistantStrategy());
 }
 
 std::string TaylorGreenVortexUxLogFileDataAssistantStrategy::getSimulationName()
 {
-	return simName;
+    return simName;
 }
 
 bool TaylorGreenVortexUxLogFileDataAssistantStrategy::checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2)
 {
-	if (!equalDouble(logFileData1->getTaylorGreenVortexUxLogFileData()->getUx().at(0), logFileData2->getTaylorGreenVortexUxLogFileData()->getUx().at(0)))
-		return false;
-	if (!equalDouble(logFileData1->getTaylorGreenVortexUxLogFileData()->getAmplitude().at(0), logFileData2->getTaylorGreenVortexUxLogFileData()->getAmplitude().at(0)))
-		return false;
-	if (logFileData1->getTaylorGreenVortexUxLogFileData()->getL0().at(0) != logFileData2->getTaylorGreenVortexUxLogFileData()->getL0().at(0))
-		return false;
+    if (!equalDouble(logFileData1->getTaylorGreenVortexUxLogFileData()->getUx().at(0), logFileData2->getTaylorGreenVortexUxLogFileData()->getUx().at(0)))
+        return false;
+    if (!equalDouble(logFileData1->getTaylorGreenVortexUxLogFileData()->getAmplitude().at(0), logFileData2->getTaylorGreenVortexUxLogFileData()->getAmplitude().at(0)))
+        return false;
+    if (logFileData1->getTaylorGreenVortexUxLogFileData()->getL0().at(0) != logFileData2->getTaylorGreenVortexUxLogFileData()->getL0().at(0))
+        return false;
 
-	return true;
+    return true;
 }
 
 TaylorGreenVortexUxLogFileDataAssistantStrategy::TaylorGreenVortexUxLogFileDataAssistantStrategy()
 {
-	this->simName = "TaylorGreenVortexUx";
+    this->simName = "TaylorGreenVortexUx";
 }
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileDataAssistantStrategy/TaylorGreenVortexUxLogFileDataAssistantStrategy.h b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileDataAssistantStrategy/TaylorGreenVortexUxLogFileDataAssistantStrategy.h
index 850ccfc8f2741a5acfc07058db7fe9ecd7d889c9..142586b91fa079e0d5ccbf231a810e08597ac97e 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileDataAssistantStrategy/TaylorGreenVortexUxLogFileDataAssistantStrategy.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUx/LogFileDataAssistantStrategy/TaylorGreenVortexUxLogFileDataAssistantStrategy.h
@@ -6,14 +6,14 @@
 class TaylorGreenVortexUxLogFileDataAssistantStrategy : public LogFileDataAssistantStrategyImp
 {
 public:
-	static std::shared_ptr<LogFileDataAssistantStrategy> getNewInstance();
+    static std::shared_ptr<LogFileDataAssistantStrategy> getNewInstance();
 
-	std::string getSimulationName();
-	bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
+    std::string getSimulationName();
+    bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
 
 private:
-	TaylorGreenVortexUxLogFileDataAssistantStrategy();
+    TaylorGreenVortexUxLogFileDataAssistantStrategy();
 
-	std::string simName;
+    std::string simName;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileData.h b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileData.h
index 91b593da77b2b5cccb279a4bf6c9a8f12e6b6315..785ab668a11e090a16865f3baf21fd4515815def 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileData.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileData.h
@@ -6,8 +6,8 @@
 class TaylorGreenVortexUzLogFileData
 {
 public:
-	virtual std::vector<int> getL0() = 0;
-	virtual std::vector<double> getUz() = 0;
-	virtual std::vector<double> getAmplitude() = 0;
+    virtual std::vector<int> getL0() = 0;
+    virtual std::vector<double> getUz() = 0;
+    virtual std::vector<double> getAmplitude() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileDataImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileDataImp.cpp
index 79ebda156183b18b560a1bb652ecfce022c6b4d8..df95d3b054742e03c6ea962b713097801aac7f89 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileDataImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileDataImp.cpp
@@ -2,37 +2,37 @@
 
 std::shared_ptr<TaylorGreenVortexUzLogFileDataImp> TaylorGreenVortexUzLogFileDataImp::getNewInstance()
 {
-	return std::shared_ptr<TaylorGreenVortexUzLogFileDataImp>(new TaylorGreenVortexUzLogFileDataImp());
+    return std::shared_ptr<TaylorGreenVortexUzLogFileDataImp>(new TaylorGreenVortexUzLogFileDataImp());
 }
 
 std::vector<int> TaylorGreenVortexUzLogFileDataImp::getL0()
 {
-	return l0;
+    return l0;
 }
 
 std::vector<double> TaylorGreenVortexUzLogFileDataImp::getUz()
 {
-	return ux;
+    return ux;
 }
 
 std::vector<double> TaylorGreenVortexUzLogFileDataImp::getAmplitude()
 {
-	return amp;
+    return amp;
 }
 
 void TaylorGreenVortexUzLogFileDataImp::setL0(std::vector<int> l0)
 {
-	this->l0 = l0;
+    this->l0 = l0;
 }
 
 void TaylorGreenVortexUzLogFileDataImp::setUz(std::vector<double> ux)
 {
-	this->ux = ux;
+    this->ux = ux;
 }
 
 void TaylorGreenVortexUzLogFileDataImp::setAmplitude(std::vector<double> amp)
 {
-	this->amp = amp;
+    this->amp = amp;
 }
 
 TaylorGreenVortexUzLogFileDataImp::TaylorGreenVortexUzLogFileDataImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileDataImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileDataImp.h
index 90eea344794e8dcad179de6923a6dc07156ef8bb..bcccba30eade18ebe40c756af0e5e1f94812b8d8 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileDataImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileData/TaylorGreenVortexUzLogFileDataImp.h
@@ -8,23 +8,23 @@
 class TaylorGreenVortexUzLogFileDataImp : public TaylorGreenVortexUzLogFileData
 {
 public:
-	static std::shared_ptr<TaylorGreenVortexUzLogFileDataImp> getNewInstance();
+    static std::shared_ptr<TaylorGreenVortexUzLogFileDataImp> getNewInstance();
 
-	std::vector<int> getL0();
-	std::vector<double> getUz();
-	std::vector<double> getAmplitude();
+    std::vector<int> getL0();
+    std::vector<double> getUz();
+    std::vector<double> getAmplitude();
 
-	void setL0(std::vector<int> l0);
-	void setUz(std::vector<double> ux);
-	void setAmplitude(std::vector<double> amp);
+    void setL0(std::vector<int> l0);
+    void setUz(std::vector<double> ux);
+    void setAmplitude(std::vector<double> amp);
 
-	~TaylorGreenVortexUzLogFileDataImp();
+    ~TaylorGreenVortexUzLogFileDataImp();
 
 private:
-	TaylorGreenVortexUzLogFileDataImp();
+    TaylorGreenVortexUzLogFileDataImp();
 
-	std::vector<int> l0;
-	std::vector<double> ux;
-	std::vector<double> amp;
+    std::vector<int> l0;
+    std::vector<double> ux;
+    std::vector<double> amp;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileDataAssistantStrategy/TaylorGreenVortexUzLogFileDataAssistantStrategy.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileDataAssistantStrategy/TaylorGreenVortexUzLogFileDataAssistantStrategy.cpp
index 3ebb5b3da273c7eb45320a50ac70eb1cebc43792..4267e5d9fb382ede6381ed570f44f77cbed1d676 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileDataAssistantStrategy/TaylorGreenVortexUzLogFileDataAssistantStrategy.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileDataAssistantStrategy/TaylorGreenVortexUzLogFileDataAssistantStrategy.cpp
@@ -5,27 +5,27 @@
 
 std::shared_ptr<LogFileDataAssistantStrategy> TaylorGreenVortexUzLogFileDataAssistantStrategy::getNewInstance()
 {
-	return std::shared_ptr<LogFileDataAssistantStrategy>(new TaylorGreenVortexUzLogFileDataAssistantStrategy());
+    return std::shared_ptr<LogFileDataAssistantStrategy>(new TaylorGreenVortexUzLogFileDataAssistantStrategy());
 }
 
 std::string TaylorGreenVortexUzLogFileDataAssistantStrategy::getSimulationName()
 {
-	return simName;
+    return simName;
 }
 
 bool TaylorGreenVortexUzLogFileDataAssistantStrategy::checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2)
 {
-	if (!equalDouble(logFileData1->getTaylorGreenVortexUzLogFileData()->getUz().at(0), logFileData2->getTaylorGreenVortexUzLogFileData()->getUz().at(0)))
-		return false;
-	if (!equalDouble(logFileData1->getTaylorGreenVortexUzLogFileData()->getAmplitude().at(0), logFileData2->getTaylorGreenVortexUzLogFileData()->getAmplitude().at(0)))
-		return false;
-	if (logFileData1->getTaylorGreenVortexUzLogFileData()->getL0().at(0) != logFileData2->getTaylorGreenVortexUzLogFileData()->getL0().at(0))
-		return false;
+    if (!equalDouble(logFileData1->getTaylorGreenVortexUzLogFileData()->getUz().at(0), logFileData2->getTaylorGreenVortexUzLogFileData()->getUz().at(0)))
+        return false;
+    if (!equalDouble(logFileData1->getTaylorGreenVortexUzLogFileData()->getAmplitude().at(0), logFileData2->getTaylorGreenVortexUzLogFileData()->getAmplitude().at(0)))
+        return false;
+    if (logFileData1->getTaylorGreenVortexUzLogFileData()->getL0().at(0) != logFileData2->getTaylorGreenVortexUzLogFileData()->getL0().at(0))
+        return false;
 
-	return true;
+    return true;
 }
 
 TaylorGreenVortexUzLogFileDataAssistantStrategy::TaylorGreenVortexUzLogFileDataAssistantStrategy()
 {
-	this->simName = "TaylorGreenVortexUz";
+    this->simName = "TaylorGreenVortexUz";
 }
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileDataAssistantStrategy/TaylorGreenVortexUzLogFileDataAssistantStrategy.h b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileDataAssistantStrategy/TaylorGreenVortexUzLogFileDataAssistantStrategy.h
index 86c2b1658d2cca62d7f00076277f3c9d20e571e5..a4a4d444b38c55d04406678e31b68f40eb89ef28 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileDataAssistantStrategy/TaylorGreenVortexUzLogFileDataAssistantStrategy.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Simulation/TaylorGreenVortexUz/LogFileDataAssistantStrategy/TaylorGreenVortexUzLogFileDataAssistantStrategy.h
@@ -6,14 +6,14 @@
 class TaylorGreenVortexUzLogFileDataAssistantStrategy : public LogFileDataAssistantStrategyImp
 {
 public:
-	static std::shared_ptr<LogFileDataAssistantStrategy> getNewInstance();
+    static std::shared_ptr<LogFileDataAssistantStrategy> getNewInstance();
 
-	std::string getSimulationName();
-	bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
+    std::string getSimulationName();
+    bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
 
 private:
-	TaylorGreenVortexUzLogFileDataAssistantStrategy();
+    TaylorGreenVortexUzLogFileDataAssistantStrategy();
 
-	std::string simName;
+    std::string simName;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileData.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileData.h
index d3c004f40ef7260981d24d2a36facfdb8bcf6db5..cf9049466f61b98120468b238591c385e3b2dcbb 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileData.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileData.h
@@ -7,13 +7,13 @@
 class L2NormLogFileData
 {
 public:
-	virtual std::vector<double> getBasicGridLengths() = 0;
-	virtual std::string getDataToCalc() = 0;
-	virtual std::string getNormalizeData() = 0;
-	virtual int getBasicTimeStep() = 0;
-	virtual int getDivergentTimeStep() = 0;
-	virtual std::vector<double> getL2NormForBasicTimeStep() = 0;
-	virtual std::vector<double> getL2NormForDivergentTimeStep() = 0;
-	virtual std::vector<double> getL2NormDiff() = 0;
+    virtual std::vector<double> getBasicGridLengths() = 0;
+    virtual std::string getDataToCalc() = 0;
+    virtual std::string getNormalizeData() = 0;
+    virtual int getBasicTimeStep() = 0;
+    virtual int getDivergentTimeStep() = 0;
+    virtual std::vector<double> getL2NormForBasicTimeStep() = 0;
+    virtual std::vector<double> getL2NormForDivergentTimeStep() = 0;
+    virtual std::vector<double> getL2NormDiff() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileDataImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileDataImp.cpp
index 5d2cb2a964d010a8eefc5f787807db386e007049..317fd65d777be7f507db7ff76221cccf7ae5ca9f 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileDataImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileDataImp.cpp
@@ -2,87 +2,87 @@
 
 std::shared_ptr<L2NormLogFileDataImp> L2NormLogFileDataImp::getNewInstance()
 {
-	return std::shared_ptr<L2NormLogFileDataImp>(new L2NormLogFileDataImp());
+    return std::shared_ptr<L2NormLogFileDataImp>(new L2NormLogFileDataImp());
 }
 
 std::vector<double> L2NormLogFileDataImp::getBasicGridLengths()
 {
-	return basicGridLengths;
+    return basicGridLengths;
 }
 
 std::string L2NormLogFileDataImp::getDataToCalc()
 {
-	return dataToCalc;
+    return dataToCalc;
 }
 
 std::string L2NormLogFileDataImp::getNormalizeData()
 {
-	return normalizeData;
+    return normalizeData;
 }
 
 int L2NormLogFileDataImp::getBasicTimeStep()
 {
-	return basicTimeStep;
+    return basicTimeStep;
 }
 
 int L2NormLogFileDataImp::getDivergentTimeStep()
 {
-	return divergentTimeStep;
+    return divergentTimeStep;
 }
 
 std::vector<double> L2NormLogFileDataImp::getL2NormForBasicTimeStep()
 {
-	return l2NormForBasicTimeStep;
+    return l2NormForBasicTimeStep;
 }
 
 std::vector<double> L2NormLogFileDataImp::getL2NormForDivergentTimeStep()
 {
-	return l2NormForDivergentTimeStep;
+    return l2NormForDivergentTimeStep;
 }
 
 std::vector<double> L2NormLogFileDataImp::getL2NormDiff()
 {
-	return l2NormDiff;
+    return l2NormDiff;
 }
 
 void L2NormLogFileDataImp::setBasicGridLengths(std::vector<double> basicGridLengths)
 {
-	this->basicGridLengths = basicGridLengths;
+    this->basicGridLengths = basicGridLengths;
 }
 
 void L2NormLogFileDataImp::setDataToCalc(std::string dataToCalc)
 {
-	this->dataToCalc = dataToCalc;
+    this->dataToCalc = dataToCalc;
 }
 
 void L2NormLogFileDataImp::setNormalizeData(std::string normalizeData)
 {
-	this->normalizeData = normalizeData;
+    this->normalizeData = normalizeData;
 }
 
 void L2NormLogFileDataImp::setBasicTimeStep(int basicTimeStep)
 {
-	this->basicTimeStep = basicTimeStep;
+    this->basicTimeStep = basicTimeStep;
 }
 
 void L2NormLogFileDataImp::setDivergentTimeStep(int divergentTimeStep)
 {
-	this->divergentTimeStep = divergentTimeStep;
+    this->divergentTimeStep = divergentTimeStep;
 }
 
 void L2NormLogFileDataImp::setL2NormForBasicTimeStep(std::vector<double> l2NormForBasicTimeStep)
 {
-	this->l2NormForBasicTimeStep = l2NormForBasicTimeStep;
+    this->l2NormForBasicTimeStep = l2NormForBasicTimeStep;
 }
 
 void L2NormLogFileDataImp::setL2NormForDivergentTimeStep(std::vector<double> l2NormForDivergentTimeStep)
 {
-	this->l2NormForDivergentTimeStep = l2NormForDivergentTimeStep;
+    this->l2NormForDivergentTimeStep = l2NormForDivergentTimeStep;
 }
 
 void L2NormLogFileDataImp::setL2NormDiff(std::vector<double> l2NormDiff)
 {
-	this->l2NormDiff = l2NormDiff;
+    this->l2NormDiff = l2NormDiff;
 }
 
 L2NormLogFileDataImp::L2NormLogFileDataImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileDataImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileDataImp.h
index e99d83b81c48002081b8d37f9082d1d7a7783e6c..abccee47ad4ba5334790cb0f074674ac0f216ce5 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileDataImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/LogFileData/L2NormLogFileDataImp.h
@@ -8,38 +8,38 @@
 class L2NormLogFileDataImp : public L2NormLogFileData
 {
 public:
-	static std::shared_ptr<L2NormLogFileDataImp> getNewInstance();
-
-	std::vector<double> getBasicGridLengths();
-	std::string getDataToCalc();
-	std::string getNormalizeData();
-	int getBasicTimeStep();
-	int getDivergentTimeStep();
-	std::vector<double> getL2NormForBasicTimeStep();
-	std::vector<double> getL2NormForDivergentTimeStep();
-	std::vector<double> getL2NormDiff();
-
-	void setBasicGridLengths(std::vector<double> basicGridLengths);
-	void setDataToCalc(std::string dataToCalc);
-	void setNormalizeData(std::string normalizeData);
-	void setBasicTimeStep(int basicTimeStep);
-	void setDivergentTimeStep(int divergentTimeStep);
-	void setL2NormForBasicTimeStep(std::vector<double> l2NormForBasicTimeStep);
-	void setL2NormForDivergentTimeStep(std::vector<double> l2NormForDivergentTimeStep);
-	void setL2NormDiff(std::vector<double> l2NormDiff);
-
-	~L2NormLogFileDataImp();
+    static std::shared_ptr<L2NormLogFileDataImp> getNewInstance();
+
+    std::vector<double> getBasicGridLengths();
+    std::string getDataToCalc();
+    std::string getNormalizeData();
+    int getBasicTimeStep();
+    int getDivergentTimeStep();
+    std::vector<double> getL2NormForBasicTimeStep();
+    std::vector<double> getL2NormForDivergentTimeStep();
+    std::vector<double> getL2NormDiff();
+
+    void setBasicGridLengths(std::vector<double> basicGridLengths);
+    void setDataToCalc(std::string dataToCalc);
+    void setNormalizeData(std::string normalizeData);
+    void setBasicTimeStep(int basicTimeStep);
+    void setDivergentTimeStep(int divergentTimeStep);
+    void setL2NormForBasicTimeStep(std::vector<double> l2NormForBasicTimeStep);
+    void setL2NormForDivergentTimeStep(std::vector<double> l2NormForDivergentTimeStep);
+    void setL2NormDiff(std::vector<double> l2NormDiff);
+
+    ~L2NormLogFileDataImp();
 
 private:
-	L2NormLogFileDataImp();
-
-	std::vector<double> basicGridLengths;
-	std::string dataToCalc;
-	std::string normalizeData;
-	int basicTimeStep;
-	int divergentTimeStep;
-	std::vector<double> l2NormForBasicTimeStep;
-	std::vector<double> l2NormForDivergentTimeStep;
-	std::vector<double> l2NormDiff;
+    L2NormLogFileDataImp();
+
+    std::vector<double> basicGridLengths;
+    std::string dataToCalc;
+    std::string normalizeData;
+    int basicTimeStep;
+    int divergentTimeStep;
+    std::vector<double> l2NormForBasicTimeStep;
+    std::vector<double> l2NormForDivergentTimeStep;
+    std::vector<double> l2NormDiff;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/MathematicaAssistant/L2NormMathematicaAssistant.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/MathematicaAssistant/L2NormMathematicaAssistant.cpp
index c8f5b363ac2eed06c38bc69fcf81f4d70fc2879e..416d17b7cabef0a32368fedd214c25482150f16d 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/MathematicaAssistant/L2NormMathematicaAssistant.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/MathematicaAssistant/L2NormMathematicaAssistant.cpp
@@ -9,16 +9,16 @@
 
 std::shared_ptr<L2NormMathematicaAssistant> L2NormMathematicaAssistant::getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory)
 {
-	return std::shared_ptr<L2NormMathematicaAssistant>(new L2NormMathematicaAssistant(functionFactory));
+    return std::shared_ptr<L2NormMathematicaAssistant>(new L2NormMathematicaAssistant(functionFactory));
 }
 
 void L2NormMathematicaAssistant::makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile)
 {
-	std::shared_ptr<SortedDataL2Norm> mySortedData = sortLogFileData(logFileData);
+    std::shared_ptr<SortedDataL2Norm> mySortedData = sortLogFileData(logFileData);
 
-	makeL2NormDiffMathematicaOutput(aMathmaticaFile, mySortedData);
-	makeL2NormBasicTimeStepMathematicaOutput(aMathmaticaFile, mySortedData);
-	makeL2NormDivergentTimeStepMathematicaOutput(aMathmaticaFile, mySortedData);
+    makeL2NormDiffMathematicaOutput(aMathmaticaFile, mySortedData);
+    makeL2NormBasicTimeStepMathematicaOutput(aMathmaticaFile, mySortedData);
+    makeL2NormDivergentTimeStepMathematicaOutput(aMathmaticaFile, mySortedData);
 }
 
 L2NormMathematicaAssistant::L2NormMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory) : MathematicaAssistantImp(functionFactory)
@@ -27,145 +27,145 @@ L2NormMathematicaAssistant::L2NormMathematicaAssistant(std::shared_ptr<Mathemati
 
 bool L2NormMathematicaAssistant::checkTestParameter(std::shared_ptr<L2NormLogFileData> logFileData1, std::shared_ptr<L2NormLogFileData> logFileData2)
 {
-	if (logFileData1->getDataToCalc() != logFileData2->getDataToCalc())
-		return false;
-	if (logFileData1->getNormalizeData() != logFileData2->getNormalizeData())
-		return false;
-	if (logFileData1->getBasicTimeStep() != logFileData2->getBasicTimeStep())
-		return false;
-	if (logFileData1->getDivergentTimeStep() != logFileData2->getDivergentTimeStep())
-		return false;
+    if (logFileData1->getDataToCalc() != logFileData2->getDataToCalc())
+        return false;
+    if (logFileData1->getNormalizeData() != logFileData2->getNormalizeData())
+        return false;
+    if (logFileData1->getBasicTimeStep() != logFileData2->getBasicTimeStep())
+        return false;
+    if (logFileData1->getDivergentTimeStep() != logFileData2->getDivergentTimeStep())
+        return false;
 
 
-	return true;
+    return true;
 }
 
 std::shared_ptr<SortedDataL2Norm> L2NormMathematicaAssistant::sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData)
 {
-	std::vector<std::vector<std::shared_ptr<L2NormLogFileData> > > testLogFileData;
-	std::vector<std::vector<std::string> > basicListNames;
-	for (int i = 0; i < logFileData->getLogFileData(0)->getL2NormLogFileData().size(); i++) {
-		std::vector<std::shared_ptr<L2NormLogFileData> > aTestLogFileDataGroup;
-		aTestLogFileDataGroup.push_back(logFileData->getLogFileData(0)->getL2NormLogFileData().at(i));
-		std::vector<std::string> aListNameGroup;
-		aListNameGroup.push_back(logFileData->getLogFileData(0)->getSimulationSigniture());
-		basicListNames.push_back(aListNameGroup);
-	}
-	for (int i = 0; i < logFileData->getGroupSize(); i++) {
-		for (int j = 0; j < logFileData->getLogFileData(i)->getL2NormLogFileData().size(); j++) {
-			std::string dataToCalc = logFileData->getLogFileData(i)->getL2NormLogFileData().at(j)->getDataToCalc();
-			bool added = false;
-			for (int k = 0; k < testLogFileData.size(); k++) {
-				if (checkTestParameter(logFileData->getLogFileData(i)->getL2NormLogFileData().at(j), testLogFileData.at(k).at(0))) {
-					testLogFileData.at(k).push_back(logFileData->getLogFileData(i)->getL2NormLogFileData().at(j));
-					basicListNames.at(k).push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
-					added = true;
-				}
-			}
-			if (!added) {
-				std::vector<std::shared_ptr<L2NormLogFileData> > aTestLogFileDataGroup;
-				aTestLogFileDataGroup.push_back(logFileData->getLogFileData(i)->getL2NormLogFileData().at(j));
-				testLogFileData.push_back(aTestLogFileDataGroup);
-				std::vector<std::string> aListNameGroup;
-				aListNameGroup.push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
-				basicListNames.push_back(aListNameGroup);
-			}
-		}
-	}
-	std::shared_ptr<SortedDataL2Norm> mySortedData = std::shared_ptr<SortedDataL2Norm>(new SortedDataL2Norm);
-	mySortedData->basicListNames = basicListNames;
-	mySortedData->testLogFileData = testLogFileData;
-
-	return mySortedData;
+    std::vector<std::vector<std::shared_ptr<L2NormLogFileData> > > testLogFileData;
+    std::vector<std::vector<std::string> > basicListNames;
+    for (int i = 0; i < logFileData->getLogFileData(0)->getL2NormLogFileData().size(); i++) {
+        std::vector<std::shared_ptr<L2NormLogFileData> > aTestLogFileDataGroup;
+        aTestLogFileDataGroup.push_back(logFileData->getLogFileData(0)->getL2NormLogFileData().at(i));
+        std::vector<std::string> aListNameGroup;
+        aListNameGroup.push_back(logFileData->getLogFileData(0)->getSimulationSigniture());
+        basicListNames.push_back(aListNameGroup);
+    }
+    for (int i = 0; i < logFileData->getGroupSize(); i++) {
+        for (int j = 0; j < logFileData->getLogFileData(i)->getL2NormLogFileData().size(); j++) {
+            std::string dataToCalc = logFileData->getLogFileData(i)->getL2NormLogFileData().at(j)->getDataToCalc();
+            bool added = false;
+            for (int k = 0; k < testLogFileData.size(); k++) {
+                if (checkTestParameter(logFileData->getLogFileData(i)->getL2NormLogFileData().at(j), testLogFileData.at(k).at(0))) {
+                    testLogFileData.at(k).push_back(logFileData->getLogFileData(i)->getL2NormLogFileData().at(j));
+                    basicListNames.at(k).push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
+                    added = true;
+                }
+            }
+            if (!added) {
+                std::vector<std::shared_ptr<L2NormLogFileData> > aTestLogFileDataGroup;
+                aTestLogFileDataGroup.push_back(logFileData->getLogFileData(i)->getL2NormLogFileData().at(j));
+                testLogFileData.push_back(aTestLogFileDataGroup);
+                std::vector<std::string> aListNameGroup;
+                aListNameGroup.push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
+                basicListNames.push_back(aListNameGroup);
+            }
+        }
+    }
+    std::shared_ptr<SortedDataL2Norm> mySortedData = std::shared_ptr<SortedDataL2Norm>(new SortedDataL2Norm);
+    mySortedData->basicListNames = basicListNames;
+    mySortedData->testLogFileData = testLogFileData;
+
+    return mySortedData;
 }
 
 void L2NormMathematicaAssistant::makeL2NormDiffMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		std::vector<std::vector<double> > gridLengths;
-		std::vector<std::vector<double> > l2NormDiff;
-		std::vector<std::string> aBasicListNamesList;
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			l2NormDiff.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormDiff());
-			aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
-		}
-		std::vector<std::string> finalListNames = finalizeListNames(aBasicListNamesList, "L2NormDiff", sortedData->testLogFileData.at(i).at(0)->getDataToCalc(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData());
-		
-		addSecondOrderOfAccuracyRef(gridLengths, l2NormDiff, finalListNames);
-		addFourthOrderOfAccuracyRef(gridLengths, l2NormDiff, finalListNames);
-		addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, l2NormDiff, "L[dx]", "L2NormDiff[-]");
-	}
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        std::vector<std::vector<double> > gridLengths;
+        std::vector<std::vector<double> > l2NormDiff;
+        std::vector<std::string> aBasicListNamesList;
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            l2NormDiff.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormDiff());
+            aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
+        }
+        std::vector<std::string> finalListNames = finalizeListNames(aBasicListNamesList, "L2NormDiff", sortedData->testLogFileData.at(i).at(0)->getDataToCalc(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData());
+        
+        addSecondOrderOfAccuracyRef(gridLengths, l2NormDiff, finalListNames);
+        addFourthOrderOfAccuracyRef(gridLengths, l2NormDiff, finalListNames);
+        addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, l2NormDiff, "L[dx]", "L2NormDiff[-]");
+    }
 }
 
 void L2NormMathematicaAssistant::makeL2NormAllTimeStepsMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		std::vector<std::vector<double> > gridLengths;
-		std::vector<std::vector<double> > l2Norm;
-		std::vector<std::string> aBasicListNamesList;
-		std::vector<std::string> basicTimeSteps;
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			l2Norm.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForBasicTimeStep());
-			l2Norm.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForDivergentTimeStep());
-			aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
-			aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
-			std::ostringstream aBasicTimeStep;
-			aBasicTimeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(j)->getBasicTimeStep();
-			basicTimeSteps.push_back(aBasicTimeStep.str());
-			std::ostringstream aDivTimeStep;
-			aDivTimeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(j)->getDivergentTimeStep();
-			basicTimeSteps.push_back(aDivTimeStep.str());
-		}
-
-		std::vector<std::string> finalListNamesBasic = finalizeListNames(aBasicListNamesList, "L2NormAllTimeSteps", sortedData->testLogFileData.at(i).at(0)->getDataToCalc(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), basicTimeSteps);
-
-		addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNamesBasic, gridLengths, l2Norm, "L[dx]", "L2Norm[-]");
-	}
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        std::vector<std::vector<double> > gridLengths;
+        std::vector<std::vector<double> > l2Norm;
+        std::vector<std::string> aBasicListNamesList;
+        std::vector<std::string> basicTimeSteps;
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            l2Norm.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForBasicTimeStep());
+            l2Norm.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForDivergentTimeStep());
+            aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
+            aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
+            std::ostringstream aBasicTimeStep;
+            aBasicTimeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(j)->getBasicTimeStep();
+            basicTimeSteps.push_back(aBasicTimeStep.str());
+            std::ostringstream aDivTimeStep;
+            aDivTimeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(j)->getDivergentTimeStep();
+            basicTimeSteps.push_back(aDivTimeStep.str());
+        }
+
+        std::vector<std::string> finalListNamesBasic = finalizeListNames(aBasicListNamesList, "L2NormAllTimeSteps", sortedData->testLogFileData.at(i).at(0)->getDataToCalc(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), basicTimeSteps);
+
+        addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNamesBasic, gridLengths, l2Norm, "L[dx]", "L2Norm[-]");
+    }
 }
 
 void L2NormMathematicaAssistant::makeL2NormBasicTimeStepMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		std::vector<std::vector<double> > gridLengths;
-		std::vector<std::vector<double> > l2NormBasic;
-		std::vector<std::string> aBasicListNamesList;
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			l2NormBasic.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForBasicTimeStep());
-			aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
-		}
-		std::ostringstream basicTimeStep;
-		basicTimeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(0)->getBasicTimeStep();
-		std::vector<std::string> finalListNamesBasic = finalizeListNames(aBasicListNamesList, "L2Norm", sortedData->testLogFileData.at(i).at(0)->getDataToCalc(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), basicTimeStep.str());
-		
-		addSecondOrderOfAccuracyRef(gridLengths, l2NormBasic, finalListNamesBasic);
-		addFourthOrderOfAccuracyRef(gridLengths, l2NormBasic, finalListNamesBasic);
-		addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNamesBasic, gridLengths, l2NormBasic, "L[dx]", "L2Norm[-]");
-	}
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        std::vector<std::vector<double> > gridLengths;
+        std::vector<std::vector<double> > l2NormBasic;
+        std::vector<std::string> aBasicListNamesList;
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            l2NormBasic.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForBasicTimeStep());
+            aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
+        }
+        std::ostringstream basicTimeStep;
+        basicTimeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(0)->getBasicTimeStep();
+        std::vector<std::string> finalListNamesBasic = finalizeListNames(aBasicListNamesList, "L2Norm", sortedData->testLogFileData.at(i).at(0)->getDataToCalc(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), basicTimeStep.str());
+        
+        addSecondOrderOfAccuracyRef(gridLengths, l2NormBasic, finalListNamesBasic);
+        addFourthOrderOfAccuracyRef(gridLengths, l2NormBasic, finalListNamesBasic);
+        addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNamesBasic, gridLengths, l2NormBasic, "L[dx]", "L2Norm[-]");
+    }
 }
 
 void L2NormMathematicaAssistant::makeL2NormDivergentTimeStepMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		std::vector<std::vector<double> > gridLengths;
-		std::vector<std::vector<double> > l2NormDivergent;
-		std::vector<std::string> aBasicListNamesList;
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			l2NormDivergent.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForDivergentTimeStep());
-			aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
-		}
-		std::ostringstream divTimeStep;
-		divTimeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(0)->getDivergentTimeStep();
-		std::vector<std::string> finalListNamesDiv = finalizeListNames(aBasicListNamesList, "L2Norm", sortedData->testLogFileData.at(i).at(0)->getDataToCalc(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), divTimeStep.str());
-		
-		addSecondOrderOfAccuracyRef(gridLengths, l2NormDivergent, finalListNamesDiv);
-		addFourthOrderOfAccuracyRef(gridLengths, l2NormDivergent, finalListNamesDiv);
-		addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNamesDiv, gridLengths, l2NormDivergent, "L[dx]", "L2Norm[-]");
-	}
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        std::vector<std::vector<double> > gridLengths;
+        std::vector<std::vector<double> > l2NormDivergent;
+        std::vector<std::string> aBasicListNamesList;
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            l2NormDivergent.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForDivergentTimeStep());
+            aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
+        }
+        std::ostringstream divTimeStep;
+        divTimeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(0)->getDivergentTimeStep();
+        std::vector<std::string> finalListNamesDiv = finalizeListNames(aBasicListNamesList, "L2Norm", sortedData->testLogFileData.at(i).at(0)->getDataToCalc(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), divTimeStep.str());
+        
+        addSecondOrderOfAccuracyRef(gridLengths, l2NormDivergent, finalListNamesDiv);
+        addFourthOrderOfAccuracyRef(gridLengths, l2NormDivergent, finalListNamesDiv);
+        addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNamesDiv, gridLengths, l2NormDivergent, "L[dx]", "L2Norm[-]");
+    }
 }
 
 L2NormMathematicaAssistant::L2NormMathematicaAssistant()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/MathematicaAssistant/L2NormMathematicaAssistant.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/MathematicaAssistant/L2NormMathematicaAssistant.h
index 92e38b57f985f33f40d7f55b4c8eb3f3309daa54..bd4fbeabf1506c6de83582a4bc0d773dd31959de 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/MathematicaAssistant/L2NormMathematicaAssistant.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2Norm/MathematicaAssistant/L2NormMathematicaAssistant.h
@@ -7,30 +7,30 @@ class MathematicaFunctionFactory;
 class L2NormLogFileData;
 
 struct SortedDataL2Norm {
-	std::vector<std::vector<std::shared_ptr<L2NormLogFileData> > > testLogFileData;
-	std::vector<std::vector<std::string> > basicListNames;
+    std::vector<std::vector<std::shared_ptr<L2NormLogFileData> > > testLogFileData;
+    std::vector<std::vector<std::string> > basicListNames;
 };
 
 class L2NormMathematicaAssistant : public MathematicaAssistantImp
 {
 public:
-	static std::shared_ptr<L2NormMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    static std::shared_ptr<L2NormMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
+    void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
 
-	
+    
 private:
-	L2NormMathematicaAssistant();
-	L2NormMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    L2NormMathematicaAssistant();
+    L2NormMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	bool checkTestParameter(std::shared_ptr<L2NormLogFileData> logFileData1, std::shared_ptr<L2NormLogFileData> logFileData2);
-	std::shared_ptr<SortedDataL2Norm> sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData);
+    bool checkTestParameter(std::shared_ptr<L2NormLogFileData> logFileData1, std::shared_ptr<L2NormLogFileData> logFileData2);
+    std::shared_ptr<SortedDataL2Norm> sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData);
 
-	void makeL2NormDiffMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData);
-	void makeL2NormAllTimeStepsMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData);
-	void makeL2NormBasicTimeStepMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData);
-	void makeL2NormDivergentTimeStepMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData);
+    void makeL2NormDiffMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData);
+    void makeL2NormAllTimeStepsMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData);
+    void makeL2NormBasicTimeStepMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData);
+    void makeL2NormDivergentTimeStepMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2Norm> sortedData);
 
-	
+    
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileData.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileData.h
index 218f4777b741e4f3ebb956172341338486cf11f9..f42f493c9f51125e82e2feaeb29fb269a86976b7 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileData.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileData.h
@@ -7,14 +7,14 @@
 class L2NormBetweenKernelsLogFileData
 {
 public:
-	virtual std::vector<double> getBasicGridLengths() = 0;
-	virtual std::string getBasicKernel() = 0;
-	virtual std::string getDivergentKernel() = 0;
-	virtual std::string getDataToCalculate() = 0;
-	virtual int getTimeStep() = 0;
-	virtual std::vector<double> getL2NormForBasicKernel() = 0;
-	virtual std::vector<double> getL2NormForDivergentKernel() = 0;
-	virtual std::vector<double> getL2NormBetweenKernels() = 0;
-	virtual std::string getNormalizeData() = 0;
+    virtual std::vector<double> getBasicGridLengths() = 0;
+    virtual std::string getBasicKernel() = 0;
+    virtual std::string getDivergentKernel() = 0;
+    virtual std::string getDataToCalculate() = 0;
+    virtual int getTimeStep() = 0;
+    virtual std::vector<double> getL2NormForBasicKernel() = 0;
+    virtual std::vector<double> getL2NormForDivergentKernel() = 0;
+    virtual std::vector<double> getL2NormBetweenKernels() = 0;
+    virtual std::string getNormalizeData() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileDataImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileDataImp.cpp
index cbe8a52088377a16b27f45a6f5e7361d1cd2470c..b637fa04eedde4dc47eb603618cb3a6a4f801909 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileDataImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileDataImp.cpp
@@ -2,97 +2,97 @@
 
 std::shared_ptr<L2NormBetweenKernelsLogFileDataImp> L2NormBetweenKernelsLogFileDataImp::getNewInstance()
 {
-	return std::shared_ptr<L2NormBetweenKernelsLogFileDataImp>(new L2NormBetweenKernelsLogFileDataImp());
+    return std::shared_ptr<L2NormBetweenKernelsLogFileDataImp>(new L2NormBetweenKernelsLogFileDataImp());
 }
 
 std::vector<double> L2NormBetweenKernelsLogFileDataImp::getBasicGridLengths()
 {
-	return basicGridLengths;
+    return basicGridLengths;
 }
 
 std::string L2NormBetweenKernelsLogFileDataImp::getBasicKernel()
 {
-	return basicKernel;
+    return basicKernel;
 }
 
 std::string L2NormBetweenKernelsLogFileDataImp::getDivergentKernel()
 {
-	return divergentKernel;
+    return divergentKernel;
 }
 
 std::string L2NormBetweenKernelsLogFileDataImp::getDataToCalculate()
 {
-	return dataToCalc;
+    return dataToCalc;
 }
 
 int L2NormBetweenKernelsLogFileDataImp::getTimeStep()
 {
-	return timeStep;
+    return timeStep;
 }
 
 std::vector<double> L2NormBetweenKernelsLogFileDataImp::getL2NormForBasicKernel()
 {
-	return l2NormForBasicKernel;
+    return l2NormForBasicKernel;
 }
 
 std::vector<double> L2NormBetweenKernelsLogFileDataImp::getL2NormForDivergentKernel()
 {
-	return l2NormForDivergentKernel;
+    return l2NormForDivergentKernel;
 }
 
 std::vector<double> L2NormBetweenKernelsLogFileDataImp::getL2NormBetweenKernels()
 {
-	return l2NormBetweenKernels;
+    return l2NormBetweenKernels;
 }
 
 std::string L2NormBetweenKernelsLogFileDataImp::getNormalizeData()
 {
-	return normalizeData;
+    return normalizeData;
 }
 
 void L2NormBetweenKernelsLogFileDataImp::setBasicGridLengths(std::vector<double> basicGridLengths)
 {
-	this->basicGridLengths = basicGridLengths;
+    this->basicGridLengths = basicGridLengths;
 }
 
 void L2NormBetweenKernelsLogFileDataImp::setBasicKernel(std::string basicKernel)
 {
-	this->basicKernel = basicKernel;
+    this->basicKernel = basicKernel;
 }
 
 void L2NormBetweenKernelsLogFileDataImp::setDivergentKernel(std::string divergentKernel)
 {
-	this->divergentKernel = divergentKernel;
+    this->divergentKernel = divergentKernel;
 }
 
 void L2NormBetweenKernelsLogFileDataImp::setDataToCalculate(std::string dataToCalc)
 {
-	this->dataToCalc = dataToCalc;
+    this->dataToCalc = dataToCalc;
 }
 
 void L2NormBetweenKernelsLogFileDataImp::setTimeStep(int timeStep)
 {
-	this->timeStep = timeStep;
+    this->timeStep = timeStep;
 }
 
 void L2NormBetweenKernelsLogFileDataImp::setL2NormForBasicKernel(std::vector<double> l2Norm)
 {
-	this->l2NormForBasicKernel = l2Norm;
+    this->l2NormForBasicKernel = l2Norm;
 }
 
 void L2NormBetweenKernelsLogFileDataImp::setL2NormForDivergentKernel(std::vector<double> l2Norm)
 {
-	this->l2NormForDivergentKernel = l2Norm;
+    this->l2NormForDivergentKernel = l2Norm;
 }
 
 void L2NormBetweenKernelsLogFileDataImp::setL2NormBetweenKernels(std::vector<double> l2Norm)
 {
-	this->l2NormBetweenKernels = l2Norm;
+    this->l2NormBetweenKernels = l2Norm;
 }
 
 void L2NormBetweenKernelsLogFileDataImp::setNormalizeData(std::string normalizeData)
 {
-	this->normalizeData = normalizeData;
+    this->normalizeData = normalizeData;
 }
 
 L2NormBetweenKernelsLogFileDataImp::L2NormBetweenKernelsLogFileDataImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileDataImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileDataImp.h
index 2e18bb248581eca4e356c26d68779f48e471cb9d..2a30798e3c9291092eedfc71158227c6d23dbac7 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileDataImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/LogFileData/L2NormBetweenKernelsLogFileDataImp.h
@@ -8,41 +8,41 @@
 class L2NormBetweenKernelsLogFileDataImp : public L2NormBetweenKernelsLogFileData
 {
 public:
-	static std::shared_ptr<L2NormBetweenKernelsLogFileDataImp> getNewInstance();
-
-	std::vector<double> getBasicGridLengths();
-	std::string getBasicKernel();
-	std::string getDivergentKernel();
-	std::string getDataToCalculate();
-	int getTimeStep();
-	std::vector<double> getL2NormForBasicKernel();
-	std::vector<double> getL2NormForDivergentKernel();
-	std::vector<double> getL2NormBetweenKernels();
-	std::string getNormalizeData();
-
-	void setBasicGridLengths(std::vector<double> basicGridLengths);
-	void setBasicKernel(std::string basicKernel);
-	void setDivergentKernel(std::string divergentKernel);
-	void setDataToCalculate(std::string dataToCalc);
-	void setTimeStep(int timeStep);
-	void setL2NormForBasicKernel(std::vector<double> l2Norm);
-	void setL2NormForDivergentKernel(std::vector<double> l2Norm);
-	void setL2NormBetweenKernels(std::vector<double> l2Norm);
-	void setNormalizeData(std::string normalizeData);
-
-	~L2NormBetweenKernelsLogFileDataImp();
+    static std::shared_ptr<L2NormBetweenKernelsLogFileDataImp> getNewInstance();
+
+    std::vector<double> getBasicGridLengths();
+    std::string getBasicKernel();
+    std::string getDivergentKernel();
+    std::string getDataToCalculate();
+    int getTimeStep();
+    std::vector<double> getL2NormForBasicKernel();
+    std::vector<double> getL2NormForDivergentKernel();
+    std::vector<double> getL2NormBetweenKernels();
+    std::string getNormalizeData();
+
+    void setBasicGridLengths(std::vector<double> basicGridLengths);
+    void setBasicKernel(std::string basicKernel);
+    void setDivergentKernel(std::string divergentKernel);
+    void setDataToCalculate(std::string dataToCalc);
+    void setTimeStep(int timeStep);
+    void setL2NormForBasicKernel(std::vector<double> l2Norm);
+    void setL2NormForDivergentKernel(std::vector<double> l2Norm);
+    void setL2NormBetweenKernels(std::vector<double> l2Norm);
+    void setNormalizeData(std::string normalizeData);
+
+    ~L2NormBetweenKernelsLogFileDataImp();
 
 private:
-	L2NormBetweenKernelsLogFileDataImp();
-
-	std::vector<double> basicGridLengths;
-	std::string basicKernel;
-	std::string divergentKernel;
-	std::string dataToCalc;
-	int timeStep;
-	std::vector<double> l2NormForBasicKernel;
-	std::vector<double> l2NormForDivergentKernel;
-	std::vector<double> l2NormBetweenKernels;
-	std::string normalizeData;
+    L2NormBetweenKernelsLogFileDataImp();
+
+    std::vector<double> basicGridLengths;
+    std::string basicKernel;
+    std::string divergentKernel;
+    std::string dataToCalc;
+    int timeStep;
+    std::vector<double> l2NormForBasicKernel;
+    std::vector<double> l2NormForDivergentKernel;
+    std::vector<double> l2NormBetweenKernels;
+    std::string normalizeData;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/MathematicaAssistant/L2NormBetweenKernelsMathematicaAssistant.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/MathematicaAssistant/L2NormBetweenKernelsMathematicaAssistant.cpp
index 21babc559d9dab0af80c6fa2675c7749449288fc..af64797a43a35c13c4c92175b53898b1dba5e79d 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/MathematicaAssistant/L2NormBetweenKernelsMathematicaAssistant.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/MathematicaAssistant/L2NormBetweenKernelsMathematicaAssistant.cpp
@@ -9,15 +9,15 @@
 
 std::shared_ptr<L2NormBetweenKernelsMathematicaAssistant> L2NormBetweenKernelsMathematicaAssistant::getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory)
 {
-	return std::shared_ptr<L2NormBetweenKernelsMathematicaAssistant>(new L2NormBetweenKernelsMathematicaAssistant(functionFactory));
+    return std::shared_ptr<L2NormBetweenKernelsMathematicaAssistant>(new L2NormBetweenKernelsMathematicaAssistant(functionFactory));
 }
 
 void L2NormBetweenKernelsMathematicaAssistant::makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile)
 {
-	std::shared_ptr<SortedDataL2NormBetweenKernels> mySortedData = sortLogFileData(logFileData);
+    std::shared_ptr<SortedDataL2NormBetweenKernels> mySortedData = sortLogFileData(logFileData);
 
-	makeL2NormMathematicaOutput(aMathmaticaFile, mySortedData);
-	makeL2NormBetweenKernelsMathematicaOutput(aMathmaticaFile, mySortedData);
+    makeL2NormMathematicaOutput(aMathmaticaFile, mySortedData);
+    makeL2NormBetweenKernelsMathematicaOutput(aMathmaticaFile, mySortedData);
 }
 
 L2NormBetweenKernelsMathematicaAssistant::L2NormBetweenKernelsMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory) : MathematicaAssistantImp(functionFactory)
@@ -26,112 +26,112 @@ L2NormBetweenKernelsMathematicaAssistant::L2NormBetweenKernelsMathematicaAssista
 
 bool L2NormBetweenKernelsMathematicaAssistant::checkTestParameter(std::shared_ptr<L2NormBetweenKernelsLogFileData> logFileData1, std::shared_ptr<L2NormBetweenKernelsLogFileData> logFileData2)
 {
-	if (logFileData1->getBasicKernel() != logFileData2->getBasicKernel())
-		return false;
-	if (logFileData1->getNormalizeData() != logFileData2->getNormalizeData())
-		return false;
-	if (logFileData1->getTimeStep() != logFileData2->getTimeStep())
-		return false;
-	if (logFileData1->getDataToCalculate() != logFileData2->getDataToCalculate())
-		return false;
+    if (logFileData1->getBasicKernel() != logFileData2->getBasicKernel())
+        return false;
+    if (logFileData1->getNormalizeData() != logFileData2->getNormalizeData())
+        return false;
+    if (logFileData1->getTimeStep() != logFileData2->getTimeStep())
+        return false;
+    if (logFileData1->getDataToCalculate() != logFileData2->getDataToCalculate())
+        return false;
 
 
-	return true;
+    return true;
 }
 
 std::shared_ptr<SortedDataL2NormBetweenKernels> L2NormBetweenKernelsMathematicaAssistant::sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData)
 {
-	std::vector<std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > > testLogFileData;
-	std::vector<std::vector<std::string> > basicListNames;
-	for (int i = 0; i < logFileData->getLogFileData(0)->getL2NormBetweenKernelsLogFileData().size(); i++) {
-		std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > aTestLogFileDataGroup;
-		aTestLogFileDataGroup.push_back(logFileData->getLogFileData(0)->getL2NormBetweenKernelsLogFileData().at(i));
-		std::vector<std::string> aListNameGroup;
-		aListNameGroup.push_back(logFileData->getLogFileData(0)->getSimulationSigniture());
-		basicListNames.push_back(aListNameGroup);
-	}
-	for (int i = 0; i < logFileData->getGroupSize(); i++) {
-		for (int j = 0; j < logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().size(); j++) {
-			std::string dataToCalc = logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().at(j)->getDataToCalculate();
-			bool added = false;
-			for (int k = 0; k < testLogFileData.size(); k++) {
-				if (checkTestParameter(logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().at(j), testLogFileData.at(k).at(0))) {
-					testLogFileData.at(k).push_back(logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().at(j));
-					basicListNames.at(k).push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
-					added = true;
-				}
-			}
-			if (!added) {
-				std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > aTestLogFileDataGroup;
-				aTestLogFileDataGroup.push_back(logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().at(j));
-				testLogFileData.push_back(aTestLogFileDataGroup);
-				std::vector<std::string> aListNameGroup;
-				aListNameGroup.push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
-				basicListNames.push_back(aListNameGroup);
-			}
-		}
-	}
-	std::shared_ptr<SortedDataL2NormBetweenKernels> mySortedData = std::shared_ptr<SortedDataL2NormBetweenKernels>(new SortedDataL2NormBetweenKernels);
-	mySortedData->basicListNames = basicListNames;
-	mySortedData->testLogFileData = testLogFileData;
-
-	return mySortedData;
+    std::vector<std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > > testLogFileData;
+    std::vector<std::vector<std::string> > basicListNames;
+    for (int i = 0; i < logFileData->getLogFileData(0)->getL2NormBetweenKernelsLogFileData().size(); i++) {
+        std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > aTestLogFileDataGroup;
+        aTestLogFileDataGroup.push_back(logFileData->getLogFileData(0)->getL2NormBetweenKernelsLogFileData().at(i));
+        std::vector<std::string> aListNameGroup;
+        aListNameGroup.push_back(logFileData->getLogFileData(0)->getSimulationSigniture());
+        basicListNames.push_back(aListNameGroup);
+    }
+    for (int i = 0; i < logFileData->getGroupSize(); i++) {
+        for (int j = 0; j < logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().size(); j++) {
+            std::string dataToCalc = logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().at(j)->getDataToCalculate();
+            bool added = false;
+            for (int k = 0; k < testLogFileData.size(); k++) {
+                if (checkTestParameter(logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().at(j), testLogFileData.at(k).at(0))) {
+                    testLogFileData.at(k).push_back(logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().at(j));
+                    basicListNames.at(k).push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
+                    added = true;
+                }
+            }
+            if (!added) {
+                std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > aTestLogFileDataGroup;
+                aTestLogFileDataGroup.push_back(logFileData->getLogFileData(i)->getL2NormBetweenKernelsLogFileData().at(j));
+                testLogFileData.push_back(aTestLogFileDataGroup);
+                std::vector<std::string> aListNameGroup;
+                aListNameGroup.push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
+                basicListNames.push_back(aListNameGroup);
+            }
+        }
+    }
+    std::shared_ptr<SortedDataL2NormBetweenKernels> mySortedData = std::shared_ptr<SortedDataL2NormBetweenKernels>(new SortedDataL2NormBetweenKernels);
+    mySortedData->basicListNames = basicListNames;
+    mySortedData->testLogFileData = testLogFileData;
+
+    return mySortedData;
 }
 
 void L2NormBetweenKernelsMathematicaAssistant::makeL2NormMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2NormBetweenKernels> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		std::vector<std::vector<double> > gridLengths;
-		std::vector<std::vector<double> > l2Norm;
-		std::vector<std::string> aListNamesList;
-		std::vector<std::string> timeSteps;
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			l2Norm.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForBasicKernel());
-			l2Norm.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForDivergentKernel());
-			aListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
-
-			std::string divergentKernel = sortedData->basicListNames.at(i).at(j);
-			int sizeOfString = sortedData->testLogFileData.at(i).at(j)->getDivergentKernel().size();
-			divergentKernel.erase(divergentKernel.begin(), divergentKernel.begin() + sizeOfString);
-			divergentKernel = sortedData->testLogFileData.at(i).at(j)->getBasicKernel() + divergentKernel;
-			aListNamesList.push_back(divergentKernel);
-
-			std::ostringstream timeStep;
-			timeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(j)->getTimeStep();
-			timeSteps.push_back(timeStep.str());
-			timeSteps.push_back(timeStep.str());
-		}
-		
-		std::vector<std::string> finalListNames = finalizeListNames(aListNamesList, "L2Norm", sortedData->testLogFileData.at(i).at(0)->getDataToCalculate(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), timeSteps);
-
-		addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, l2Norm, "L[dx]", "L2Norm[-]");
-	}
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        std::vector<std::vector<double> > gridLengths;
+        std::vector<std::vector<double> > l2Norm;
+        std::vector<std::string> aListNamesList;
+        std::vector<std::string> timeSteps;
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            l2Norm.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForBasicKernel());
+            l2Norm.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormForDivergentKernel());
+            aListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
+
+            std::string divergentKernel = sortedData->basicListNames.at(i).at(j);
+            int sizeOfString = sortedData->testLogFileData.at(i).at(j)->getDivergentKernel().size();
+            divergentKernel.erase(divergentKernel.begin(), divergentKernel.begin() + sizeOfString);
+            divergentKernel = sortedData->testLogFileData.at(i).at(j)->getBasicKernel() + divergentKernel;
+            aListNamesList.push_back(divergentKernel);
+
+            std::ostringstream timeStep;
+            timeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(j)->getTimeStep();
+            timeSteps.push_back(timeStep.str());
+            timeSteps.push_back(timeStep.str());
+        }
+        
+        std::vector<std::string> finalListNames = finalizeListNames(aListNamesList, "L2Norm", sortedData->testLogFileData.at(i).at(0)->getDataToCalculate(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), timeSteps);
+
+        addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, l2Norm, "L[dx]", "L2Norm[-]");
+    }
 }
 
 void L2NormBetweenKernelsMathematicaAssistant::makeL2NormBetweenKernelsMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2NormBetweenKernels> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		std::vector<std::vector<double> > gridLengths;
-		std::vector<std::vector<double> > l2NormBK;
-		std::vector<std::string> aListNamesList;
-		std::vector<std::string> timeSteps;
-		std::vector<std::string> basicKernel;
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			l2NormBK.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormBetweenKernels());
-			aListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
-			basicKernel.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicKernel());
-			std::ostringstream timeStep;
-			timeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(j)->getTimeStep();
-			timeSteps.push_back(timeStep.str());
-		}
-
-		std::vector<std::string> finalListNames = finalizeListNames(aListNamesList, "L2NormBetweenKernels", sortedData->testLogFileData.at(i).at(0)->getDataToCalculate(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), timeSteps, basicKernel);
-
-		addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, l2NormBK, "L[dx]", "L2Norm[-]");
-	}
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        std::vector<std::vector<double> > gridLengths;
+        std::vector<std::vector<double> > l2NormBK;
+        std::vector<std::string> aListNamesList;
+        std::vector<std::string> timeSteps;
+        std::vector<std::string> basicKernel;
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            l2NormBK.push_back(sortedData->testLogFileData.at(i).at(j)->getL2NormBetweenKernels());
+            aListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
+            basicKernel.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicKernel());
+            std::ostringstream timeStep;
+            timeStep << "TimeStep" << sortedData->testLogFileData.at(i).at(j)->getTimeStep();
+            timeSteps.push_back(timeStep.str());
+        }
+
+        std::vector<std::string> finalListNames = finalizeListNames(aListNamesList, "L2NormBetweenKernels", sortedData->testLogFileData.at(i).at(0)->getDataToCalculate(), sortedData->testLogFileData.at(i).at(0)->getNormalizeData(), timeSteps, basicKernel);
+
+        addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, l2NormBK, "L[dx]", "L2Norm[-]");
+    }
 }
 
 L2NormBetweenKernelsMathematicaAssistant::L2NormBetweenKernelsMathematicaAssistant()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/MathematicaAssistant/L2NormBetweenKernelsMathematicaAssistant.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/MathematicaAssistant/L2NormBetweenKernelsMathematicaAssistant.h
index e0a329876ecd43719d4a7f8a63b03d234fff0923..76d880ad95bd10049043f6d3e019849a2cf699fb 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/MathematicaAssistant/L2NormBetweenKernelsMathematicaAssistant.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/L2NormBetweenKernels/MathematicaAssistant/L2NormBetweenKernelsMathematicaAssistant.h
@@ -7,28 +7,28 @@ class MathematicaFunctionFactory;
 class L2NormBetweenKernelsLogFileData;
 
 struct SortedDataL2NormBetweenKernels {
-	std::vector<std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > > testLogFileData;
-	std::vector<std::vector<std::string> > basicListNames;
+    std::vector<std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > > testLogFileData;
+    std::vector<std::vector<std::string> > basicListNames;
 };
 
 class L2NormBetweenKernelsMathematicaAssistant : public MathematicaAssistantImp
 {
 public:
-	static std::shared_ptr<L2NormBetweenKernelsMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    static std::shared_ptr<L2NormBetweenKernelsMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
+    void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
 
-	
+    
 private:
-	L2NormBetweenKernelsMathematicaAssistant();
-	L2NormBetweenKernelsMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    L2NormBetweenKernelsMathematicaAssistant();
+    L2NormBetweenKernelsMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	bool checkTestParameter(std::shared_ptr<L2NormBetweenKernelsLogFileData> logFileData1, std::shared_ptr<L2NormBetweenKernelsLogFileData> logFileData2);
-	std::shared_ptr<SortedDataL2NormBetweenKernels> sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData);
+    bool checkTestParameter(std::shared_ptr<L2NormBetweenKernelsLogFileData> logFileData1, std::shared_ptr<L2NormBetweenKernelsLogFileData> logFileData2);
+    std::shared_ptr<SortedDataL2NormBetweenKernels> sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData);
 
-	void makeL2NormMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2NormBetweenKernels> sortedData);
-	void makeL2NormBetweenKernelsMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2NormBetweenKernels> sortedData);
+    void makeL2NormMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2NormBetweenKernels> sortedData);
+    void makeL2NormBetweenKernelsMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataL2NormBetweenKernels> sortedData);
 
-	
+    
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileData.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileData.h
index c4367ef591f5a02a6ec410e4dbaec48ea76f368e..094616512070ba9181c99cb1a6d07079c6f8a6ff 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileData.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileData.h
@@ -8,12 +8,12 @@
 class NyLogFileData
 {
 public:
-	virtual std::vector<double> getBasicGridLengths() = 0;
-	virtual int getStartTimeStepCalculation() = 0;
-	virtual int getEndTimeStepCalculation() = 0;
-	virtual std::string getDataToCalc() = 0;
-	virtual std::vector<double> getNy() = 0;
-	virtual std::vector<double> getNyDiff() = 0;
-	virtual std::vector<std::vector<double> > getOrderOfAccuracy() = 0;
+    virtual std::vector<double> getBasicGridLengths() = 0;
+    virtual int getStartTimeStepCalculation() = 0;
+    virtual int getEndTimeStepCalculation() = 0;
+    virtual std::string getDataToCalc() = 0;
+    virtual std::vector<double> getNy() = 0;
+    virtual std::vector<double> getNyDiff() = 0;
+    virtual std::vector<std::vector<double> > getOrderOfAccuracy() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileDataImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileDataImp.cpp
index 4f7be6d1cb293b6bc675b3b0d9cd656c547635a9..a995f7242102e701078a34cdb8aa1da83a6bdee5 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileDataImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileDataImp.cpp
@@ -2,77 +2,77 @@
 
 std::shared_ptr<NyLogFileDataImp> NyLogFileDataImp::getNewInstance()
 {
-	return std::shared_ptr<NyLogFileDataImp>(new NyLogFileDataImp());
+    return std::shared_ptr<NyLogFileDataImp>(new NyLogFileDataImp());
 }
 
 std::vector<double> NyLogFileDataImp::getBasicGridLengths()
 {
-	return basicGridLengths;
+    return basicGridLengths;
 }
 
 int NyLogFileDataImp::getStartTimeStepCalculation()
 {
-	return startTimeStepCalculation;
+    return startTimeStepCalculation;
 }
 
 int NyLogFileDataImp::getEndTimeStepCalculation()
 {
-	return endTimeStepCalculation;
+    return endTimeStepCalculation;
 }
 
 std::string NyLogFileDataImp::getDataToCalc()
 {
-	return dataToCalc;
+    return dataToCalc;
 }
 
 std::vector<double> NyLogFileDataImp::getNy()
 {
-	return ny;
+    return ny;
 }
 
 std::vector<double> NyLogFileDataImp::getNyDiff()
 {
-	return nyDiff;
+    return nyDiff;
 }
 
 std::vector<std::vector<double>> NyLogFileDataImp::getOrderOfAccuracy()
 {
-	return orderOfAccuracy;
+    return orderOfAccuracy;
 }
 
 void NyLogFileDataImp::setBasicGridLengths(std::vector<double> basicGridLengths)
 {
-	this->basicGridLengths = basicGridLengths;
+    this->basicGridLengths = basicGridLengths;
 }
 
 void NyLogFileDataImp::setStartTimeStepCalculation(int startTimeStepCalculation)
 {
-	this->startTimeStepCalculation = startTimeStepCalculation;
+    this->startTimeStepCalculation = startTimeStepCalculation;
 }
 
 void NyLogFileDataImp::setEndTimeStepCalculation(int endTimeStepCalculation)
 {
-	this->endTimeStepCalculation = endTimeStepCalculation;
+    this->endTimeStepCalculation = endTimeStepCalculation;
 }
 
 void NyLogFileDataImp::setDataToCalc(std::string dataToCalc)
 {
-	this->dataToCalc = dataToCalc;
+    this->dataToCalc = dataToCalc;
 }
 
 void NyLogFileDataImp::setNy(std::vector<double> ny)
 {
-	this->ny = ny;
+    this->ny = ny;
 }
 
 void NyLogFileDataImp::setNyDiff(std::vector<double> nyDiff)
 {
-	this->nyDiff = nyDiff;
+    this->nyDiff = nyDiff;
 }
 
 void NyLogFileDataImp::setOrderOfAccuracy(std::vector<std::vector<double>> orderOfAccuracy)
 {
-	this->orderOfAccuracy = orderOfAccuracy;
+    this->orderOfAccuracy = orderOfAccuracy;
 }
 
 NyLogFileDataImp::NyLogFileDataImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileDataImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileDataImp.h
index ece73a13403bce651ad0389dc844ef5c847875e0..c885c113a2f11f1ad6f983afa903516d81b3fb3f 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileDataImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/LogFileData/NyLogFileDataImp.h
@@ -8,35 +8,35 @@
 class NyLogFileDataImp : public NyLogFileData
 {
 public:
-	static std::shared_ptr<NyLogFileDataImp> getNewInstance();
+    static std::shared_ptr<NyLogFileDataImp> getNewInstance();
 
-	std::vector<double> getBasicGridLengths();
-	int getStartTimeStepCalculation();
-	int getEndTimeStepCalculation();
-	std::string getDataToCalc();
-	std::vector<double> getNy();
-	std::vector<double> getNyDiff();
-	std::vector<std::vector<double> > getOrderOfAccuracy();
+    std::vector<double> getBasicGridLengths();
+    int getStartTimeStepCalculation();
+    int getEndTimeStepCalculation();
+    std::string getDataToCalc();
+    std::vector<double> getNy();
+    std::vector<double> getNyDiff();
+    std::vector<std::vector<double> > getOrderOfAccuracy();
 
-	void setBasicGridLengths(std::vector<double> basicGridLengths);
-	void setStartTimeStepCalculation(int startTimeStepCalculation);
-	void setEndTimeStepCalculation(int endTimeStepCalculation);
-	void setDataToCalc(std::string dataToCalcPhiAndNu);
-	void setNy(std::vector<double> ny);
-	void setNyDiff(std::vector<double> nyDiff);
-	void setOrderOfAccuracy(std::vector<std::vector<double> > orderOfAccuracy);
+    void setBasicGridLengths(std::vector<double> basicGridLengths);
+    void setStartTimeStepCalculation(int startTimeStepCalculation);
+    void setEndTimeStepCalculation(int endTimeStepCalculation);
+    void setDataToCalc(std::string dataToCalcPhiAndNu);
+    void setNy(std::vector<double> ny);
+    void setNyDiff(std::vector<double> nyDiff);
+    void setOrderOfAccuracy(std::vector<std::vector<double> > orderOfAccuracy);
 
 
 private:
-	NyLogFileDataImp();
-
-	std::vector<double> basicGridLengths;
-	int startTimeStepCalculation;
-	int endTimeStepCalculation;
-	std::string dataToCalc;
-	std::vector<double> ny;
-	std::vector<double> nyDiff;
-	std::vector<std::vector<double> > orderOfAccuracy;
+    NyLogFileDataImp();
+
+    std::vector<double> basicGridLengths;
+    int startTimeStepCalculation;
+    int endTimeStepCalculation;
+    std::string dataToCalc;
+    std::vector<double> ny;
+    std::vector<double> nyDiff;
+    std::vector<std::vector<double> > orderOfAccuracy;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/MathematicaAssistant/NyMathematicaAssistant.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/MathematicaAssistant/NyMathematicaAssistant.cpp
index 4a976bd0db12fd3208b09a090802a955b4dd32e0..02df330a6b5ba84964efb1768adb8f5260b34896 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/MathematicaAssistant/NyMathematicaAssistant.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/MathematicaAssistant/NyMathematicaAssistant.cpp
@@ -9,14 +9,14 @@
 
 std::shared_ptr<NyMathematicaAssistant> NyMathematicaAssistant::getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory)
 {
-	return std::shared_ptr<NyMathematicaAssistant>(new NyMathematicaAssistant(functionFactory));
+    return std::shared_ptr<NyMathematicaAssistant>(new NyMathematicaAssistant(functionFactory));
 }
 
 void NyMathematicaAssistant::makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile)
 {
-	std::shared_ptr<SortedDataNy> mySortedData = sortLogFileData(logFileData);
+    std::shared_ptr<SortedDataNy> mySortedData = sortLogFileData(logFileData);
 
-	makeNyDiffMathematicaOutput(aMathmaticaFile, mySortedData);
+    makeNyDiffMathematicaOutput(aMathmaticaFile, mySortedData);
 }
 
 NyMathematicaAssistant::NyMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory) : MathematicaAssistantImp(functionFactory)
@@ -25,86 +25,86 @@ NyMathematicaAssistant::NyMathematicaAssistant(std::shared_ptr<MathematicaFuncti
 
 bool NyMathematicaAssistant::checkTestParameter(std::shared_ptr<NyLogFileData> logFileData1, std::shared_ptr<NyLogFileData> logFileData2)
 {
-	if (logFileData1->getStartTimeStepCalculation() != logFileData2->getStartTimeStepCalculation())
-		return false;
-	if (logFileData1->getEndTimeStepCalculation() != logFileData2->getEndTimeStepCalculation())
-		return false;
-	if (logFileData1->getDataToCalc() != logFileData2->getDataToCalc())
-		return false;
+    if (logFileData1->getStartTimeStepCalculation() != logFileData2->getStartTimeStepCalculation())
+        return false;
+    if (logFileData1->getEndTimeStepCalculation() != logFileData2->getEndTimeStepCalculation())
+        return false;
+    if (logFileData1->getDataToCalc() != logFileData2->getDataToCalc())
+        return false;
 
-	return true;
+    return true;
 }
 
 std::shared_ptr<SortedDataNy> NyMathematicaAssistant::sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData)
 {
-	std::vector<std::vector<std::shared_ptr<NyLogFileData> > > testLogFileData;
-	std::vector<std::vector<std::string> > basicListNames;
-	for (int i = 0; i < logFileData->getLogFileData(0)->getNyLogFileData().size(); i++) {
-		std::vector<std::shared_ptr<NyLogFileData> > aTestLogFileDataGroup;
-		aTestLogFileDataGroup.push_back(logFileData->getLogFileData(0)->getNyLogFileData().at(i));
-		std::vector<std::string> aListNameGroup;
-		aListNameGroup.push_back(logFileData->getLogFileData(0)->getSimulationSigniture());
-		basicListNames.push_back(aListNameGroup);
-	}
-	for (int i = 0; i < logFileData->getGroupSize(); i++) {
-		for (int j = 0; j < logFileData->getLogFileData(i)->getNyLogFileData().size(); j++) {
-			std::string dataToCalc = logFileData->getLogFileData(i)->getNyLogFileData().at(j)->getDataToCalc();
-			bool added = false;
-			for (int k = 0; k < testLogFileData.size(); k++) {
-				if (checkTestParameter(logFileData->getLogFileData(i)->getNyLogFileData().at(j), testLogFileData.at(k).at(0))) {
-					testLogFileData.at(k).push_back(logFileData->getLogFileData(i)->getNyLogFileData().at(j));
-					basicListNames.at(k).push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
-					added = true;
-				}
-			}
-			if (!added) {
-				std::vector<std::shared_ptr<NyLogFileData> > aTestLogFileDataGroup;
-				aTestLogFileDataGroup.push_back(logFileData->getLogFileData(i)->getNyLogFileData().at(j));
-				testLogFileData.push_back(aTestLogFileDataGroup);
-				std::vector<std::string> aListNameGroup;
-				aListNameGroup.push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
-				basicListNames.push_back(aListNameGroup);
-			}
-		}
-	}
-	std::shared_ptr<SortedDataNy> mySortedData = std::shared_ptr<SortedDataNy>(new SortedDataNy);
-	mySortedData->basicListNames = basicListNames;
-	mySortedData->testLogFileData = testLogFileData;
+    std::vector<std::vector<std::shared_ptr<NyLogFileData> > > testLogFileData;
+    std::vector<std::vector<std::string> > basicListNames;
+    for (int i = 0; i < logFileData->getLogFileData(0)->getNyLogFileData().size(); i++) {
+        std::vector<std::shared_ptr<NyLogFileData> > aTestLogFileDataGroup;
+        aTestLogFileDataGroup.push_back(logFileData->getLogFileData(0)->getNyLogFileData().at(i));
+        std::vector<std::string> aListNameGroup;
+        aListNameGroup.push_back(logFileData->getLogFileData(0)->getSimulationSigniture());
+        basicListNames.push_back(aListNameGroup);
+    }
+    for (int i = 0; i < logFileData->getGroupSize(); i++) {
+        for (int j = 0; j < logFileData->getLogFileData(i)->getNyLogFileData().size(); j++) {
+            std::string dataToCalc = logFileData->getLogFileData(i)->getNyLogFileData().at(j)->getDataToCalc();
+            bool added = false;
+            for (int k = 0; k < testLogFileData.size(); k++) {
+                if (checkTestParameter(logFileData->getLogFileData(i)->getNyLogFileData().at(j), testLogFileData.at(k).at(0))) {
+                    testLogFileData.at(k).push_back(logFileData->getLogFileData(i)->getNyLogFileData().at(j));
+                    basicListNames.at(k).push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
+                    added = true;
+                }
+            }
+            if (!added) {
+                std::vector<std::shared_ptr<NyLogFileData> > aTestLogFileDataGroup;
+                aTestLogFileDataGroup.push_back(logFileData->getLogFileData(i)->getNyLogFileData().at(j));
+                testLogFileData.push_back(aTestLogFileDataGroup);
+                std::vector<std::string> aListNameGroup;
+                aListNameGroup.push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
+                basicListNames.push_back(aListNameGroup);
+            }
+        }
+    }
+    std::shared_ptr<SortedDataNy> mySortedData = std::shared_ptr<SortedDataNy>(new SortedDataNy);
+    mySortedData->basicListNames = basicListNames;
+    mySortedData->testLogFileData = testLogFileData;
 
-	return mySortedData;
+    return mySortedData;
 }
 
 void NyMathematicaAssistant::makeNyDiffMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataNy> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		std::vector<std::vector<double> > gridLengths;
-		std::vector<std::vector<double> > nyDiff;
-		std::vector<std::string> aBasicListNamesList;
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			nyDiff.push_back(sortedData->testLogFileData.at(i).at(j)->getNyDiff());
-			aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
-		}
-		
-		std::vector<std::string> finalListNames = finalizeListNames(aBasicListNamesList, "NyDiff", sortedData->testLogFileData.at(i).at(0)->getDataToCalc());
-		addSecondOrderOfAccuracyRef(gridLengths, nyDiff, finalListNames);
-		addFourthOrderOfAccuracyRef(gridLengths, nyDiff, finalListNames); 
-		addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, nyDiff, "L[dx]", "Err Ny[-]");
-	}
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        std::vector<std::vector<double> > gridLengths;
+        std::vector<std::vector<double> > nyDiff;
+        std::vector<std::string> aBasicListNamesList;
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            nyDiff.push_back(sortedData->testLogFileData.at(i).at(j)->getNyDiff());
+            aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
+        }
+        
+        std::vector<std::string> finalListNames = finalizeListNames(aBasicListNamesList, "NyDiff", sortedData->testLogFileData.at(i).at(0)->getDataToCalc());
+        addSecondOrderOfAccuracyRef(gridLengths, nyDiff, finalListNames);
+        addFourthOrderOfAccuracyRef(gridLengths, nyDiff, finalListNames); 
+        addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, nyDiff, "L[dx]", "Err Ny[-]");
+    }
 }
 
 void NyMathematicaAssistant::makeOrderOfAccuracyMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataNy> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			std::vector<std::vector<double>> ooA = sortedData->testLogFileData.at(i).at(j)->getOrderOfAccuracy();
-			std::string basicListName = sortedData->basicListNames.at(i).at(j);
-			std::string dataToCalc = sortedData->testLogFileData.at(i).at(j)->getDataToCalc();
-			std::string finalListName = finalizeListName(basicListName, "NyDiffOrderOfAccuracy", dataToCalc);
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            std::vector<std::vector<double>> ooA = sortedData->testLogFileData.at(i).at(j)->getOrderOfAccuracy();
+            std::string basicListName = sortedData->basicListNames.at(i).at(j);
+            std::string dataToCalc = sortedData->testLogFileData.at(i).at(j)->getDataToCalc();
+            std::string finalListName = finalizeListName(basicListName, "NyDiffOrderOfAccuracy", dataToCalc);
 
-			addListOfListsToMathematicaFile(aMathmaticaFile, finalListName, ooA);
-		}
-	}
+            addListOfListsToMathematicaFile(aMathmaticaFile, finalListName, ooA);
+        }
+    }
 }
 
 NyMathematicaAssistant::NyMathematicaAssistant()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/MathematicaAssistant/NyMathematicaAssistant.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/MathematicaAssistant/NyMathematicaAssistant.h
index 591cfd47220345883ce1e08084d6fc08bf4be4b7..71f264ccf0dfa61e6ea3d16b5add1a93d4cc01f7 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/MathematicaAssistant/NyMathematicaAssistant.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/NyTest/MathematicaAssistant/NyMathematicaAssistant.h
@@ -7,27 +7,27 @@ class MathematicaFunctionFactory;
 class NyLogFileData;
 
 struct SortedDataNy {
-	std::vector<std::vector<std::shared_ptr<NyLogFileData> > > testLogFileData;
-	std::vector<std::vector<std::string> > basicListNames;
+    std::vector<std::vector<std::shared_ptr<NyLogFileData> > > testLogFileData;
+    std::vector<std::vector<std::string> > basicListNames;
 };
 
 class NyMathematicaAssistant : public MathematicaAssistantImp
 {
 public:
-	static std::shared_ptr<NyMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    static std::shared_ptr<NyMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
+    void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
 
-	
+    
 private:
-	NyMathematicaAssistant();
-	NyMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    NyMathematicaAssistant();
+    NyMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	bool checkTestParameter(std::shared_ptr<NyLogFileData> logFileData1, std::shared_ptr<NyLogFileData> logFileData2);
-	std::shared_ptr<SortedDataNy> sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData);
+    bool checkTestParameter(std::shared_ptr<NyLogFileData> logFileData1, std::shared_ptr<NyLogFileData> logFileData2);
+    std::shared_ptr<SortedDataNy> sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData);
 
-	void makeNyDiffMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataNy> sortedData);
-	void makeOrderOfAccuracyMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataNy> sortedData);
+    void makeNyDiffMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataNy> sortedData);
+    void makeOrderOfAccuracyMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataNy> sortedData);
 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileData.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileData.h
index 63d169be7d1e0d73fe5db5b913eaec6094b7c593..814ccc0e3155edcb11efd585b1495a07b597a7ed 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileData.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileData.h
@@ -8,11 +8,11 @@
 class PhiLogFileData
 {
 public:
-	virtual std::vector<double> getBasicGridLengths() = 0;
-	virtual int getStartTimeStepCalculation() = 0;
-	virtual int getEndTimeStepCalculation() = 0;
-	virtual std::string getDataToCalc() = 0;
-	virtual std::vector<double> getPhiDiff() = 0;
-	virtual std::vector<std::vector<double> > getOrderOfAccuracy() = 0;
+    virtual std::vector<double> getBasicGridLengths() = 0;
+    virtual int getStartTimeStepCalculation() = 0;
+    virtual int getEndTimeStepCalculation() = 0;
+    virtual std::string getDataToCalc() = 0;
+    virtual std::vector<double> getPhiDiff() = 0;
+    virtual std::vector<std::vector<double> > getOrderOfAccuracy() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileDataImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileDataImp.cpp
index 63011851ebc2841c90221a3ff42b25b0b4ba6d13..e829864e841cb7ee1a75fed1ae30af7b94716a4b 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileDataImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileDataImp.cpp
@@ -2,67 +2,67 @@
 
 std::shared_ptr<PhiLogFileDataImp> PhiLogFileDataImp::getNewInstance()
 {
-	return std::shared_ptr<PhiLogFileDataImp>(new PhiLogFileDataImp());
+    return std::shared_ptr<PhiLogFileDataImp>(new PhiLogFileDataImp());
 }
 
 std::vector<double> PhiLogFileDataImp::getBasicGridLengths()
 {
-	return basicGridLengths;
+    return basicGridLengths;
 }
 
 int PhiLogFileDataImp::getStartTimeStepCalculation()
 {
-	return startTimeStepCalculation;
+    return startTimeStepCalculation;
 }
 
 int PhiLogFileDataImp::getEndTimeStepCalculation()
 {
-	return endTimeStepCalculation;
+    return endTimeStepCalculation;
 }
 
 std::string PhiLogFileDataImp::getDataToCalc()
 {
-	return dataToCalc;
+    return dataToCalc;
 }
 
 std::vector<double> PhiLogFileDataImp::getPhiDiff()
 {
-	return phiDiff;
+    return phiDiff;
 }
 
 std::vector<std::vector<double>> PhiLogFileDataImp::getOrderOfAccuracy()
 {
-	return orderOfAccuracy;
+    return orderOfAccuracy;
 }
 
 void PhiLogFileDataImp::setBasicGridLengths(std::vector<double> basicGridLengths)
 {
-	this->basicGridLengths = basicGridLengths;
+    this->basicGridLengths = basicGridLengths;
 }
 
 void PhiLogFileDataImp::setStartTimeStepCalculation(int startTimeStepCalculation)
 {
-	this->startTimeStepCalculation = startTimeStepCalculation;
+    this->startTimeStepCalculation = startTimeStepCalculation;
 }
 
 void PhiLogFileDataImp::setEndTimeStepCalculation(int endTimeStepCalculation)
 {
-	this->endTimeStepCalculation = endTimeStepCalculation;
+    this->endTimeStepCalculation = endTimeStepCalculation;
 }
 
 void PhiLogFileDataImp::setDataToCalc(std::string dataToCalc)
 {
-	this->dataToCalc = dataToCalc;
+    this->dataToCalc = dataToCalc;
 }
 
 void PhiLogFileDataImp::setPhiDiff(std::vector<double> phiDiff)
 {
-	this->phiDiff = phiDiff;
+    this->phiDiff = phiDiff;
 }
 
 void PhiLogFileDataImp::setOrderOfAccuracy(std::vector<std::vector<double>> orderOfAccuracy)
 {
-	this->orderOfAccuracy = orderOfAccuracy;
+    this->orderOfAccuracy = orderOfAccuracy;
 }
 
 PhiLogFileDataImp::PhiLogFileDataImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileDataImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileDataImp.h
index c8c9960be29ef5d239c912edb23b709715f9889c..00b5f7299f312fef4e7b30abf3709b2eaba72b11 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileDataImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/LogFileData/PhiLogFileDataImp.h
@@ -8,30 +8,30 @@
 class PhiLogFileDataImp : public PhiLogFileData
 {
 public:
-	static std::shared_ptr<PhiLogFileDataImp> getNewInstance();
+    static std::shared_ptr<PhiLogFileDataImp> getNewInstance();
 
-	std::vector<double> getBasicGridLengths();
-	int getStartTimeStepCalculation();
-	int getEndTimeStepCalculation();
-	std::string getDataToCalc();
-	std::vector<double> getPhiDiff();
-	std::vector<std::vector<double> > getOrderOfAccuracy();
+    std::vector<double> getBasicGridLengths();
+    int getStartTimeStepCalculation();
+    int getEndTimeStepCalculation();
+    std::string getDataToCalc();
+    std::vector<double> getPhiDiff();
+    std::vector<std::vector<double> > getOrderOfAccuracy();
 
-	void setBasicGridLengths(std::vector<double> basicGridLengths);
-	void setStartTimeStepCalculation(int startTimeStepCalculation);
-	void setEndTimeStepCalculation(int endTimeStepCalculation);
-	void setDataToCalc(std::string dataToCalcPhiAndNu);
-	void setPhiDiff(std::vector<double> phiDiff);
-	void setOrderOfAccuracy(std::vector<std::vector<double> > orderOfAccuracy);
+    void setBasicGridLengths(std::vector<double> basicGridLengths);
+    void setStartTimeStepCalculation(int startTimeStepCalculation);
+    void setEndTimeStepCalculation(int endTimeStepCalculation);
+    void setDataToCalc(std::string dataToCalcPhiAndNu);
+    void setPhiDiff(std::vector<double> phiDiff);
+    void setOrderOfAccuracy(std::vector<std::vector<double> > orderOfAccuracy);
 
 private:
-	PhiLogFileDataImp();
+    PhiLogFileDataImp();
 
-	std::vector<double> basicGridLengths;
-	int startTimeStepCalculation;
-	int endTimeStepCalculation;
-	std::string dataToCalc;
-	std::vector<double> phiDiff;
-	std::vector<std::vector<double> > orderOfAccuracy;
+    std::vector<double> basicGridLengths;
+    int startTimeStepCalculation;
+    int endTimeStepCalculation;
+    std::string dataToCalc;
+    std::vector<double> phiDiff;
+    std::vector<std::vector<double> > orderOfAccuracy;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/MathematicaAssistant/PhiMathematicaAssistant.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/MathematicaAssistant/PhiMathematicaAssistant.cpp
index 9fd24e63d07321be1e0591c58370ca8dfd13786f..9856efe4f4a5b30f46cd6b975b2b69a748f4129a 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/MathematicaAssistant/PhiMathematicaAssistant.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/MathematicaAssistant/PhiMathematicaAssistant.cpp
@@ -7,15 +7,15 @@
 
 std::shared_ptr<PhiMathematicaAssistant> PhiMathematicaAssistant::getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory)
 {
-	return std::shared_ptr<PhiMathematicaAssistant>(new PhiMathematicaAssistant(functionFactory));
+    return std::shared_ptr<PhiMathematicaAssistant>(new PhiMathematicaAssistant(functionFactory));
 }
 
 void PhiMathematicaAssistant::makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile)
 {
-	std::shared_ptr<SortedDataPhi> mySortedData = sortLogFileData(logFileData);
+    std::shared_ptr<SortedDataPhi> mySortedData = sortLogFileData(logFileData);
 
-	makePhiDiffMathematicaOutput(aMathmaticaFile, mySortedData);
-	makeOrderOfAccuracyMathematicaOutput(aMathmaticaFile, mySortedData);
+    makePhiDiffMathematicaOutput(aMathmaticaFile, mySortedData);
+    makeOrderOfAccuracyMathematicaOutput(aMathmaticaFile, mySortedData);
 
 }
 
@@ -25,85 +25,85 @@ PhiMathematicaAssistant::PhiMathematicaAssistant(std::shared_ptr<MathematicaFunc
 
 bool PhiMathematicaAssistant::checkTestParameter(std::shared_ptr<PhiLogFileData> logFileData1, std::shared_ptr<PhiLogFileData> logFileData2)
 {
-	if (logFileData1->getStartTimeStepCalculation() != logFileData2->getStartTimeStepCalculation())
-		return false;
-	if (logFileData1->getEndTimeStepCalculation() != logFileData2->getEndTimeStepCalculation())
-		return false;
-	if (logFileData1->getDataToCalc() != logFileData2->getDataToCalc())
-		return false;
+    if (logFileData1->getStartTimeStepCalculation() != logFileData2->getStartTimeStepCalculation())
+        return false;
+    if (logFileData1->getEndTimeStepCalculation() != logFileData2->getEndTimeStepCalculation())
+        return false;
+    if (logFileData1->getDataToCalc() != logFileData2->getDataToCalc())
+        return false;
 
-	return true;
+    return true;
 }
 
 std::shared_ptr<SortedDataPhi> PhiMathematicaAssistant::sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData)
 {
-	std::vector<std::vector<std::shared_ptr<PhiLogFileData> > > testLogFileData;
-	std::vector<std::vector<std::string> > basicListNames;
-	for (int i = 0; i < logFileData->getLogFileData(0)->getPhiLogFileData().size(); i++) {
-		std::vector<std::shared_ptr<PhiLogFileData> > aTestLogFileDataGroup;
-		aTestLogFileDataGroup.push_back(logFileData->getLogFileData(0)->getPhiLogFileData().at(i));
-		std::vector<std::string> aListNameGroup;
-		aListNameGroup.push_back(logFileData->getLogFileData(0)->getSimulationSigniture());
-		basicListNames.push_back(aListNameGroup);
-	}
-	for (int i = 0; i < logFileData->getGroupSize(); i++) {
-		for (int j = 0; j < logFileData->getLogFileData(i)->getPhiLogFileData().size(); j++) {
-			std::string dataToCalc = logFileData->getLogFileData(i)->getPhiLogFileData().at(j)->getDataToCalc();
-			bool added = false;
-			for (int k = 0; k < testLogFileData.size(); k++) {
-				if (checkTestParameter(logFileData->getLogFileData(i)->getPhiLogFileData().at(j), testLogFileData.at(k).at(0))) {
-					testLogFileData.at(k).push_back(logFileData->getLogFileData(i)->getPhiLogFileData().at(j));
-					basicListNames.at(k).push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
-					added = true;
-				}
-			}
-			if (!added) {
-				std::vector<std::shared_ptr<PhiLogFileData> > aTestLogFileDataGroup;
-				aTestLogFileDataGroup.push_back(logFileData->getLogFileData(i)->getPhiLogFileData().at(j));
-				testLogFileData.push_back(aTestLogFileDataGroup);
-				std::vector<std::string> aListNameGroup;
-				aListNameGroup.push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
-				basicListNames.push_back(aListNameGroup);
-			}
-		}
-	}
-	std::shared_ptr<SortedDataPhi> mySortedData = std::shared_ptr<SortedDataPhi>(new SortedDataPhi);
-	mySortedData->basicListNames = basicListNames;
-	mySortedData->testLogFileData = testLogFileData;
+    std::vector<std::vector<std::shared_ptr<PhiLogFileData> > > testLogFileData;
+    std::vector<std::vector<std::string> > basicListNames;
+    for (int i = 0; i < logFileData->getLogFileData(0)->getPhiLogFileData().size(); i++) {
+        std::vector<std::shared_ptr<PhiLogFileData> > aTestLogFileDataGroup;
+        aTestLogFileDataGroup.push_back(logFileData->getLogFileData(0)->getPhiLogFileData().at(i));
+        std::vector<std::string> aListNameGroup;
+        aListNameGroup.push_back(logFileData->getLogFileData(0)->getSimulationSigniture());
+        basicListNames.push_back(aListNameGroup);
+    }
+    for (int i = 0; i < logFileData->getGroupSize(); i++) {
+        for (int j = 0; j < logFileData->getLogFileData(i)->getPhiLogFileData().size(); j++) {
+            std::string dataToCalc = logFileData->getLogFileData(i)->getPhiLogFileData().at(j)->getDataToCalc();
+            bool added = false;
+            for (int k = 0; k < testLogFileData.size(); k++) {
+                if (checkTestParameter(logFileData->getLogFileData(i)->getPhiLogFileData().at(j), testLogFileData.at(k).at(0))) {
+                    testLogFileData.at(k).push_back(logFileData->getLogFileData(i)->getPhiLogFileData().at(j));
+                    basicListNames.at(k).push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
+                    added = true;
+                }
+            }
+            if (!added) {
+                std::vector<std::shared_ptr<PhiLogFileData> > aTestLogFileDataGroup;
+                aTestLogFileDataGroup.push_back(logFileData->getLogFileData(i)->getPhiLogFileData().at(j));
+                testLogFileData.push_back(aTestLogFileDataGroup);
+                std::vector<std::string> aListNameGroup;
+                aListNameGroup.push_back(logFileData->getLogFileData(i)->getSimulationSigniture());
+                basicListNames.push_back(aListNameGroup);
+            }
+        }
+    }
+    std::shared_ptr<SortedDataPhi> mySortedData = std::shared_ptr<SortedDataPhi>(new SortedDataPhi);
+    mySortedData->basicListNames = basicListNames;
+    mySortedData->testLogFileData = testLogFileData;
 
-	return mySortedData;
+    return mySortedData;
 }
 
 void PhiMathematicaAssistant::makePhiDiffMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataPhi> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		std::vector<std::vector<double> > gridLengths;
-		std::vector<std::vector<double> > phiDiff;
-		std::vector<std::string> aBasicListNamesList;
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
-			phiDiff.push_back(sortedData->testLogFileData.at(i).at(j)->getPhiDiff());
-			aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
-		}
-		std::vector<std::string> finalListNames = finalizeListNames(aBasicListNamesList, "PhiDiff", sortedData->testLogFileData.at(i).at(0)->getDataToCalc());
-		addSecondOrderOfAccuracyRef(gridLengths, phiDiff, finalListNames);
-		addFourthOrderOfAccuracyRef(gridLengths, phiDiff, finalListNames);
-		addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, phiDiff, "L[dx]", "Err Phi[-]");
-	}
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        std::vector<std::vector<double> > gridLengths;
+        std::vector<std::vector<double> > phiDiff;
+        std::vector<std::string> aBasicListNamesList;
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            gridLengths.push_back(sortedData->testLogFileData.at(i).at(j)->getBasicGridLengths());
+            phiDiff.push_back(sortedData->testLogFileData.at(i).at(j)->getPhiDiff());
+            aBasicListNamesList.push_back(sortedData->basicListNames.at(i).at(j));
+        }
+        std::vector<std::string> finalListNames = finalizeListNames(aBasicListNamesList, "PhiDiff", sortedData->testLogFileData.at(i).at(0)->getDataToCalc());
+        addSecondOrderOfAccuracyRef(gridLengths, phiDiff, finalListNames);
+        addFourthOrderOfAccuracyRef(gridLengths, phiDiff, finalListNames);
+        addListLogLogPlotToMathematicaFile(aMathmaticaFile, finalListNames, gridLengths, phiDiff, "L[dx]", "Err Phi[-]");
+    }
 }
 
 void PhiMathematicaAssistant::makeOrderOfAccuracyMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataPhi> sortedData)
 {
-	for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
-		for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
-			std::vector<std::vector<double>> ooA = sortedData->testLogFileData.at(i).at(j)->getOrderOfAccuracy();
-			std::string basicListName = sortedData->basicListNames.at(i).at(j);
-			std::string dataToCalc = sortedData->testLogFileData.at(i).at(j)->getDataToCalc();
-			std::string finalListName = finalizeListName(basicListName, "PhiDiffOrderOfAccuracy", dataToCalc);
+    for (int i = 0; i < sortedData->testLogFileData.size(); i++) {
+        for (int j = 0; j < sortedData->testLogFileData.at(i).size(); j++) {
+            std::vector<std::vector<double>> ooA = sortedData->testLogFileData.at(i).at(j)->getOrderOfAccuracy();
+            std::string basicListName = sortedData->basicListNames.at(i).at(j);
+            std::string dataToCalc = sortedData->testLogFileData.at(i).at(j)->getDataToCalc();
+            std::string finalListName = finalizeListName(basicListName, "PhiDiffOrderOfAccuracy", dataToCalc);
 
-			addListOfListsToMathematicaFile(aMathmaticaFile, finalListName, ooA);
-		}
-	}
+            addListOfListsToMathematicaFile(aMathmaticaFile, finalListName, ooA);
+        }
+    }
 }
 
 PhiMathematicaAssistant::PhiMathematicaAssistant()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/MathematicaAssistant/PhiMathematicaAssistant.h b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/MathematicaAssistant/PhiMathematicaAssistant.h
index f84d6c1ba726458af54a30d44916e41247a09368..e57dc3592ea54a183cfa7a1465c8d875573e1751 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/MathematicaAssistant/PhiMathematicaAssistant.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Tests/PhiTest/MathematicaAssistant/PhiMathematicaAssistant.h
@@ -7,28 +7,28 @@ class MathematicaFunctionFactory;
 class PhiLogFileData;
 
 struct SortedDataPhi {
-	std::vector<std::vector<std::shared_ptr<PhiLogFileData> > > testLogFileData;
-	std::vector<std::vector<std::string> > basicListNames;
+    std::vector<std::vector<std::shared_ptr<PhiLogFileData> > > testLogFileData;
+    std::vector<std::vector<std::string> > basicListNames;
 };
 
 class PhiMathematicaAssistant : public MathematicaAssistantImp
 {
 public:
-	static std::shared_ptr<PhiMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    static std::shared_ptr<PhiMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
+    void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
 
-	
+    
 private:
-	PhiMathematicaAssistant();
-	PhiMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
-
-	bool checkTestParameter(std::shared_ptr<PhiLogFileData> logFileData1, std::shared_ptr<PhiLogFileData> logFileData2);
-	std::shared_ptr<SortedDataPhi> sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData);
-	
-	
-	void makePhiDiffMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataPhi> sortedData);
-	void makeOrderOfAccuracyMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataPhi> sortedData);
+    PhiMathematicaAssistant();
+    PhiMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+
+    bool checkTestParameter(std::shared_ptr<PhiLogFileData> logFileData1, std::shared_ptr<PhiLogFileData> logFileData2);
+    std::shared_ptr<SortedDataPhi> sortLogFileData(std::shared_ptr<LogFileDataGroup> logFileData);
+    
+    
+    void makePhiDiffMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataPhi> sortedData);
+    void makeOrderOfAccuracyMathematicaOutput(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::shared_ptr<SortedDataPhi> sortedData);
 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/AlmostEquals.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/AlmostEquals.h
index fd467aaa9ec710d909d4537aba3da7d9921bb59a..4a942afe7f8db1629d7184de7fff5e3c55f806be 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/AlmostEquals.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/AlmostEquals.h
@@ -60,21 +60,21 @@
 template <size_t size>
 class TypeWithSize {
 public:
-	// This prevents the user from using TypeWithSize<N> with incorrect
-	// values of N.
-	typedef void UInt;
+    // This prevents the user from using TypeWithSize<N> with incorrect
+    // values of N.
+    typedef void UInt;
 };
 
 // The specialization for size 4.
 template <>
 class TypeWithSize<4> {
 public:
-	// unsigned int has size 4 in both gcc and MSVC.
-	//
-	// As base/basictypes.h doesn't compile on Windows, we cannot use
-	// uint32, uint64, and etc here.
-	typedef int Int;
-	typedef unsigned int UInt;
+    // unsigned int has size 4 in both gcc and MSVC.
+    //
+    // As base/basictypes.h doesn't compile on Windows, we cannot use
+    // uint32, uint64, and etc here.
+    typedef int Int;
+    typedef unsigned int UInt;
 };
 
 // The specialization for size 8.
@@ -82,11 +82,11 @@ template <>
 class TypeWithSize<8> {
 public:
 #if _MSC_VER
-	typedef __int64 Int;
-	typedef unsigned __int64 UInt;
+    typedef __int64 Int;
+    typedef unsigned __int64 UInt;
 #else
-	typedef long long Int;  // NOLINT
-	typedef unsigned long long UInt;  // NOLINT
+    typedef long long Int;  // NOLINT
+    typedef unsigned long long UInt;  // NOLINT
 #endif  // _MSC_VER
 };
 
@@ -122,152 +122,152 @@ public:
 template <typename RawType>
 class FloatingPoint {
 public:
-	// Defines the unsigned integer type that has the same size as the
-	// floating point number.
-	typedef typename TypeWithSize<sizeof(RawType)>::UInt Bits;
-
-	// Constants.
-
-	// # of bits in a number.
-	static const size_t kBitCount = 8 * sizeof(RawType);
-
-	// # of fraction bits in a number.
-	static const size_t kFractionBitCount =
-		std::numeric_limits<RawType>::digits - 1;
-
-	// # of exponent bits in a number.
-	static const size_t kExponentBitCount = kBitCount - 1 - kFractionBitCount;
-
-	// The mask for the sign bit.
-	static const Bits kSignBitMask = static_cast<Bits>(1) << (kBitCount - 1);
-
-	// The mask for the fraction bits.
-	static const Bits kFractionBitMask =
-		~static_cast<Bits>(0) >> (kExponentBitCount + 1);
-
-	// The mask for the exponent bits.
-	static const Bits kExponentBitMask = ~(kSignBitMask | kFractionBitMask);
-
-	// How many ULP's (Units in the Last Place) we want to tolerate when
-	// comparing two numbers.  The larger the value, the more error we
-	// allow.  A 0 value means that two numbers must be exactly the same
-	// to be considered equal.
-	//
-	// The maximum error of a single floating-point operation is 0.5
-	// units in the last place.  On Intel CPU's, all floating-point
-	// calculations are done with 80-bit precision, while double has 64
-	// bits.  Therefore, 4 should be enough for ordinary use.
-	//
-	// See the following article for more details on ULP:
-	// http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
-	static const size_t kMaxUlps = 4;
-
-	// Constructs a FloatingPoint from a raw floating-point number.
-	//
-	// On an Intel CPU, passing a non-normalized NAN (Not a Number)
-	// around may change its bits, although the new value is guaranteed
-	// to be also a NAN.  Therefore, don't expect this constructor to
-	// preserve the bits in x when x is a NAN.
-	explicit FloatingPoint(const RawType& x) { u_.value_ = x; }
-
-	// Static methods
-
-	// Reinterprets a bit pattern as a floating-point number.
-	//
-	// This function is needed to test the AlmostEquals() method.
-	static RawType ReinterpretBits(const Bits bits) {
-		FloatingPoint fp(0);
-		fp.u_.bits_ = bits;
-		return fp.u_.value_;
-	}
-
-	// Returns the floating-point number that represent positive infinity.
-	static RawType Infinity() {
-		return ReinterpretBits(kExponentBitMask);
-	}
-
-	// Returns the maximum representable finite floating-point number.
-	static RawType Max();
-
-	// Non-static methods
-
-	// Returns the bits that represents this number.
-	const Bits &bits() const { return u_.bits_; }
-
-	// Returns the exponent bits of this number.
-	Bits exponent_bits() const { return kExponentBitMask & u_.bits_; }
-
-	// Returns the fraction bits of this number.
-	Bits fraction_bits() const { return kFractionBitMask & u_.bits_; }
-
-	// Returns the sign bit of this number.
-	Bits sign_bit() const { return kSignBitMask & u_.bits_; }
-
-	// Returns true iff this is NAN (not a number).
-	bool is_nan() const {
-		// It's a NAN if the exponent bits are all ones and the fraction
-		// bits are not entirely zeros.
-		return (exponent_bits() == kExponentBitMask) && (fraction_bits() != 0);
-	}
-
-	// Returns true iff this number is at most kMaxUlps ULP's away from
-	// rhs.  In particular, this function:
-	//
-	//   - returns false if either number is (or both are) NAN.
-	//   - treats really large numbers as almost equal to infinity.
-	//   - thinks +0.0 and -0.0 are 0 DLP's apart.
-	bool AlmostEquals(const FloatingPoint& rhs) const {
-		// The IEEE standard says that any comparison operation involving
-		// a NAN must return false.
-		if (is_nan() || rhs.is_nan()) return false;
-
-		return DistanceBetweenSignAndMagnitudeNumbers(u_.bits_, rhs.u_.bits_)
-			<= kMaxUlps;
-	}
+    // Defines the unsigned integer type that has the same size as the
+    // floating point number.
+    typedef typename TypeWithSize<sizeof(RawType)>::UInt Bits;
+
+    // Constants.
+
+    // # of bits in a number.
+    static const size_t kBitCount = 8 * sizeof(RawType);
+
+    // # of fraction bits in a number.
+    static const size_t kFractionBitCount =
+        std::numeric_limits<RawType>::digits - 1;
+
+    // # of exponent bits in a number.
+    static const size_t kExponentBitCount = kBitCount - 1 - kFractionBitCount;
+
+    // The mask for the sign bit.
+    static const Bits kSignBitMask = static_cast<Bits>(1) << (kBitCount - 1);
+
+    // The mask for the fraction bits.
+    static const Bits kFractionBitMask =
+        ~static_cast<Bits>(0) >> (kExponentBitCount + 1);
+
+    // The mask for the exponent bits.
+    static const Bits kExponentBitMask = ~(kSignBitMask | kFractionBitMask);
+
+    // How many ULP's (Units in the Last Place) we want to tolerate when
+    // comparing two numbers.  The larger the value, the more error we
+    // allow.  A 0 value means that two numbers must be exactly the same
+    // to be considered equal.
+    //
+    // The maximum error of a single floating-point operation is 0.5
+    // units in the last place.  On Intel CPU's, all floating-point
+    // calculations are done with 80-bit precision, while double has 64
+    // bits.  Therefore, 4 should be enough for ordinary use.
+    //
+    // See the following article for more details on ULP:
+    // http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
+    static const size_t kMaxUlps = 4;
+
+    // Constructs a FloatingPoint from a raw floating-point number.
+    //
+    // On an Intel CPU, passing a non-normalized NAN (Not a Number)
+    // around may change its bits, although the new value is guaranteed
+    // to be also a NAN.  Therefore, don't expect this constructor to
+    // preserve the bits in x when x is a NAN.
+    explicit FloatingPoint(const RawType& x) { u_.value_ = x; }
+
+    // Static methods
+
+    // Reinterprets a bit pattern as a floating-point number.
+    //
+    // This function is needed to test the AlmostEquals() method.
+    static RawType ReinterpretBits(const Bits bits) {
+        FloatingPoint fp(0);
+        fp.u_.bits_ = bits;
+        return fp.u_.value_;
+    }
+
+    // Returns the floating-point number that represent positive infinity.
+    static RawType Infinity() {
+        return ReinterpretBits(kExponentBitMask);
+    }
+
+    // Returns the maximum representable finite floating-point number.
+    static RawType Max();
+
+    // Non-static methods
+
+    // Returns the bits that represents this number.
+    const Bits &bits() const { return u_.bits_; }
+
+    // Returns the exponent bits of this number.
+    Bits exponent_bits() const { return kExponentBitMask & u_.bits_; }
+
+    // Returns the fraction bits of this number.
+    Bits fraction_bits() const { return kFractionBitMask & u_.bits_; }
+
+    // Returns the sign bit of this number.
+    Bits sign_bit() const { return kSignBitMask & u_.bits_; }
+
+    // Returns true iff this is NAN (not a number).
+    bool is_nan() const {
+        // It's a NAN if the exponent bits are all ones and the fraction
+        // bits are not entirely zeros.
+        return (exponent_bits() == kExponentBitMask) && (fraction_bits() != 0);
+    }
+
+    // Returns true iff this number is at most kMaxUlps ULP's away from
+    // rhs.  In particular, this function:
+    //
+    //   - returns false if either number is (or both are) NAN.
+    //   - treats really large numbers as almost equal to infinity.
+    //   - thinks +0.0 and -0.0 are 0 DLP's apart.
+    bool AlmostEquals(const FloatingPoint& rhs) const {
+        // The IEEE standard says that any comparison operation involving
+        // a NAN must return false.
+        if (is_nan() || rhs.is_nan()) return false;
+
+        return DistanceBetweenSignAndMagnitudeNumbers(u_.bits_, rhs.u_.bits_)
+            <= kMaxUlps;
+    }
 
 private:
-	// The data type used to store the actual floating-point number.
-	union FloatingPointUnion {
-		RawType value_;  // The raw floating-point number.
-		Bits bits_;      // The bits that represent the number.
-	};
-
-	// Converts an integer from the sign-and-magnitude representation to
-	// the biased representation.  More precisely, let N be 2 to the
-	// power of (kBitCount - 1), an integer x is represented by the
-	// unsigned number x + N.
-	//
-	// For instance,
-	//
-	//   -N + 1 (the most negative number representable using
-	//          sign-and-magnitude) is represented by 1;
-	//   0      is represented by N; and
-	//   N - 1  (the biggest number representable using
-	//          sign-and-magnitude) is represented by 2N - 1.
-	//
-	// Read http://en.wikipedia.org/wiki/Signed_number_representations
-	// for more details on signed number representations.
-	static Bits SignAndMagnitudeToBiased(const Bits &sam) {
-		if (kSignBitMask & sam) {
-			// sam represents a negative number.
-			return ~sam + 1;
-		}
-		else {
-			// sam represents a positive number.
-			return kSignBitMask | sam;
-		}
-	}
-
-	// Given two numbers in the sign-and-magnitude representation,
-	// returns the distance between them as an unsigned number.
-	static Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits &sam1,
-		const Bits &sam2) {
-		const Bits biased1 = SignAndMagnitudeToBiased(sam1);
-		const Bits biased2 = SignAndMagnitudeToBiased(sam2);
-		return (biased1 >= biased2) ? (biased1 - biased2) : (biased2 - biased1);
-	}
-
-	FloatingPointUnion u_;
+    // The data type used to store the actual floating-point number.
+    union FloatingPointUnion {
+        RawType value_;  // The raw floating-point number.
+        Bits bits_;      // The bits that represent the number.
+    };
+
+    // Converts an integer from the sign-and-magnitude representation to
+    // the biased representation.  More precisely, let N be 2 to the
+    // power of (kBitCount - 1), an integer x is represented by the
+    // unsigned number x + N.
+    //
+    // For instance,
+    //
+    //   -N + 1 (the most negative number representable using
+    //          sign-and-magnitude) is represented by 1;
+    //   0      is represented by N; and
+    //   N - 1  (the biggest number representable using
+    //          sign-and-magnitude) is represented by 2N - 1.
+    //
+    // Read http://en.wikipedia.org/wiki/Signed_number_representations
+    // for more details on signed number representations.
+    static Bits SignAndMagnitudeToBiased(const Bits &sam) {
+        if (kSignBitMask & sam) {
+            // sam represents a negative number.
+            return ~sam + 1;
+        }
+        else {
+            // sam represents a positive number.
+            return kSignBitMask | sam;
+        }
+    }
+
+    // Given two numbers in the sign-and-magnitude representation,
+    // returns the distance between them as an unsigned number.
+    static Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits &sam1,
+        const Bits &sam2) {
+        const Bits biased1 = SignAndMagnitudeToBiased(sam1);
+        const Bits biased2 = SignAndMagnitudeToBiased(sam2);
+        return (biased1 >= biased2) ? (biased1 - biased2) : (biased2 - biased1);
+    }
+
+    FloatingPointUnion u_;
 };
 
 // We cannot use std::numeric_limits<T>::max() as it clashes with the max()
@@ -280,8 +280,8 @@ inline double FloatingPoint<double>::Max() { return DBL_MAX; }
 template <typename T>
 bool AlmostEquals(T first, T second)
 {
-	FloatingPoint<T> firstAsFloatingPoint(first);
-	FloatingPoint<T> secondAsFloatingPoint(second);
+    FloatingPoint<T> firstAsFloatingPoint(first);
+    FloatingPoint<T> secondAsFloatingPoint(second);
 
-	return firstAsFloatingPoint.AlmostEquals(secondAsFloatingPoint);
+    return firstAsFloatingPoint.AlmostEquals(secondAsFloatingPoint);
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/DataPoint/DataPoint.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/DataPoint/DataPoint.cpp
index 5ff5036175a99dd0c68834b5458c43abf213675d..325a091e2a6dd7b277536a4539757c89b1074edb 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/DataPoint/DataPoint.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/DataPoint/DataPoint.cpp
@@ -6,17 +6,17 @@ DataPoint::DataPoint()
 
 std::shared_ptr<DataPoint> DataPoint::getNewInstance(double x, double y)
 {
-	return std::shared_ptr<DataPoint>(new DataPoint(x, y));
+    return std::shared_ptr<DataPoint>(new DataPoint(x, y));
 }
 
 double DataPoint::getX()
 {
-	return x;
+    return x;
 }
 
 double DataPoint::getY()
 {
-	return y;
+    return y;
 }
 
 DataPoint::DataPoint(double x, double y) : x(x), y(y)
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/DataPoint/DataPoint.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/DataPoint/DataPoint.h
index 41e94ff6c7b4beeb8afe48f2cecd217dfcd65efc..33c2c827f5db3452401c8ece8e818ebb215e3e50 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/DataPoint/DataPoint.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/DataPoint/DataPoint.h
@@ -6,15 +6,15 @@
 class DataPoint
 {
 public:
-	static std::shared_ptr<DataPoint> getNewInstance(double x, double y);
-	double getX();
-	double getY();
+    static std::shared_ptr<DataPoint> getNewInstance(double x, double y);
+    double getX();
+    double getY();
 
 private:
-	DataPoint(double x, double y);
-	DataPoint();
+    DataPoint(double x, double y);
+    DataPoint();
 
-	double x;
-	double y;
+    double x;
+    double y;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileData.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileData.h
index dae198d32da1909139928235231c93a388af238d..cd4a007f294e73c34eace5797a36eace4d79c6d7 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileData.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileData.h
@@ -18,41 +18,41 @@ class TaylorGreenVortexUzLogFileData;
 class LogFileData
 {
 public:
-	virtual std::vector<int> getAnalyticalVTKWritingTime() = 0;
-	virtual std::vector<double> getBasicGridLengths() = 0;
-	virtual int getBasisTimeStepLength() = 0;
-	virtual std::string getDate() = 0;
-	virtual std::vector<std::string> getGpuDevices() = 0;
-	virtual std::string getKernel() = 0;
-	virtual bool getL2NormTestRun() = 0;
-	virtual bool getL2NormTestBetweenKernelRun() = 0;
-	virtual int getNumberOfTimeSteps() = 0;
-	virtual bool getNyTestRun() = 0;
-	virtual bool getPhiTestRun() = 0;
-	virtual std::vector<double> getResultCheckTime() = 0;
-	virtual std::string getSimName() = 0;
-	virtual std::vector<int> getSimTime() = 0;
-
-	virtual std::vector<double> getTestTime() = 0;
-	virtual std::string getTime() = 0;
-	virtual double getViscosity() = 0;
-	virtual bool getVTKFileWriting() = 0;
-
-	virtual std::string getFilePath() = 0;
-	virtual std::string getSimulationSigniture() = 0;
-
-	virtual std::vector<std::shared_ptr<L2NormLogFileData> > getL2NormLogFileData() = 0;
-	virtual std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > getL2NormBetweenKernelsLogFileData() = 0;
-	virtual std::vector<std::shared_ptr<NyLogFileData> > getNyLogFileData() = 0;
-	virtual std::vector<std::shared_ptr<PhiLogFileData> > getPhiLogFileData() = 0;
-
-	virtual std::shared_ptr<TaylorGreenVortexUxLogFileData> getTaylorGreenVortexUxLogFileData() = 0;
-	virtual std::shared_ptr<TaylorGreenVortexUzLogFileData> getTaylorGreenVortexUzLogFileData() = 0;
-	virtual std::shared_ptr<ShearWaveLogFileData> getShearWaveLogFileData() = 0;
-
-	virtual BasicSimulation getBasicSimulation() = 0;
-
-
-	
+    virtual std::vector<int> getAnalyticalVTKWritingTime() = 0;
+    virtual std::vector<double> getBasicGridLengths() = 0;
+    virtual int getBasisTimeStepLength() = 0;
+    virtual std::string getDate() = 0;
+    virtual std::vector<std::string> getGpuDevices() = 0;
+    virtual std::string getKernel() = 0;
+    virtual bool getL2NormTestRun() = 0;
+    virtual bool getL2NormTestBetweenKernelRun() = 0;
+    virtual int getNumberOfTimeSteps() = 0;
+    virtual bool getNyTestRun() = 0;
+    virtual bool getPhiTestRun() = 0;
+    virtual std::vector<double> getResultCheckTime() = 0;
+    virtual std::string getSimName() = 0;
+    virtual std::vector<int> getSimTime() = 0;
+
+    virtual std::vector<double> getTestTime() = 0;
+    virtual std::string getTime() = 0;
+    virtual double getViscosity() = 0;
+    virtual bool getVTKFileWriting() = 0;
+
+    virtual std::string getFilePath() = 0;
+    virtual std::string getSimulationSigniture() = 0;
+
+    virtual std::vector<std::shared_ptr<L2NormLogFileData> > getL2NormLogFileData() = 0;
+    virtual std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > getL2NormBetweenKernelsLogFileData() = 0;
+    virtual std::vector<std::shared_ptr<NyLogFileData> > getNyLogFileData() = 0;
+    virtual std::vector<std::shared_ptr<PhiLogFileData> > getPhiLogFileData() = 0;
+
+    virtual std::shared_ptr<TaylorGreenVortexUxLogFileData> getTaylorGreenVortexUxLogFileData() = 0;
+    virtual std::shared_ptr<TaylorGreenVortexUzLogFileData> getTaylorGreenVortexUzLogFileData() = 0;
+    virtual std::shared_ptr<ShearWaveLogFileData> getShearWaveLogFileData() = 0;
+
+    virtual BasicSimulation getBasicSimulation() = 0;
+
+
+    
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroup.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroup.h
index c2688bc1b6b47d97e27ca6c23d9e591b95ae004b..021d980c16fc25eb0b11874dfacf7dfff4cef250 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroup.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroup.h
@@ -8,7 +8,7 @@ class LogFileData;
 class LogFileDataGroup
 {
 public:
-	virtual std::shared_ptr<LogFileData> getLogFileData(int number) = 0;
-	virtual int getGroupSize() = 0;
+    virtual std::shared_ptr<LogFileData> getLogFileData(int number) = 0;
+    virtual int getGroupSize() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroupImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroupImp.cpp
index 3e6eea97cf576b32d27fd25c82b06bfa8481e154..4009a9060f50c46bbfe74ad544f9b779c2aafdee 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroupImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroupImp.cpp
@@ -2,25 +2,25 @@
 
 std::shared_ptr<LogFileDataGroupImp> LogFileDataGroupImp::getNewInstance()
 {
-	return std::shared_ptr<LogFileDataGroupImp>(new LogFileDataGroupImp());
+    return std::shared_ptr<LogFileDataGroupImp>(new LogFileDataGroupImp());
 }
 
 std::shared_ptr<LogFileData> LogFileDataGroupImp::getLogFileData(int number)
 {
-	return data.at(number);
+    return data.at(number);
 }
 
 int LogFileDataGroupImp::getGroupSize()
 {
-	return data.size();
+    return data.size();
 }
 
 void LogFileDataGroupImp::addLogFileData(std::shared_ptr<LogFileData> logFileData)
 {
-	data.push_back(logFileData);
+    data.push_back(logFileData);
 }
 
 LogFileDataGroupImp::LogFileDataGroupImp()
 {
-	data.resize(0);
+    data.resize(0);
 }
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroupImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroupImp.h
index 9ac76e21946b037698f8ae2a13c1c6cc76f866af..3b492e62b0dd78c5a3f048256a3e25925c9754f2 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroupImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataGroup/LogFileDataGroupImp.h
@@ -8,15 +8,15 @@
 class LogFileDataGroupImp : public LogFileDataGroup
 {
 public:
-	static std::shared_ptr<LogFileDataGroupImp> getNewInstance();
+    static std::shared_ptr<LogFileDataGroupImp> getNewInstance();
 
-	std::shared_ptr<LogFileData> getLogFileData(int number);
-	int getGroupSize();
-	void addLogFileData(std::shared_ptr<LogFileData> logFileData);
+    std::shared_ptr<LogFileData> getLogFileData(int number);
+    int getGroupSize();
+    void addLogFileData(std::shared_ptr<LogFileData> logFileData);
 
 private:
-	LogFileDataGroupImp();
+    LogFileDataGroupImp();
 
-	std::vector<std::shared_ptr<LogFileData>> data;
+    std::vector<std::shared_ptr<LogFileData>> data;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataImp.cpp
index 80c516f93ab9a3541aca7e212d8466ea1ef740c6..04e670d71c7adab600c79a2e39555a4c425e2d2c 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataImp.cpp
@@ -2,147 +2,147 @@
 
 std::shared_ptr<LogFileDataImp> LogFileDataImp::getNewInstance()
 {
-	return std::shared_ptr<LogFileDataImp>(new LogFileDataImp());
+    return std::shared_ptr<LogFileDataImp>(new LogFileDataImp());
 }
 
 void LogFileDataImp::setBasisTimeStepLength(int basisTimeStepLength)
 {
-	this->basisTimeStepLength = basisTimeStepLength;
+    this->basisTimeStepLength = basisTimeStepLength;
 }
 
 void LogFileDataImp::setAnalyticalVTKWritingTime(std::vector<int> analyticalVTKWritingTime)
 {
-	this->analyticalVTKWritingTime = analyticalVTKWritingTime;
+    this->analyticalVTKWritingTime = analyticalVTKWritingTime;
 }
 
 void LogFileDataImp::setBasicGridLengths(std::vector<double> basicGridLenghts)
 {
-	this->basicGridLenghts = basicGridLenghts;
+    this->basicGridLenghts = basicGridLenghts;
 }
 
 void LogFileDataImp::setDate(std::string date)
 {
-	this->date = date;
+    this->date = date;
 }
 
 void LogFileDataImp::setGpuDevices(std::vector<std::string> gpuDevices)
 {
-	this->gpuDevices = gpuDevices;
+    this->gpuDevices = gpuDevices;
 }
 
 void LogFileDataImp::setSimName(std::string simName)
 {
-	this->simName = simName;
+    this->simName = simName;
 }
 
 void LogFileDataImp::setSimTime(std::vector<int> simTime)
 {
-	this->simTime = simTime;
+    this->simTime = simTime;
 }
 
 void LogFileDataImp::setTestTime(std::vector<double> testTime)
 {
-	this->testTime = testTime;
+    this->testTime = testTime;
 }
 
 void LogFileDataImp::setTime(std::string time)
 {
-	this->time = time;
+    this->time = time;
 }
 
 void LogFileDataImp::setKernel(std::string kernelName)
 {
-	this->kernelName = kernelName;
+    this->kernelName = kernelName;
 }
 
 void LogFileDataImp::setL2NormTestRun(bool l2NormTestRun)
 {
-	this->l2NormTestRun = l2NormTestRun;
+    this->l2NormTestRun = l2NormTestRun;
 }
 
 void LogFileDataImp::setL2NormTestBetweenKernelRun(bool l2NormTestBetweenKernelRun)
 {
-	this->l2NormTestBetweenKernelRun = l2NormTestBetweenKernelRun;
+    this->l2NormTestBetweenKernelRun = l2NormTestBetweenKernelRun;
 }
 
 void LogFileDataImp::setNumberOfTimeSteps(int numberOfTimeSteps)
 {
-	this->numberOfTimeSteps = numberOfTimeSteps;
+    this->numberOfTimeSteps = numberOfTimeSteps;
 }
 
 void LogFileDataImp::setPhiTestRun(bool phiTestRun)
 {
-	this->phiTestRun = phiTestRun;
+    this->phiTestRun = phiTestRun;
 }
 
 void LogFileDataImp::setNyTestRun(bool nyTestRun)
 {
-	this->nyTestRun = nyTestRun;
+    this->nyTestRun = nyTestRun;
 }
 
 void LogFileDataImp::setResultCheckTime(std::vector<double> resultsCheckTime)
 {
-	this->resultsCheckTime = resultsCheckTime;
+    this->resultsCheckTime = resultsCheckTime;
 }
 
 void LogFileDataImp::setViscosity(double viscosity)
 {
-	this->viscosity = viscosity;
+    this->viscosity = viscosity;
 }
 
 void LogFileDataImp::setVTKFileWriting(bool vtkFileWriting)
 {
-	this->vtkFileWriting = vtkFileWriting;
+    this->vtkFileWriting = vtkFileWriting;
 }
 
 void LogFileDataImp::setFilePath(std::string filePath)
 {
-	this->filePath = filePath;
+    this->filePath = filePath;
 }
 
 void LogFileDataImp::setSimulationSigniture(std::string simulationSigniture)
 {
-	this->simulationSigniture = simulationSigniture;
+    this->simulationSigniture = simulationSigniture;
 }
 
 void LogFileDataImp::setL2NormLogFileData(std::vector<std::shared_ptr<L2NormLogFileData>> data)
 {
-	this->l2NormLogFileData = data;
+    this->l2NormLogFileData = data;
 }
 
 void LogFileDataImp::setL2NormBetweenKernelsLogFileData(std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData>> data)
 {
-	this->l2NormBetweenKernelsDataLogFileData = data;
+    this->l2NormBetweenKernelsDataLogFileData = data;
 }
 
 void LogFileDataImp::setNyLogFileData(std::vector<std::shared_ptr<NyLogFileData>> data)
 {
-	this->nyLogFileData = data;
+    this->nyLogFileData = data;
 }
 
 void LogFileDataImp::setPhiLogFileData(std::vector<std::shared_ptr<PhiLogFileData>> data)
 {
-	this->phiLogFileData = data;
+    this->phiLogFileData = data;
 }
 
 void LogFileDataImp::setTaylorGreenVortexUxLogFileData(std::shared_ptr<TaylorGreenVortexUxLogFileData> data)
 {
-	this->tgvUxLogFileData = data;
+    this->tgvUxLogFileData = data;
 }
 
 void LogFileDataImp::setTaylorGreenVortexUzLogFileData(std::shared_ptr<TaylorGreenVortexUzLogFileData> data)
 {
-	this->tgvUzLogFileData = data;
+    this->tgvUzLogFileData = data;
 }
 
 void LogFileDataImp::setShearWaveLogFileData(std::shared_ptr<ShearWaveLogFileData> data)
 {
-	this->shearWaveLogFileData = data;
+    this->shearWaveLogFileData = data;
 }
 
 void LogFileDataImp::setBasicSimulation(BasicSimulation sim)
 {
-	this->sim = sim;
+    this->sim = sim;
 }
 
 LogFileDataImp::~LogFileDataImp()
@@ -151,142 +151,142 @@ LogFileDataImp::~LogFileDataImp()
 
 int LogFileDataImp::getBasisTimeStepLength()
 {
-	return basisTimeStepLength;
+    return basisTimeStepLength;
 }
 
 std::vector<int> LogFileDataImp::getAnalyticalVTKWritingTime()
 {
-	return analyticalVTKWritingTime;
+    return analyticalVTKWritingTime;
 }
 
 std::vector<double> LogFileDataImp::getBasicGridLengths()
 {
-	return basicGridLenghts;
+    return basicGridLenghts;
 }
 
 std::string LogFileDataImp::getDate()
 {
-	return date;
+    return date;
 }
 
 std::vector<std::string> LogFileDataImp::getGpuDevices()
 {
-	return gpuDevices;
+    return gpuDevices;
 }
 
 std::string LogFileDataImp::getKernel()
 {
-	return kernelName;
+    return kernelName;
 }
 
 bool LogFileDataImp::getL2NormTestRun()
 {
-	return l2NormTestRun;
+    return l2NormTestRun;
 }
 
 bool LogFileDataImp::getL2NormTestBetweenKernelRun()
 {
-	return l2NormTestBetweenKernelRun;
+    return l2NormTestBetweenKernelRun;
 }
 
 int LogFileDataImp::getNumberOfTimeSteps()
 {
-	return numberOfTimeSteps;
+    return numberOfTimeSteps;
 }
 
 bool LogFileDataImp::getNyTestRun()
 {
-	return nyTestRun;
+    return nyTestRun;
 }
 
 bool LogFileDataImp::getPhiTestRun()
 {
-	return phiTestRun;
+    return phiTestRun;
 }
 
 std::vector<double> LogFileDataImp::getResultCheckTime()
 {
-	return resultsCheckTime;
+    return resultsCheckTime;
 }
 
 std::string LogFileDataImp::getSimName()
 {
-	return simName;
+    return simName;
 }
 
 std::vector<int> LogFileDataImp::getSimTime()
 {
-	return simTime;
+    return simTime;
 }
 
 std::vector<double> LogFileDataImp::getTestTime()
 {
-	return testTime;
+    return testTime;
 }
 
 std::string LogFileDataImp::getTime()
 {
-	return time;
+    return time;
 }
 
 double LogFileDataImp::getViscosity()
 {
-	return viscosity;
+    return viscosity;
 }
 
 bool LogFileDataImp::getVTKFileWriting()
 {
-	return vtkFileWriting;
+    return vtkFileWriting;
 }
 
 std::string LogFileDataImp::getFilePath()
 {
-	return filePath;
+    return filePath;
 }
 
 std::string LogFileDataImp::getSimulationSigniture()
 {
-	return simulationSigniture;
+    return simulationSigniture;
 }
 
 std::vector<std::shared_ptr<L2NormLogFileData>> LogFileDataImp::getL2NormLogFileData()
 {
-	return l2NormLogFileData;
+    return l2NormLogFileData;
 }
 
 std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData>> LogFileDataImp::getL2NormBetweenKernelsLogFileData()
 {
-	return l2NormBetweenKernelsDataLogFileData;
+    return l2NormBetweenKernelsDataLogFileData;
 }
 
 std::vector<std::shared_ptr<PhiLogFileData>> LogFileDataImp::getPhiLogFileData()
 {
-	return phiLogFileData;
+    return phiLogFileData;
 }
 
 std::vector<std::shared_ptr<NyLogFileData>> LogFileDataImp::getNyLogFileData()
 {
-	return nyLogFileData;
+    return nyLogFileData;
 }
 
 std::shared_ptr<TaylorGreenVortexUxLogFileData> LogFileDataImp::getTaylorGreenVortexUxLogFileData()
 {
-	return tgvUxLogFileData;
+    return tgvUxLogFileData;
 }
 
 std::shared_ptr<TaylorGreenVortexUzLogFileData> LogFileDataImp::getTaylorGreenVortexUzLogFileData()
 {
-	return tgvUzLogFileData;
+    return tgvUzLogFileData;
 }
 
 std::shared_ptr<ShearWaveLogFileData> LogFileDataImp::getShearWaveLogFileData()
 {
-	return shearWaveLogFileData;
+    return shearWaveLogFileData;
 }
 
 BasicSimulation LogFileDataImp::getBasicSimulation()
 {
-	return sim;
+    return sim;
 }
 
 LogFileDataImp::LogFileDataImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataImp.h
index 733c87269516dfe4d059fd36e2d0f91a1d94b15c..45126557641a30ad06d58e6d8bdff2adf731e065 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileData/LogFileDataImp.h
@@ -8,105 +8,105 @@
 class LogFileDataImp : public LogFileData
 {
 public:
-	static std::shared_ptr<LogFileDataImp> getNewInstance();
+    static std::shared_ptr<LogFileDataImp> getNewInstance();
 
-	std::vector<int> getAnalyticalVTKWritingTime();
-	std::vector<double> getBasicGridLengths();
-	int getBasisTimeStepLength();
-	std::string getDate();
-	std::vector<std::string> getGpuDevices();
-	std::string getKernel();
-	bool getL2NormTestRun();
-	bool getL2NormTestBetweenKernelRun();
-	int getNumberOfTimeSteps();
-	bool getNyTestRun();
-	bool getPhiTestRun();
-	std::vector<double> getResultCheckTime();
-	std::string getSimName();
-	std::vector<int> getSimTime();
-	std::vector<double> getTestTime();
-	std::string getTime();
-	double getViscosity();
-	bool getVTKFileWriting();
-	std::string getFilePath();
-	std::string getSimulationSigniture();
+    std::vector<int> getAnalyticalVTKWritingTime();
+    std::vector<double> getBasicGridLengths();
+    int getBasisTimeStepLength();
+    std::string getDate();
+    std::vector<std::string> getGpuDevices();
+    std::string getKernel();
+    bool getL2NormTestRun();
+    bool getL2NormTestBetweenKernelRun();
+    int getNumberOfTimeSteps();
+    bool getNyTestRun();
+    bool getPhiTestRun();
+    std::vector<double> getResultCheckTime();
+    std::string getSimName();
+    std::vector<int> getSimTime();
+    std::vector<double> getTestTime();
+    std::string getTime();
+    double getViscosity();
+    bool getVTKFileWriting();
+    std::string getFilePath();
+    std::string getSimulationSigniture();
 
-	std::vector<std::shared_ptr<L2NormLogFileData> > getL2NormLogFileData();
-	std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > getL2NormBetweenKernelsLogFileData();
-	std::vector<std::shared_ptr<PhiLogFileData> > getPhiLogFileData();
-	std::vector<std::shared_ptr<NyLogFileData> > getNyLogFileData();
-	
-	std::shared_ptr<TaylorGreenVortexUxLogFileData> getTaylorGreenVortexUxLogFileData();
-	std::shared_ptr<TaylorGreenVortexUzLogFileData> getTaylorGreenVortexUzLogFileData();
-	std::shared_ptr<ShearWaveLogFileData> getShearWaveLogFileData();
-	BasicSimulation getBasicSimulation();
+    std::vector<std::shared_ptr<L2NormLogFileData> > getL2NormLogFileData();
+    std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > getL2NormBetweenKernelsLogFileData();
+    std::vector<std::shared_ptr<PhiLogFileData> > getPhiLogFileData();
+    std::vector<std::shared_ptr<NyLogFileData> > getNyLogFileData();
+    
+    std::shared_ptr<TaylorGreenVortexUxLogFileData> getTaylorGreenVortexUxLogFileData();
+    std::shared_ptr<TaylorGreenVortexUzLogFileData> getTaylorGreenVortexUzLogFileData();
+    std::shared_ptr<ShearWaveLogFileData> getShearWaveLogFileData();
+    BasicSimulation getBasicSimulation();
 
-	void setAnalyticalVTKWritingTime(std::vector<int> analyticalVTKWritingTime);
-	void setBasicGridLengths(std::vector<double> basicGridLenghts);
-	void setBasisTimeStepLength(int basisTimeStepLength);
-	void setDate(std::string date);
-	void setGpuDevices(std::vector<std::string> gpuDevices);
-	void setKernel(std::string kernelName);
-	void setL2NormTestRun(bool l2NormTestRun);
-	void setL2NormTestBetweenKernelRun(bool l2NormTestBetweenKernelRun);
-	void setNumberOfTimeSteps(int numberOfTimeSteps);
-	void setPhiTestRun(bool phiTestRun);
-	void setNyTestRun(bool nyTestRun);
-	void setResultCheckTime(std::vector<double> resultsCheckTime);
-	void setSimName(std::string simName);
-	void setSimTime(std::vector<int> simTime);
-	void setTestTime(std::vector<double> testTime);
-	void setTime(std::string time);
-	void setViscosity(double viscosity);
-	void setVTKFileWriting(bool vtkFileWriting);
-	void setFilePath(std::string filePath);
-	void setSimulationSigniture(std::string simulationSigniture);
+    void setAnalyticalVTKWritingTime(std::vector<int> analyticalVTKWritingTime);
+    void setBasicGridLengths(std::vector<double> basicGridLenghts);
+    void setBasisTimeStepLength(int basisTimeStepLength);
+    void setDate(std::string date);
+    void setGpuDevices(std::vector<std::string> gpuDevices);
+    void setKernel(std::string kernelName);
+    void setL2NormTestRun(bool l2NormTestRun);
+    void setL2NormTestBetweenKernelRun(bool l2NormTestBetweenKernelRun);
+    void setNumberOfTimeSteps(int numberOfTimeSteps);
+    void setPhiTestRun(bool phiTestRun);
+    void setNyTestRun(bool nyTestRun);
+    void setResultCheckTime(std::vector<double> resultsCheckTime);
+    void setSimName(std::string simName);
+    void setSimTime(std::vector<int> simTime);
+    void setTestTime(std::vector<double> testTime);
+    void setTime(std::string time);
+    void setViscosity(double viscosity);
+    void setVTKFileWriting(bool vtkFileWriting);
+    void setFilePath(std::string filePath);
+    void setSimulationSigniture(std::string simulationSigniture);
 
-	void setL2NormLogFileData(std::vector<std::shared_ptr<L2NormLogFileData> > data);
-	void setL2NormBetweenKernelsLogFileData(std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > data);
-	void setNyLogFileData(std::vector<std::shared_ptr<NyLogFileData> > data);
-	void setPhiLogFileData(std::vector<std::shared_ptr<PhiLogFileData> > data);
-	
-	void setTaylorGreenVortexUxLogFileData(std::shared_ptr<TaylorGreenVortexUxLogFileData> data);
-	void setTaylorGreenVortexUzLogFileData(std::shared_ptr<TaylorGreenVortexUzLogFileData> data);
-	void setShearWaveLogFileData(std::shared_ptr<ShearWaveLogFileData> data);
-	void setBasicSimulation(BasicSimulation sim);
+    void setL2NormLogFileData(std::vector<std::shared_ptr<L2NormLogFileData> > data);
+    void setL2NormBetweenKernelsLogFileData(std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > data);
+    void setNyLogFileData(std::vector<std::shared_ptr<NyLogFileData> > data);
+    void setPhiLogFileData(std::vector<std::shared_ptr<PhiLogFileData> > data);
+    
+    void setTaylorGreenVortexUxLogFileData(std::shared_ptr<TaylorGreenVortexUxLogFileData> data);
+    void setTaylorGreenVortexUzLogFileData(std::shared_ptr<TaylorGreenVortexUzLogFileData> data);
+    void setShearWaveLogFileData(std::shared_ptr<ShearWaveLogFileData> data);
+    void setBasicSimulation(BasicSimulation sim);
 
-	~LogFileDataImp();
+    ~LogFileDataImp();
 
 private:
-	LogFileDataImp();
+    LogFileDataImp();
 
-	std::vector<int> analyticalVTKWritingTime;
-	std::vector<double> basicGridLenghts;
-	int basisTimeStepLength;
-	std::string date;
-	std::vector<std::string> gpuDevices;
-	std::string kernelName;
-	bool l2NormTestRun;
-	bool l2NormTestBetweenKernelRun;
-	int numberOfTimeSteps;
-	bool phiTestRun;
-	bool nyTestRun;
-	std::vector<double> resultsCheckTime;
-	std::string simName;
-	std::vector<int> simTime;
-	std::vector<double> testTime;
-	std::string time;
-	double viscosity;
-	bool vtkFileWriting;
-	std::string filePath;
-	std::string simulationSigniture;
+    std::vector<int> analyticalVTKWritingTime;
+    std::vector<double> basicGridLenghts;
+    int basisTimeStepLength;
+    std::string date;
+    std::vector<std::string> gpuDevices;
+    std::string kernelName;
+    bool l2NormTestRun;
+    bool l2NormTestBetweenKernelRun;
+    int numberOfTimeSteps;
+    bool phiTestRun;
+    bool nyTestRun;
+    std::vector<double> resultsCheckTime;
+    std::string simName;
+    std::vector<int> simTime;
+    std::vector<double> testTime;
+    std::string time;
+    double viscosity;
+    bool vtkFileWriting;
+    std::string filePath;
+    std::string simulationSigniture;
 
-	std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > l2NormBetweenKernelsDataLogFileData;
-	std::vector<std::shared_ptr<PhiLogFileData> > phiLogFileData;
-	std::vector<std::shared_ptr<NyLogFileData> > nyLogFileData;
-	std::vector<std::shared_ptr<L2NormLogFileData> > l2NormLogFileData;
+    std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > l2NormBetweenKernelsDataLogFileData;
+    std::vector<std::shared_ptr<PhiLogFileData> > phiLogFileData;
+    std::vector<std::shared_ptr<NyLogFileData> > nyLogFileData;
+    std::vector<std::shared_ptr<L2NormLogFileData> > l2NormLogFileData;
 
-	std::shared_ptr<ShearWaveLogFileData> shearWaveLogFileData;
-	std::shared_ptr<TaylorGreenVortexUxLogFileData> tgvUxLogFileData;
-	std::shared_ptr<TaylorGreenVortexUzLogFileData> tgvUzLogFileData;
+    std::shared_ptr<ShearWaveLogFileData> shearWaveLogFileData;
+    std::shared_ptr<TaylorGreenVortexUxLogFileData> tgvUxLogFileData;
+    std::shared_ptr<TaylorGreenVortexUzLogFileData> tgvUzLogFileData;
 
-	BasicSimulation sim;
+    BasicSimulation sim;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistant.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistant.h
index c3e78cf9aa122cdef1e49dc30dacc17ec5b39927..f0f56779894d89cd7ab97136ab9698da26fb8386 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistant.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistant.h
@@ -16,7 +16,7 @@ class LogFileDataAssistantStrategy;
 class LogFileDataAssistant
 {
 public:
-	virtual std::vector<std::shared_ptr<LogFileDataGroup> > findDataCombination(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy, DataCombination combination) = 0;
+    virtual std::vector<std::shared_ptr<LogFileDataGroup> > findDataCombination(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy, DataCombination combination) = 0;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantImp.cpp
index c7dac7e8025fb52fb1c11297ef220cbf4edeb95a..51d2bd6b93ec44b49462a087a421c25a95ab1e0f 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantImp.cpp
@@ -10,191 +10,191 @@
 
 std::vector<std::vector<std::shared_ptr<LogFileData>>> LogFileDataAssistantImp::sortLogFileDataAfterKernels(std::vector<std::shared_ptr<LogFileData>> logFileData)
 {
-	std::vector<std::string> kernelNames;
-	for (int i = 0; i < logFileData.size(); i++) {
-		if (i == 0)
-			kernelNames.push_back(logFileData.at(i)->getKernel());
-		else
-		{
-			bool newKernel = true;
-			for (int j = 0; j < kernelNames.size(); j++) {
-				if (kernelNames.at(i) == logFileData.at(i)->getKernel())
-					newKernel = false;
-			}
-			if (newKernel)
-				kernelNames.push_back(logFileData.at(i)->getKernel());
-		}
-	}
-
-	std::vector<std::vector<std::shared_ptr<LogFileData> > > logFileDataAfterKernels;
-	logFileDataAfterKernels.resize(kernelNames.size());
-	for (int i = 0; i < kernelNames.size(); i++) {
-		for (int j = 0; j < logFileData.size(); j++) {
-			if (kernelNames.at(i) == logFileData.at(j)->getKernel())
-				logFileDataAfterKernels.at(i).push_back(logFileData.at(j));
-		}
-	}
-	return logFileDataAfterKernels;
+    std::vector<std::string> kernelNames;
+    for (int i = 0; i < logFileData.size(); i++) {
+        if (i == 0)
+            kernelNames.push_back(logFileData.at(i)->getKernel());
+        else
+        {
+            bool newKernel = true;
+            for (int j = 0; j < kernelNames.size(); j++) {
+                if (kernelNames.at(i) == logFileData.at(i)->getKernel())
+                    newKernel = false;
+            }
+            if (newKernel)
+                kernelNames.push_back(logFileData.at(i)->getKernel());
+        }
+    }
+
+    std::vector<std::vector<std::shared_ptr<LogFileData> > > logFileDataAfterKernels;
+    logFileDataAfterKernels.resize(kernelNames.size());
+    for (int i = 0; i < kernelNames.size(); i++) {
+        for (int j = 0; j < logFileData.size(); j++) {
+            if (kernelNames.at(i) == logFileData.at(j)->getKernel())
+                logFileDataAfterKernels.at(i).push_back(logFileData.at(j));
+        }
+    }
+    return logFileDataAfterKernels;
 }
 
 bool LogFileDataAssistantImp::checkEqualSimulationData(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2)
 {
-	if (logFileData1->getNumberOfTimeSteps() != logFileData2->getNumberOfTimeSteps())
-		return false;
-	if (logFileData1->getBasisTimeStepLength() != logFileData2->getBasisTimeStepLength())
-		return false;
+    if (logFileData1->getNumberOfTimeSteps() != logFileData2->getNumberOfTimeSteps())
+        return false;
+    if (logFileData1->getBasisTimeStepLength() != logFileData2->getBasisTimeStepLength())
+        return false;
 
-	return true;
+    return true;
 }
 
 bool LogFileDataAssistantImp::checkEqualViscosity(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2)
 {
-	if (!equalDouble(logFileData1->getViscosity(), logFileData2->getViscosity()))
-		return false;
+    if (!equalDouble(logFileData1->getViscosity(), logFileData2->getViscosity()))
+        return false;
 
-	return true;
+    return true;
 }
 
 bool LogFileDataAssistantImp::checkEqualKernel(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2)
 {
-	if (logFileData1->getKernel() != logFileData2->getKernel())
-		return false;
+    if (logFileData1->getKernel() != logFileData2->getKernel())
+        return false;
 
-	return true;
+    return true;
 }
 
 bool LogFileDataAssistantImp::checkBasicSimulationIsInLogFiles(std::vector<std::shared_ptr<LogFileData>> allLogFileData, std::string simName)
 {
-	bool isInLogFileData = false;
-	for (int i = 0; i < allLogFileData.size(); i++) {
-		if (allLogFileData.at(i)->getSimName() == simName)
-			return true;
-	}
-	return false;
+    bool isInLogFileData = false;
+    for (int i = 0; i < allLogFileData.size(); i++) {
+        if (allLogFileData.at(i)->getSimName() == simName)
+            return true;
+    }
+    return false;
 }
 
 std::vector<std::shared_ptr<LogFileDataGroup>> LogFileDataAssistantImp::castToLogFileDataGroup(std::vector<std::shared_ptr<LogFileDataGroupImp>> data)
 {
-	std::vector<std::shared_ptr<LogFileDataGroup>> casted;
+    std::vector<std::shared_ptr<LogFileDataGroup>> casted;
 
-	for (int i = 0; i < data.size(); i++)
-		casted.push_back(data.at(i));
-	return casted;
+    for (int i = 0; i < data.size(); i++)
+        casted.push_back(data.at(i));
+    return casted;
 }
 
 bool LogFileDataAssistantImp::equalDouble(double num1, double num2)
 {
-	const FloatingPoint<double> lhs(num1), rhs(num2);
+    const FloatingPoint<double> lhs(num1), rhs(num2);
 
-	if (lhs.AlmostEquals(rhs))
-		return true;
-	return false;
+    if (lhs.AlmostEquals(rhs))
+        return true;
+    return false;
 }
 
 std::vector<std::shared_ptr<LogFileData>> LogFileDataAssistantImp::getSimulationGroupLogFileData(std::string simName, std::vector<std::shared_ptr<LogFileData>> allLogFileData)
 {
-	std::vector<std::shared_ptr<LogFileData>> simGroupLogFileData;
+    std::vector<std::shared_ptr<LogFileData>> simGroupLogFileData;
 
-	for (int i = 0; i < allLogFileData.size(); i++) {
-		if (allLogFileData.at(i)->getSimName() == simName)
-			simGroupLogFileData.push_back(allLogFileData.at(i));
-	}
+    for (int i = 0; i < allLogFileData.size(); i++) {
+        if (allLogFileData.at(i)->getSimName() == simName)
+            simGroupLogFileData.push_back(allLogFileData.at(i));
+    }
 
-	return simGroupLogFileData;
+    return simGroupLogFileData;
 }
 
 std::shared_ptr<LogFileDataAssistant> LogFileDataAssistantImp::getNewInstance()
 {
-	return std::shared_ptr<LogFileDataAssistant>(new LogFileDataAssistantImp());
+    return std::shared_ptr<LogFileDataAssistant>(new LogFileDataAssistantImp());
 }
 
 std::vector<std::shared_ptr<LogFileDataGroup>> LogFileDataAssistantImp::findDataCombination(std::vector<std::shared_ptr<LogFileData>> allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy, DataCombination combination)
 {
-	std::vector<std::shared_ptr<LogFileDataGroup>> myLogFileDataGroup;
-	if (checkBasicSimulationIsInLogFiles(allLogFileData, strategy->getSimulationName())) {
-		if (allLogFileData.size() > 1) {
-			switch (combination)
-			{
-			case EqualSimulationsForDifferentKernels:
-				myLogFileDataGroup = findEqualSimulationsForDifferentKernels(allLogFileData, strategy);
-				break;
-			case EqualKernelSimulationsForDifferentViscosities:
-				myLogFileDataGroup = findEqualKernelSimulationsForDifferentViscosities(allLogFileData, strategy);
-				break;
-			default:
-				break;
-			}
-		}
-		else {
-			std::shared_ptr<LogFileDataGroupImp> newGroup = LogFileDataGroupImp::getNewInstance();
-			newGroup->addLogFileData(allLogFileData.at(0));
-			myLogFileDataGroup.push_back(newGroup);
-		}
-	}
-	return myLogFileDataGroup;
+    std::vector<std::shared_ptr<LogFileDataGroup>> myLogFileDataGroup;
+    if (checkBasicSimulationIsInLogFiles(allLogFileData, strategy->getSimulationName())) {
+        if (allLogFileData.size() > 1) {
+            switch (combination)
+            {
+            case EqualSimulationsForDifferentKernels:
+                myLogFileDataGroup = findEqualSimulationsForDifferentKernels(allLogFileData, strategy);
+                break;
+            case EqualKernelSimulationsForDifferentViscosities:
+                myLogFileDataGroup = findEqualKernelSimulationsForDifferentViscosities(allLogFileData, strategy);
+                break;
+            default:
+                break;
+            }
+        }
+        else {
+            std::shared_ptr<LogFileDataGroupImp> newGroup = LogFileDataGroupImp::getNewInstance();
+            newGroup->addLogFileData(allLogFileData.at(0));
+            myLogFileDataGroup.push_back(newGroup);
+        }
+    }
+    return myLogFileDataGroup;
 }
 
 std::vector<std::shared_ptr<LogFileDataGroup>> LogFileDataAssistantImp::findEqualSimulationsForDifferentKernels(std::vector<std::shared_ptr<LogFileData>> allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy)
 {
-	std::vector<std::shared_ptr<LogFileData>> myLogFileData = getSimulationGroupLogFileData(strategy->getSimulationName(), allLogFileData);
-
-	std::vector<std::shared_ptr<LogFileDataGroupImp>  > kernelGroups;
-	kernelGroups.push_back(LogFileDataGroupImp::getNewInstance());
-	kernelGroups.at(0)->addLogFileData(myLogFileData.at(0));
-
-	for (int i = 1; i < myLogFileData.size(); i++) {
-		bool added = false;
-		for (int j = 0; j < kernelGroups.size(); j++) {
-			if (checkEqualSimulationData(myLogFileData.at(i), kernelGroups.at(j)->getLogFileData(0))) {
-				if (checkEqualViscosity(myLogFileData.at(i), kernelGroups.at(j)->getLogFileData(0))) {
-					if (strategy->checkSimulationParameter(myLogFileData.at(i), kernelGroups.at(j)->getLogFileData(0))) {
-						kernelGroups.at(j)->addLogFileData(myLogFileData.at(i));
-						added = true;
-					}
-				}
-			}
-		}
-		if (!added) {
-			std::shared_ptr<LogFileDataGroupImp> newGroup = LogFileDataGroupImp::getNewInstance();
-			newGroup->addLogFileData(myLogFileData.at(i));
-			kernelGroups.push_back(newGroup);
-		}
-	}
-
-	return castToLogFileDataGroup(kernelGroups);
+    std::vector<std::shared_ptr<LogFileData>> myLogFileData = getSimulationGroupLogFileData(strategy->getSimulationName(), allLogFileData);
+
+    std::vector<std::shared_ptr<LogFileDataGroupImp>  > kernelGroups;
+    kernelGroups.push_back(LogFileDataGroupImp::getNewInstance());
+    kernelGroups.at(0)->addLogFileData(myLogFileData.at(0));
+
+    for (int i = 1; i < myLogFileData.size(); i++) {
+        bool added = false;
+        for (int j = 0; j < kernelGroups.size(); j++) {
+            if (checkEqualSimulationData(myLogFileData.at(i), kernelGroups.at(j)->getLogFileData(0))) {
+                if (checkEqualViscosity(myLogFileData.at(i), kernelGroups.at(j)->getLogFileData(0))) {
+                    if (strategy->checkSimulationParameter(myLogFileData.at(i), kernelGroups.at(j)->getLogFileData(0))) {
+                        kernelGroups.at(j)->addLogFileData(myLogFileData.at(i));
+                        added = true;
+                    }
+                }
+            }
+        }
+        if (!added) {
+            std::shared_ptr<LogFileDataGroupImp> newGroup = LogFileDataGroupImp::getNewInstance();
+            newGroup->addLogFileData(myLogFileData.at(i));
+            kernelGroups.push_back(newGroup);
+        }
+    }
+
+    return castToLogFileDataGroup(kernelGroups);
 }
 
 std::vector<std::shared_ptr<LogFileDataGroup> > LogFileDataAssistantImp::findEqualKernelSimulationsForDifferentViscosities(std::vector<std::shared_ptr<LogFileData>> allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy)
 {
-	std::vector<std::shared_ptr<LogFileData>> myLogFileData = getSimulationGroupLogFileData(strategy->getSimulationName(), allLogFileData);
-
-	std::vector<std::shared_ptr<LogFileDataGroupImp>  > viscosityGroups;
-	viscosityGroups.push_back(LogFileDataGroupImp::getNewInstance());
-	viscosityGroups.at(0)->addLogFileData(myLogFileData.at(0));
-
-	for (int i = 1; i < myLogFileData.size(); i++) {
-		bool added = false;
-		for (int j = 0; j < viscosityGroups.size(); j++) {
-			if (checkEqualSimulationData(myLogFileData.at(i), viscosityGroups.at(j)->getLogFileData(0))) {
-				if (checkEqualKernel(myLogFileData.at(i), viscosityGroups.at(j)->getLogFileData(0))) {
-					if (strategy->checkSimulationParameter(myLogFileData.at(i), viscosityGroups.at(j)->getLogFileData(0))) {
-						viscosityGroups.at(j)->addLogFileData(myLogFileData.at(i));
-						added = true;
-					}
-				}
-			}
-		}
-		if (!added) {
-			std::shared_ptr<LogFileDataGroupImp> newGroup = LogFileDataGroupImp::getNewInstance();
-			newGroup->addLogFileData(myLogFileData.at(i));
-			viscosityGroups.push_back(newGroup);
-		}
-	}
-
-	return castToLogFileDataGroup(viscosityGroups);
+    std::vector<std::shared_ptr<LogFileData>> myLogFileData = getSimulationGroupLogFileData(strategy->getSimulationName(), allLogFileData);
+
+    std::vector<std::shared_ptr<LogFileDataGroupImp>  > viscosityGroups;
+    viscosityGroups.push_back(LogFileDataGroupImp::getNewInstance());
+    viscosityGroups.at(0)->addLogFileData(myLogFileData.at(0));
+
+    for (int i = 1; i < myLogFileData.size(); i++) {
+        bool added = false;
+        for (int j = 0; j < viscosityGroups.size(); j++) {
+            if (checkEqualSimulationData(myLogFileData.at(i), viscosityGroups.at(j)->getLogFileData(0))) {
+                if (checkEqualKernel(myLogFileData.at(i), viscosityGroups.at(j)->getLogFileData(0))) {
+                    if (strategy->checkSimulationParameter(myLogFileData.at(i), viscosityGroups.at(j)->getLogFileData(0))) {
+                        viscosityGroups.at(j)->addLogFileData(myLogFileData.at(i));
+                        added = true;
+                    }
+                }
+            }
+        }
+        if (!added) {
+            std::shared_ptr<LogFileDataGroupImp> newGroup = LogFileDataGroupImp::getNewInstance();
+            newGroup->addLogFileData(myLogFileData.at(i));
+            viscosityGroups.push_back(newGroup);
+        }
+    }
+
+    return castToLogFileDataGroup(viscosityGroups);
 }
 
 LogFileDataAssistantImp::LogFileDataAssistantImp()
 {
-	
+    
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantImp.h
index 04f773f28102228ad48482010288ec88b5604144..389c82e94318b415914a412c5d86dc336b8d9763 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantImp.h
@@ -9,30 +9,30 @@ class LogFileDataAssistantStrategy;
 class LogFileDataAssistantImp : public LogFileDataAssistant
 {
 public:
-	static std::shared_ptr<LogFileDataAssistant> getNewInstance();
+    static std::shared_ptr<LogFileDataAssistant> getNewInstance();
 
 
-	std::vector<std::shared_ptr<LogFileDataGroup> > findDataCombination(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy, DataCombination combination);
-	
+    std::vector<std::shared_ptr<LogFileDataGroup> > findDataCombination(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy, DataCombination combination);
+    
 
 protected:
-	LogFileDataAssistantImp();
-	
-	std::vector<std::shared_ptr<LogFileDataGroup> > findEqualSimulationsForDifferentKernels(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy);
-	std::vector<std::shared_ptr<LogFileDataGroup> > findEqualKernelSimulationsForDifferentViscosities(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy);
+    LogFileDataAssistantImp();
+    
+    std::vector<std::shared_ptr<LogFileDataGroup> > findEqualSimulationsForDifferentKernels(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy);
+    std::vector<std::shared_ptr<LogFileDataGroup> > findEqualKernelSimulationsForDifferentViscosities(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::shared_ptr<LogFileDataAssistantStrategy> strategy);
 
-	std::vector<std::shared_ptr<LogFileData> > getSimulationGroupLogFileData(std::string simName, std::vector<std::shared_ptr<LogFileData> > allLogFileData);
-	std::vector<std::vector<std::shared_ptr<LogFileData> > > sortLogFileDataAfterKernels(std::vector<std::shared_ptr<LogFileData> > logFileData);
+    std::vector<std::shared_ptr<LogFileData> > getSimulationGroupLogFileData(std::string simName, std::vector<std::shared_ptr<LogFileData> > allLogFileData);
+    std::vector<std::vector<std::shared_ptr<LogFileData> > > sortLogFileDataAfterKernels(std::vector<std::shared_ptr<LogFileData> > logFileData);
 
-	bool checkEqualSimulationData(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
-	bool checkEqualViscosity(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
-	bool checkEqualKernel(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
+    bool checkEqualSimulationData(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
+    bool checkEqualViscosity(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
+    bool checkEqualKernel(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2);
 
-	bool checkBasicSimulationIsInLogFiles(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::string simName);
+    bool checkBasicSimulationIsInLogFiles(std::vector<std::shared_ptr<LogFileData> > allLogFileData, std::string simName);
 
-	std::vector<std::shared_ptr<LogFileDataGroup>> castToLogFileDataGroup(std::vector<std::shared_ptr<LogFileDataGroupImp>> data);
+    std::vector<std::shared_ptr<LogFileDataGroup>> castToLogFileDataGroup(std::vector<std::shared_ptr<LogFileDataGroupImp>> data);
 
-	bool equalDouble(double num1, double num2);
+    bool equalDouble(double num1, double num2);
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategy.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategy.h
index e4fb09d7ae3b204743070753dab2d99025fc4d32..25635afe37a185b1928e16a23a4ce9c6919d5bc5 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategy.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategy.h
@@ -9,7 +9,7 @@ class LogFileData;
 class LogFileDataAssistantStrategy
 {
 public:
-	virtual std::string getSimulationName() = 0;
-	virtual bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2) = 0;
+    virtual std::string getSimulationName() = 0;
+    virtual bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2) = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactory.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactory.h
index 51f3f43fb23bcd6af40d548c174fbbc2db6735eb..3757b04efa9f214538b02401779a318635e712b1 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactory.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactory.h
@@ -10,6 +10,6 @@ class LogFileDataAssistantStrategy;
 class LogFileDataAssistantStrategyFactory
 {
 public:
-	virtual std::shared_ptr<LogFileDataAssistantStrategy> makeLogFileDataAssistantStrategy(BasicSimulation sim) = 0;
+    virtual std::shared_ptr<LogFileDataAssistantStrategy> makeLogFileDataAssistantStrategy(BasicSimulation sim) = 0;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactoryImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactoryImp.cpp
index 8e5e5346c856cc79129ed9c5d76d7a1a28b53dba..91ec839933d9dc6e4ed409f6bfb7fa4990922661 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactoryImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactoryImp.cpp
@@ -6,27 +6,27 @@
 
 std::shared_ptr<LogFileDataAssistantStrategyFactory> LogFileDataAssistantStrategyFactoryImp::getNewInstance()
 {
-	return std::shared_ptr<LogFileDataAssistantStrategyFactory>(new LogFileDataAssistantStrategyFactoryImp());
+    return std::shared_ptr<LogFileDataAssistantStrategyFactory>(new LogFileDataAssistantStrategyFactoryImp());
 }
 
 std::shared_ptr<LogFileDataAssistantStrategy> LogFileDataAssistantStrategyFactoryImp::makeLogFileDataAssistantStrategy(BasicSimulation sim)
 {
-	std::shared_ptr<LogFileDataAssistantStrategy> assistentStrategy;
-	switch (sim)
-	{
-	case ShearWave:
-		assistentStrategy = ShearWaveLogFileDataAssistantStrategy::getNewInstance();
-		break;
-	case TaylorGreenVortexUx:
-		assistentStrategy = TaylorGreenVortexUxLogFileDataAssistantStrategy::getNewInstance();
-		break;
-	case TaylorGreenVortexUz:
-		assistentStrategy = TaylorGreenVortexUzLogFileDataAssistantStrategy::getNewInstance();
-		break;
-	default:
-		break;
-	}
-	return assistentStrategy;
+    std::shared_ptr<LogFileDataAssistantStrategy> assistentStrategy;
+    switch (sim)
+    {
+    case ShearWave:
+        assistentStrategy = ShearWaveLogFileDataAssistantStrategy::getNewInstance();
+        break;
+    case TaylorGreenVortexUx:
+        assistentStrategy = TaylorGreenVortexUxLogFileDataAssistantStrategy::getNewInstance();
+        break;
+    case TaylorGreenVortexUz:
+        assistentStrategy = TaylorGreenVortexUzLogFileDataAssistantStrategy::getNewInstance();
+        break;
+    default:
+        break;
+    }
+    return assistentStrategy;
 }
 
 LogFileDataAssistantStrategyFactoryImp::LogFileDataAssistantStrategyFactoryImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactoryImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactoryImp.h
index 90fb1974a31db2eece47270e60d154194a00c985..3527847465390a75ca6526b5cc4b361d7a166b8e 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactoryImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyFactory/LogFileDataAssistantStrategyFactoryImp.h
@@ -6,11 +6,11 @@
 class LogFileDataAssistantStrategyFactoryImp : public LogFileDataAssistantStrategyFactory
 {
 public:
-	static std::shared_ptr<LogFileDataAssistantStrategyFactory> getNewInstance();
+    static std::shared_ptr<LogFileDataAssistantStrategyFactory> getNewInstance();
 
-	std::shared_ptr<LogFileDataAssistantStrategy> makeLogFileDataAssistantStrategy(BasicSimulation sim);
-	
+    std::shared_ptr<LogFileDataAssistantStrategy> makeLogFileDataAssistantStrategy(BasicSimulation sim);
+    
 private:
-	LogFileDataAssistantStrategyFactoryImp();
+    LogFileDataAssistantStrategyFactoryImp();
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyImp.cpp
index 696e1c9ea33c706dfaeed96df2152ad237b4740a..6c8215f4a0a5d58e0079e83561de2b5ca7c90725 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyImp.cpp
@@ -4,9 +4,9 @@
 
 bool LogFileDataAssistantStrategyImp::equalDouble(double num1, double num2)
 {
-	const FloatingPoint<double> lhs(num1), rhs(num2);
+    const FloatingPoint<double> lhs(num1), rhs(num2);
 
-	if (lhs.AlmostEquals(rhs))
-		return true;
-	return false;
+    if (lhs.AlmostEquals(rhs))
+        return true;
+    return false;
 }
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyImp.h
index 3ad94782a047e5cd2c6628bb772467fb8790c80e..cd5860d487ef3d4679e2616b664118b8adbd2957 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileDataAssistant/LogFileDataAssistantStrategy/LogFileDataAssistantStrategyImp.h
@@ -6,10 +6,10 @@
 class LogFileDataAssistantStrategyImp : public LogFileDataAssistantStrategy
 {
 public:
-	virtual std::string getSimulationName() = 0;
-	virtual bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2) = 0;
+    virtual std::string getSimulationName() = 0;
+    virtual bool checkSimulationParameter(std::shared_ptr<LogFileData> logFileData1, std::shared_ptr<LogFileData> logFileData2) = 0;
 
 protected:
-	bool equalDouble(double num1, double num2);
+    bool equalDouble(double num1, double num2);
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileReader/LogFileReader.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileReader/LogFileReader.cpp
index 580aab90988215ef010de23b47946158e69fb88e..80ce0563de59a9312d61b1ce8463ffc4317199c5 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileReader/LogFileReader.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileReader/LogFileReader.cpp
@@ -23,461 +23,461 @@
 
 std::shared_ptr<LogFileReader> LogFileReader::getInstance()
 {
-	static std::shared_ptr<LogFileReader> uniqueInstance;
-	if (!uniqueInstance)
-		uniqueInstance = std::shared_ptr<LogFileReader>(new LogFileReader());
-	return uniqueInstance;
+    static std::shared_ptr<LogFileReader> uniqueInstance;
+    if (!uniqueInstance)
+        uniqueInstance = std::shared_ptr<LogFileReader>(new LogFileReader());
+    return uniqueInstance;
 }
 
 std::shared_ptr<LogFileData> LogFileReader::readLogFileToLogFileData(std::string filePath)
 {
-	std::shared_ptr<LogFileDataImp> logFileData = LogFileDataImp::getNewInstance();
-
-	auto input = std::make_shared<vf::basics::ConfigurationFile>();
-	input->load(filePath);
-
-	logFileData->setFilePath(filePath);
-	logFileData->setDate(input->getValue<std::string>("Date"));
-	logFileData->setTime(input->getValue<std::string>("Time"));
-	logFileData->setGpuDevices(StringUtil::toStringVector(input->getValue<std::string>("GPU_Devices")));
-
-	logFileData->setKernel(input->getValue<std::string>("Kernel"));
-	logFileData->setNumberOfTimeSteps(StringUtil::toInt(input->getValue<std::string>("NumberOfTimeSteps")));
-	logFileData->setViscosity(StringUtil::toDouble(input->getValue<std::string>("Viscosity")));
-	logFileData->setBasisTimeStepLength(StringUtil::toInt(input->getValue<std::string>("BasisTimeStepLength")));
-
-	logFileData->setSimName(input->getValue<std::string>("SimulationName"));
-
-
-
-
-	std::ostringstream simSigniture;
-	if (logFileData->getSimName() == "ShearWave") {
-		std::vector<double> shearWaveLx = StringUtil::toDoubleVector(input->getValue<std::string>("Lx"));
-		logFileData->setBasicGridLengths(shearWaveLx);
-		std::vector<int> shearWaveL0;
-		std::vector<double> shearWaveUx;
-		std::vector<double> shearWaveUz;
-		for (int i = 0; i < shearWaveLx.size(); i++) {
-			std::ostringstream l0, ux, uz;
-			l0 << "l0_" << shearWaveLx.at(i);
-			ux << "ux_" << shearWaveLx.at(i);
-			uz << "uz_" << shearWaveLx.at(i);
-			shearWaveL0.push_back(StringUtil::toInt(input->getValue<std::string>(l0.str())));
-			shearWaveUx.push_back(StringUtil::toDouble(input->getValue<std::string>(ux.str())));
-			shearWaveUz.push_back(StringUtil::toDouble(input->getValue<std::string>(uz.str())));
-		}
-		std::shared_ptr<ShearWaveLogFileDataImp> swLogFileData = ShearWaveLogFileDataImp::getNewInstance();
-		swLogFileData->setL0(shearWaveL0);
-		swLogFileData->setUx(shearWaveUx);
-		swLogFileData->setUz(shearWaveUz);
-		logFileData->setShearWaveLogFileData(swLogFileData);
-		simSigniture << logFileData->getKernel() << "ShearWaveViscosity" << logFileData->getViscosity() << "ux" << shearWaveUx.at(0) << "uz" << shearWaveUz.at(0);
-		logFileData->setBasicSimulation(ShearWave);
-	}
-	if (logFileData->getSimName() == "TaylorGreenVortexUx") {
-		std::vector<double> tgvUxLx = StringUtil::toDoubleVector(input->getValue<std::string>("Lx"));
-		logFileData->setBasicGridLengths(tgvUxLx);
-		std::vector<int> tgvUxL0;
-		std::vector<double> tgvUxUx;
-		std::vector<double> tgvUxAmp;
-		for (int i = 0; i < tgvUxLx.size(); i++) {
-			std::ostringstream l0, ux, amplitude;
-			l0 << "l0_" << tgvUxLx.at(i);
-			ux << "ux_" << tgvUxLx.at(i);
-			amplitude << "Amplitude_" << tgvUxLx.at(i);
-			tgvUxL0.push_back(StringUtil::toInt(input->getValue<std::string>(l0.str())));
-			tgvUxUx.push_back(StringUtil::toDouble(input->getValue<std::string>(ux.str())));
-			tgvUxAmp.push_back(StringUtil::toDouble(input->getValue<std::string>(amplitude.str())));
-		}
-		std::shared_ptr<TaylorGreenVortexUxLogFileDataImp> tgvUxLogFileData = TaylorGreenVortexUxLogFileDataImp::getNewInstance();
-		tgvUxLogFileData->setL0(tgvUxL0);
-		tgvUxLogFileData->setUx(tgvUxUx);
-		tgvUxLogFileData->setAmplitude(tgvUxAmp);
-		logFileData->setTaylorGreenVortexUxLogFileData(tgvUxLogFileData);
-		simSigniture << logFileData->getKernel() << "TaylorGreenVortexUxViscosity" << logFileData->getViscosity() << "Ux" << tgvUxUx.at(0) << "Amp" << tgvUxAmp.at(0);
-		logFileData->setBasicSimulation(TaylorGreenVortexUx);
-	}
-	if (logFileData->getSimName() == "TaylorGreenVortexUz") {
-		std::vector<double> tgvUzLz = StringUtil::toDoubleVector(input->getValue<std::string>("Lx"));
-		logFileData->setBasicGridLengths(tgvUzLz);
-		std::vector<int> tgvUzL0;
-		std::vector<double> tgvUzUz;
-		std::vector<double> tgvUzAmp;
-		for (int i = 0; i < tgvUzLz.size(); i++) {
-			std::ostringstream l0, uz, amplitude;
-			l0 << "l0_" << tgvUzLz.at(i);
-			uz << "uz_" << tgvUzLz.at(i);
-			amplitude << "Amplitude_" << tgvUzLz.at(i);
-			tgvUzL0.push_back(StringUtil::toInt(input->getValue<std::string>(l0.str())));
-			tgvUzUz.push_back(StringUtil::toDouble(input->getValue<std::string>(uz.str())));
-			tgvUzAmp.push_back(StringUtil::toDouble(input->getValue<std::string>(amplitude.str())));
-		}
-		std::shared_ptr<TaylorGreenVortexUzLogFileDataImp> tgvUzLogFileData = TaylorGreenVortexUzLogFileDataImp::getNewInstance();
-		tgvUzLogFileData->setL0(tgvUzL0);
-		tgvUzLogFileData->setUz(tgvUzUz);
-		tgvUzLogFileData->setAmplitude(tgvUzAmp);
-		logFileData->setTaylorGreenVortexUzLogFileData(tgvUzLogFileData);
-		simSigniture << logFileData->getKernel() << "TaylorGreenVortexUzViscosity" << logFileData->getViscosity() << "Uz" << tgvUzUz.at(0) << "Amp" << tgvUzAmp.at(0);
-		logFileData->setBasicSimulation(TaylorGreenVortexUz);
-	}
-	std::string compatibleString = removeCharsFromString(simSigniture.str(), ".-");
-	logFileData->setSimulationSigniture(compatibleString);
-
-	std::vector<int> simTime;
-	std::vector<double> resultsCheckTime;
-	std::vector<double> testTime;
-	std::vector<int> analyticalVTKWritingTime;
-	for (int i = 0; i < logFileData->getBasicGridLengths().size(); i++) {
-		std::ostringstream simTimeOStringStream, resultsCheckTimeOStringStream, testTimeOStringStream, analyticalVTKWritingTimeOStringStream;
-		simTimeOStringStream << "SimulationTime_" << logFileData->getBasicGridLengths().at(i);
-		resultsCheckTimeOStringStream << "ResultsCheckTime_" << logFileData->getBasicGridLengths().at(i);
-		testTimeOStringStream << "TestTime_" << logFileData->getBasicGridLengths().at(i);
-		analyticalVTKWritingTimeOStringStream << "AnalyticalVTKFileWritingTime_" << logFileData->getBasicGridLengths().at(i);
-		std::string simTimeString = input->getValue<std::string>(simTimeOStringStream.str());
-		std::string resultCheckTimeString = input->getValue<std::string>(resultsCheckTimeOStringStream.str());
-		std::string testTimeString = input->getValue<std::string>(testTimeOStringStream.str());
-		std::string analyticalVTKWritingTimeString = input->getValue<std::string>(analyticalVTKWritingTimeOStringStream.str());
-		simTimeString.erase(simTimeString.end() - 3, simTimeString.end());
-		resultCheckTimeString.erase(resultCheckTimeString.end() - 3, resultCheckTimeString.end());
-		testTimeString.erase(testTimeString.end() - 3, testTimeString.end());
-		analyticalVTKWritingTimeString.erase(analyticalVTKWritingTimeString.end() - 3, analyticalVTKWritingTimeString.end());
-		simTime.push_back(StringUtil::toInt(simTimeString));
-		resultsCheckTime.push_back(StringUtil::toDouble(resultCheckTimeString));
-		testTime.push_back(StringUtil::toDouble(testTimeString));
-		analyticalVTKWritingTime.push_back(StringUtil::toInt(analyticalVTKWritingTimeString));
-	}
-
-	logFileData->setVTKFileWriting(StringUtil::toBool(input->getValue<std::string>("VTKFileWriting")));
-	logFileData->setSimTime(simTime);
-	logFileData->setResultCheckTime(resultsCheckTime);
-	logFileData->setTestTime(testTime);
-	logFileData->setAnalyticalVTKWritingTime(analyticalVTKWritingTime);
-	
-	logFileData->setPhiTestRun(StringUtil::toBool(input->getValue<std::string>("PhiTest")));
-	logFileData->setNyTestRun(StringUtil::toBool(input->getValue<std::string>("NyTest")));
-	logFileData->setL2NormTestRun(StringUtil::toBool(input->getValue<std::string>("L2NormTest")));
-	logFileData->setL2NormTestBetweenKernelRun(StringUtil::toBool(input->getValue<std::string>("L2NormTestBetweenKernel")));
-
-	if (logFileData->getPhiTestRun()) {
-		std::vector<std::string> failPhi = StringUtil::toStringVector(input->getValue<std::string>("FailTests_Phi_PhiTest"));
-		std::vector<std::string> failOOA = StringUtil::toStringVector(input->getValue<std::string>("FailTests_OOA_PhiTest"));
-
-		std::vector<std::string> dataToCalc = StringUtil::toStringVector(input->getValue<std::string>("DataToCalc_PhiTest"));
-		std::vector<std::shared_ptr<PhiLogFileData> > aPhiLogGroup;
-		for (int i = 0; i < dataToCalc.size(); i++) {
-			std::shared_ptr<PhiLogFileDataImp> phiLog = PhiLogFileDataImp::getNewInstance();
-			phiLog->setBasicGridLengths(logFileData->getBasicGridLengths());
-			phiLog->setDataToCalc(dataToCalc.at(i));
-			phiLog->setStartTimeStepCalculation(StringUtil::toInt(input->getValue<std::string>("StartTimeStepCalculation_PhiTest")));
-			phiLog->setEndTimeStepCalculation(StringUtil::toInt(input->getValue<std::string>("EndTimeStepCalculation_PhiTest")));
-
-			std::vector<double> phiDiff;
-			std::vector<std::vector<double> > orderOfAccuracy;
-			for (int j = 0; j < logFileData->getBasicGridLengths().size(); j++) {
-				std::ostringstream phiBasicString, phiString, phiDiffString;
-				phiBasicString << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalc.at(i);
-				bool failData = false;
-				for (int k = 0; k < failPhi.size(); k++) {
-					if (phiBasicString.str() == failPhi.at(k))
-						failData = true;
-				}
-				if (!failData) {
-					phiDiffString << "PhiDiff_" << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalc.at(i);
-					phiDiff.push_back(StringUtil::toDouble(input->getValue<std::string>(phiDiffString.str())));
-				}
-
-				for (int k = j + 1; k < logFileData->getBasicGridLengths().size(); k++) {
-					std::vector<double> aOrderOfAccuracyGroup;
-					std::ostringstream phiDiffOOA, phiDiffBasicOOA;
-					phiDiffBasicOOA << logFileData->getBasicGridLengths().at(j) << "_" << logFileData->getBasicGridLengths().at(k) << "_" << dataToCalc.at(i);
-					bool failData = false;
-					for (int k = 0; k < failOOA.size(); k++) {
-						if (phiDiffBasicOOA.str() == failOOA.at(k))
-							failData = true;
-					}
-					if (!failData) {
-						phiDiffOOA << "OrderOfAccuracy_PhiDiff_" << phiDiffBasicOOA.str();
-						aOrderOfAccuracyGroup.push_back(logFileData->getBasicGridLengths().at(j));
-						aOrderOfAccuracyGroup.push_back(logFileData->getBasicGridLengths().at(k));
-						aOrderOfAccuracyGroup.push_back(StringUtil::toDouble(input->getValue<std::string>(phiDiffOOA.str())));
-					}
-					if (aOrderOfAccuracyGroup.size() > 0)
-						orderOfAccuracy.push_back(aOrderOfAccuracyGroup);
-
-				}
-
-
-			}
-			if (phiDiff.size() > 0) {
-				phiLog->setPhiDiff(phiDiff);
-			}
-			if (orderOfAccuracy.size() > 0)
-				phiLog->setOrderOfAccuracy(orderOfAccuracy);
-			if (phiDiff.size() > 0 || orderOfAccuracy.size() > 0)
-				aPhiLogGroup.push_back(phiLog);
-		}
-		if (aPhiLogGroup.size() > 0)
-			logFileData->setPhiLogFileData(aPhiLogGroup);
-		else
-			logFileData->setPhiTestRun(false);
-	}
-
-
-	if (logFileData->getNyTestRun()) {
-		std::vector<std::string> failNy = StringUtil::toStringVector(input->getValue<std::string>("FailTests_Ny_NyTest"));
-		std::vector<std::string> failOOA = StringUtil::toStringVector(input->getValue<std::string>("FailTests_OOA_NyTest"));
-
-		std::vector<std::string> dataToCalc = StringUtil::toStringVector(input->getValue<std::string>("DataToCalc_NyTest"));
-		std::vector<std::shared_ptr<NyLogFileData> > aNyLogGroup;
-		for (int i = 0; i < dataToCalc.size(); i++) {
-			std::shared_ptr<NyLogFileDataImp> nyLog = NyLogFileDataImp::getNewInstance();
-			nyLog->setBasicGridLengths(logFileData->getBasicGridLengths());
-			nyLog->setDataToCalc(dataToCalc.at(i));
-			nyLog->setStartTimeStepCalculation(StringUtil::toInt(input->getValue<std::string>("StartTimeStepCalculation_NyTest")));
-			nyLog->setEndTimeStepCalculation(StringUtil::toInt(input->getValue<std::string>("EndTimeStepCalculation_NyTest")));
-
-			std::vector<double> ny, nyDiff;
-			std::vector<std::vector<double> > orderOfAccuracy;
-			for (int j = 0; j < logFileData->getBasicGridLengths().size(); j++) {
-				std::ostringstream nyBasicString, nyString, nyDiffString;
-				nyBasicString << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalc.at(i);
-				bool failData = false;
-				for (int k = 0; k < failNy.size(); k++) {
-					if (nyBasicString.str() == failNy.at(k))
-						failData = true;
-				}
-				if (!failData) {
-					nyString << "Ny_" << nyBasicString.str();
-					ny.push_back(StringUtil::toDouble(input->getValue<std::string>(nyString.str())));
-					nyDiffString << "NyDiff_" << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalc.at(i);
-					nyDiff.push_back(StringUtil::toDouble(input->getValue<std::string>(nyDiffString.str())));
-				}			
-
-				
-				for (int k = j + 1; k < logFileData->getBasicGridLengths().size(); k++) {
-					std::vector<double> aOrderOfAccuracyGroup;
-					std::ostringstream nyDiffOOA, nyDiffBasicOOA;
-					nyDiffBasicOOA << logFileData->getBasicGridLengths().at(j) << "_" << logFileData->getBasicGridLengths().at(k) << "_" << dataToCalc.at(i);
-					bool failData = false;
-					for (int k = 0; k < failOOA.size(); k++) {
-						if (nyDiffBasicOOA.str() == failOOA.at(k))
-							failData = true;
-					}
-					if (!failData) {
-						nyDiffOOA << "OrderOfAccuracy_NyDiff_" << nyDiffBasicOOA.str();
-						aOrderOfAccuracyGroup.push_back(logFileData->getBasicGridLengths().at(j));
-						aOrderOfAccuracyGroup.push_back(logFileData->getBasicGridLengths().at(k));
-						aOrderOfAccuracyGroup.push_back(StringUtil::toDouble(input->getValue<std::string>(nyDiffOOA.str())));
-					}
-					if (aOrderOfAccuracyGroup.size() > 0)
-						orderOfAccuracy.push_back(aOrderOfAccuracyGroup);
-						
-				}
-				
-
-			}
-			if (ny.size() > 0) {
-				nyLog->setNy(ny);
-				nyLog->setNyDiff(nyDiff);
-			}
-			if (orderOfAccuracy.size() > 0)
-				nyLog->setOrderOfAccuracy(orderOfAccuracy);
-			if (ny.size() > 0 || orderOfAccuracy.size() > 0)
-				aNyLogGroup.push_back(nyLog);
-		}
-		if (aNyLogGroup.size() > 0)
-			logFileData->setNyLogFileData(aNyLogGroup);
-		else
-			logFileData->setNyTestRun(false);
-	}
-
-	if (logFileData->getL2NormTestRun()) {
-		std::vector<std::shared_ptr<L2NormLogFileData> > l2NormGroup;
-		std::vector<std::string> dataToCalcL2Norm = StringUtil::toStringVector(input->getValue<std::string>("DataToCalc_L2Norm"));
-		std::vector<std::string> normData = StringUtil::toStringVector(input->getValue<std::string>("NormalizeData_L2Norm"));
-		std::vector<std::string> failL2Norm = StringUtil::toStringVector(input->getValue<std::string>("FailTests_L2Norm"));
-		for (int i = 0; i < dataToCalcL2Norm.size(); i++) {
-			for (int k = 0; k < normData.size(); k++) {
-				std::shared_ptr<L2NormLogFileDataImp> aL2Norm = L2NormLogFileDataImp::getNewInstance();
-				aL2Norm->setDataToCalc(dataToCalcL2Norm.at(i));
-				aL2Norm->setNormalizeData(normData.at(k));
-				aL2Norm->setBasicGridLengths(logFileData->getBasicGridLengths());
-				aL2Norm->setBasicTimeStep(StringUtil::toInt(input->getValue<std::string>("BasicTimeStep_L2Norm")));
-				aL2Norm->setDivergentTimeStep(StringUtil::toInt(input->getValue<std::string>("DivergentTimeStep_L2Norm")));
-
-				std::vector<double>  l2NormBasicTimeStep;
-				std::vector<double>  l2NormDivergentTimeStep;
-				std::vector<double>  l2NormDiff;
-				for (int j = 0; j < logFileData->getBasicGridLengths().size(); j++) {
-					std::ostringstream basicTimeStep, divergentTimeStep, diff;
-					std::ostringstream basicString;
-					basicString << "L" << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalcL2Norm.at(i) << "_" << normData.at(k);
-					bool fail = false;
-					for (int l = 0; l < failL2Norm.size(); l++)
-						if (basicString.str() == failL2Norm.at(l))
-							fail = true;
-					if (!fail) {
-						basicTimeStep << "L2Norm_BasicTimeStep_" << basicString.str();
-						divergentTimeStep << "L2Norm_DivergentTimeStep_" << basicString.str();
-						diff << "L2Norm_Diff_" << basicString.str();
-						l2NormBasicTimeStep.push_back(StringUtil::toDouble(input->getValue<std::string>(basicTimeStep.str())));
-						l2NormDivergentTimeStep.push_back(StringUtil::toDouble(input->getValue<std::string>(divergentTimeStep.str())));
-						l2NormDiff.push_back(StringUtil::toDouble(input->getValue<std::string>(diff.str())));
-					}
-				}
-				if (l2NormBasicTimeStep.size() > 0) {
-					if (l2NormBasicTimeStep.size() != logFileData->getBasicGridLengths().size() || l2NormDivergentTimeStep.size() != logFileData->getBasicGridLengths().size() || l2NormDiff.size() != logFileData->getBasicGridLengths().size()) {
-						std::vector<double> lengths;
-						std::vector<std::string> basicStrings;
-						for (int j = 0; j < logFileData->getBasicGridLengths().size(); j++) {
-							std::ostringstream basicString;
-							basicString << "L" << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalcL2Norm.at(i) << "_" << normData.at(k);
-							basicStrings.push_back(basicString.str());
-							lengths.push_back(logFileData->getBasicGridLengths().at(j));
-						}
-						std::vector<double> failLengths;
-						for (int j = 0; j < basicStrings.size(); j++) {
-							bool lengthIsInFail = false;
-							for (int l = 0; l < failL2Norm.size(); l++) {
-								if (basicStrings.at(j) == failL2Norm.at(l))
-									lengthIsInFail = true;
-							}
-							if (lengthIsInFail)
-								failLengths.push_back(lengths.at(j));
-						}
-						for (int j = 0; j < failLengths.size(); j++) {
-							for (int l = 0; l < lengths.size(); l++) {
-								if (checkEqualDouble(failLengths.at(j), lengths.at(l))) {
-									std::vector<double>::iterator itBasic = l2NormBasicTimeStep.begin() + l;
-									l2NormBasicTimeStep.insert(itBasic, 0.0);
-									std::vector<double>::iterator itDiv = l2NormDivergentTimeStep.begin() + l;
-									l2NormDivergentTimeStep.insert(itDiv, 0.0);
-									std::vector<double>::iterator itDiff = l2NormDiff.begin() + l;
-									l2NormDiff.insert(itDiff, 0.0);
-								}
-							}
-						}
-					}
-					aL2Norm->setL2NormForBasicTimeStep(l2NormBasicTimeStep);
-					aL2Norm->setL2NormForDivergentTimeStep(l2NormDivergentTimeStep);
-					aL2Norm->setL2NormDiff(l2NormDiff);
-					l2NormGroup.push_back(aL2Norm);
-				}
-			}
-		}
-		if (l2NormGroup.size() > 0)
-			logFileData->setL2NormLogFileData(l2NormGroup);
-		else
-			logFileData->setL2NormTestRun(false);
-	}
-
-	if (logFileData->getL2NormTestBetweenKernelRun()) {
-		std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > l2NormBetweenKernelsData;
-		std::vector<std::string> dataToCalc = StringUtil::toStringVector(input->getValue<std::string>("DataToCalculate_L2Norm_BK"));
-		std::vector<int> timeSteps = StringUtil::toIntVector(input->getValue<std::string>("TimeSteps_L2Norm_BK"));
-		std::vector<std::string> normalizeData = StringUtil::toStringVector(input->getValue<std::string>("NormalizeWith_L2Norm_BK"));
-		std::vector<std::string> failL2Norm = StringUtil::toStringVector(input->getValue<std::string>("FailTests_L2Norm_BK"));
-
-
-		for (int i = 0; i < dataToCalc.size(); i++) {
-			for (int j = 0; j < timeSteps.size(); j++) {
-				for (int k = 0; k < normalizeData.size(); k++) {
-					std::vector<double> l2NormBasicKernel;
-					std::vector<double> l2NormDivergentKernel;
-					std::vector<double> l2NormBetweenKernels;
-					std::shared_ptr<L2NormBetweenKernelsLogFileDataImp> aL2NormLogFileData = L2NormBetweenKernelsLogFileDataImp::getNewInstance();
-					aL2NormLogFileData->setBasicKernel(input->getValue<std::string>("BasicKernel_L2Norm_BK"));
-					aL2NormLogFileData->setDivergentKernel(logFileData->getKernel());
-					aL2NormLogFileData->setDataToCalculate(dataToCalc.at(i));
-					aL2NormLogFileData->setTimeStep(timeSteps.at(j));
-					aL2NormLogFileData->setNormalizeData(normalizeData.at(k));
-					aL2NormLogFileData->setBasicGridLengths(logFileData->getBasicGridLengths());
-
-					for (int l = 0; l < logFileData->getBasicGridLengths().size(); l++) {
-						std::ostringstream basicKernel, divergentKernel, diff;
-						std::ostringstream basicString;
-						basicString << "L" << logFileData->getBasicGridLengths().at(l) << "_" << dataToCalc.at(i) << "_TimeStep_" << timeSteps.at(j) << "_" << normalizeData.at(k);
-
-						std::string myString = basicString.str();
-						bool fail = false;
-						for (int m = 0; m < failL2Norm.size(); m++) {
-							if (basicString.str() == failL2Norm.at(m))
-								fail = true;
-						}
-						if (!fail) {
-							basicKernel << "L2Norm_BasicKernel_" << basicString.str();
-							divergentKernel << "L2Norm_DivergentKernel_" << basicString.str();
-							diff << "L2Norm_Between_Kernels_" << basicString.str();
-							l2NormBasicKernel.push_back(StringUtil::toDouble(input->getValue<std::string>(basicKernel.str())));
-							l2NormDivergentKernel.push_back(StringUtil::toDouble(input->getValue<std::string>(divergentKernel.str())));
-							l2NormBetweenKernels.push_back(StringUtil::toDouble(input->getValue<std::string>(diff.str())));
-						}						
-					}
-					if (l2NormBasicKernel.size() > 0) {
-						if (l2NormBasicKernel.size() != logFileData->getBasicGridLengths().size() || l2NormDivergentKernel.size() != logFileData->getBasicGridLengths().size() || l2NormBetweenKernels.size() != logFileData->getBasicGridLengths().size()) {
-							std::vector<double> lengths;
-							std::vector<std::string> basicStrings;
-							for (int l = 0; l < logFileData->getBasicGridLengths().size(); l++) {
-								std::ostringstream basicString;
-								basicString << "L" << logFileData->getBasicGridLengths().at(l) << "_" << dataToCalc.at(i) << "_TimeStep_" << timeSteps.at(j) << "_" << normalizeData.at(k);
-								basicStrings.push_back(basicString.str());
-								lengths.push_back(logFileData->getBasicGridLengths().at(l));
-							}
-							std::vector<double> failLengths;
-							for (int m = 0; m < basicStrings.size(); m++) {
-								bool lengthIsInFail = false;
-								for (int l = 0; l < failL2Norm.size(); l++) {
-									if (basicStrings.at(m) == failL2Norm.at(l))
-										lengthIsInFail = true;
-								}
-								if (lengthIsInFail)
-									failLengths.push_back(lengths.at(m));
-							}
-							for (int m = 0; m < failLengths.size(); m++) {
-								for (int l = 0; l < lengths.size(); l++) {
-									if (checkEqualDouble(failLengths.at(m), lengths.at(l))) {
-										std::vector<double>::iterator itBasic = l2NormBasicKernel.begin() + l;
-										l2NormBasicKernel.insert(itBasic, 0.0);
-										std::vector<double>::iterator itDiv = l2NormDivergentKernel.begin() + l;
-										l2NormDivergentKernel.insert(itDiv, 0.0);
-										std::vector<double>::iterator itDiff = l2NormBetweenKernels.begin() + l;
-										l2NormBetweenKernels.insert(itDiff, 0.0);
-									}
-
-								}
-							}
-
-						}
-						aL2NormLogFileData->setL2NormForBasicKernel(l2NormBasicKernel);
-						aL2NormLogFileData->setL2NormForDivergentKernel(l2NormDivergentKernel);
-						aL2NormLogFileData->setL2NormBetweenKernels(l2NormBetweenKernels);
-						l2NormBetweenKernelsData.push_back(aL2NormLogFileData);
-					}
-				}
-			}
-		}
-		if (l2NormBetweenKernelsData.size() > 0)
-			logFileData->setL2NormBetweenKernelsLogFileData(l2NormBetweenKernelsData);
-		else
-			logFileData->setL2NormTestBetweenKernelRun(false);
-	}
-
-	return logFileData;
+    std::shared_ptr<LogFileDataImp> logFileData = LogFileDataImp::getNewInstance();
+
+    auto input = std::make_shared<vf::basics::ConfigurationFile>();
+    input->load(filePath);
+
+    logFileData->setFilePath(filePath);
+    logFileData->setDate(input->getValue<std::string>("Date"));
+    logFileData->setTime(input->getValue<std::string>("Time"));
+    logFileData->setGpuDevices(StringUtil::toStringVector(input->getValue<std::string>("GPU_Devices")));
+
+    logFileData->setKernel(input->getValue<std::string>("Kernel"));
+    logFileData->setNumberOfTimeSteps(StringUtil::toInt(input->getValue<std::string>("NumberOfTimeSteps")));
+    logFileData->setViscosity(StringUtil::toDouble(input->getValue<std::string>("Viscosity")));
+    logFileData->setBasisTimeStepLength(StringUtil::toInt(input->getValue<std::string>("BasisTimeStepLength")));
+
+    logFileData->setSimName(input->getValue<std::string>("SimulationName"));
+
+
+
+
+    std::ostringstream simSigniture;
+    if (logFileData->getSimName() == "ShearWave") {
+        std::vector<double> shearWaveLx = StringUtil::toDoubleVector(input->getValue<std::string>("Lx"));
+        logFileData->setBasicGridLengths(shearWaveLx);
+        std::vector<int> shearWaveL0;
+        std::vector<double> shearWaveUx;
+        std::vector<double> shearWaveUz;
+        for (int i = 0; i < shearWaveLx.size(); i++) {
+            std::ostringstream l0, ux, uz;
+            l0 << "l0_" << shearWaveLx.at(i);
+            ux << "ux_" << shearWaveLx.at(i);
+            uz << "uz_" << shearWaveLx.at(i);
+            shearWaveL0.push_back(StringUtil::toInt(input->getValue<std::string>(l0.str())));
+            shearWaveUx.push_back(StringUtil::toDouble(input->getValue<std::string>(ux.str())));
+            shearWaveUz.push_back(StringUtil::toDouble(input->getValue<std::string>(uz.str())));
+        }
+        std::shared_ptr<ShearWaveLogFileDataImp> swLogFileData = ShearWaveLogFileDataImp::getNewInstance();
+        swLogFileData->setL0(shearWaveL0);
+        swLogFileData->setUx(shearWaveUx);
+        swLogFileData->setUz(shearWaveUz);
+        logFileData->setShearWaveLogFileData(swLogFileData);
+        simSigniture << logFileData->getKernel() << "ShearWaveViscosity" << logFileData->getViscosity() << "ux" << shearWaveUx.at(0) << "uz" << shearWaveUz.at(0);
+        logFileData->setBasicSimulation(ShearWave);
+    }
+    if (logFileData->getSimName() == "TaylorGreenVortexUx") {
+        std::vector<double> tgvUxLx = StringUtil::toDoubleVector(input->getValue<std::string>("Lx"));
+        logFileData->setBasicGridLengths(tgvUxLx);
+        std::vector<int> tgvUxL0;
+        std::vector<double> tgvUxUx;
+        std::vector<double> tgvUxAmp;
+        for (int i = 0; i < tgvUxLx.size(); i++) {
+            std::ostringstream l0, ux, amplitude;
+            l0 << "l0_" << tgvUxLx.at(i);
+            ux << "ux_" << tgvUxLx.at(i);
+            amplitude << "Amplitude_" << tgvUxLx.at(i);
+            tgvUxL0.push_back(StringUtil::toInt(input->getValue<std::string>(l0.str())));
+            tgvUxUx.push_back(StringUtil::toDouble(input->getValue<std::string>(ux.str())));
+            tgvUxAmp.push_back(StringUtil::toDouble(input->getValue<std::string>(amplitude.str())));
+        }
+        std::shared_ptr<TaylorGreenVortexUxLogFileDataImp> tgvUxLogFileData = TaylorGreenVortexUxLogFileDataImp::getNewInstance();
+        tgvUxLogFileData->setL0(tgvUxL0);
+        tgvUxLogFileData->setUx(tgvUxUx);
+        tgvUxLogFileData->setAmplitude(tgvUxAmp);
+        logFileData->setTaylorGreenVortexUxLogFileData(tgvUxLogFileData);
+        simSigniture << logFileData->getKernel() << "TaylorGreenVortexUxViscosity" << logFileData->getViscosity() << "Ux" << tgvUxUx.at(0) << "Amp" << tgvUxAmp.at(0);
+        logFileData->setBasicSimulation(TaylorGreenVortexUx);
+    }
+    if (logFileData->getSimName() == "TaylorGreenVortexUz") {
+        std::vector<double> tgvUzLz = StringUtil::toDoubleVector(input->getValue<std::string>("Lx"));
+        logFileData->setBasicGridLengths(tgvUzLz);
+        std::vector<int> tgvUzL0;
+        std::vector<double> tgvUzUz;
+        std::vector<double> tgvUzAmp;
+        for (int i = 0; i < tgvUzLz.size(); i++) {
+            std::ostringstream l0, uz, amplitude;
+            l0 << "l0_" << tgvUzLz.at(i);
+            uz << "uz_" << tgvUzLz.at(i);
+            amplitude << "Amplitude_" << tgvUzLz.at(i);
+            tgvUzL0.push_back(StringUtil::toInt(input->getValue<std::string>(l0.str())));
+            tgvUzUz.push_back(StringUtil::toDouble(input->getValue<std::string>(uz.str())));
+            tgvUzAmp.push_back(StringUtil::toDouble(input->getValue<std::string>(amplitude.str())));
+        }
+        std::shared_ptr<TaylorGreenVortexUzLogFileDataImp> tgvUzLogFileData = TaylorGreenVortexUzLogFileDataImp::getNewInstance();
+        tgvUzLogFileData->setL0(tgvUzL0);
+        tgvUzLogFileData->setUz(tgvUzUz);
+        tgvUzLogFileData->setAmplitude(tgvUzAmp);
+        logFileData->setTaylorGreenVortexUzLogFileData(tgvUzLogFileData);
+        simSigniture << logFileData->getKernel() << "TaylorGreenVortexUzViscosity" << logFileData->getViscosity() << "Uz" << tgvUzUz.at(0) << "Amp" << tgvUzAmp.at(0);
+        logFileData->setBasicSimulation(TaylorGreenVortexUz);
+    }
+    std::string compatibleString = removeCharsFromString(simSigniture.str(), ".-");
+    logFileData->setSimulationSigniture(compatibleString);
+
+    std::vector<int> simTime;
+    std::vector<double> resultsCheckTime;
+    std::vector<double> testTime;
+    std::vector<int> analyticalVTKWritingTime;
+    for (int i = 0; i < logFileData->getBasicGridLengths().size(); i++) {
+        std::ostringstream simTimeOStringStream, resultsCheckTimeOStringStream, testTimeOStringStream, analyticalVTKWritingTimeOStringStream;
+        simTimeOStringStream << "SimulationTime_" << logFileData->getBasicGridLengths().at(i);
+        resultsCheckTimeOStringStream << "ResultsCheckTime_" << logFileData->getBasicGridLengths().at(i);
+        testTimeOStringStream << "TestTime_" << logFileData->getBasicGridLengths().at(i);
+        analyticalVTKWritingTimeOStringStream << "AnalyticalVTKFileWritingTime_" << logFileData->getBasicGridLengths().at(i);
+        std::string simTimeString = input->getValue<std::string>(simTimeOStringStream.str());
+        std::string resultCheckTimeString = input->getValue<std::string>(resultsCheckTimeOStringStream.str());
+        std::string testTimeString = input->getValue<std::string>(testTimeOStringStream.str());
+        std::string analyticalVTKWritingTimeString = input->getValue<std::string>(analyticalVTKWritingTimeOStringStream.str());
+        simTimeString.erase(simTimeString.end() - 3, simTimeString.end());
+        resultCheckTimeString.erase(resultCheckTimeString.end() - 3, resultCheckTimeString.end());
+        testTimeString.erase(testTimeString.end() - 3, testTimeString.end());
+        analyticalVTKWritingTimeString.erase(analyticalVTKWritingTimeString.end() - 3, analyticalVTKWritingTimeString.end());
+        simTime.push_back(StringUtil::toInt(simTimeString));
+        resultsCheckTime.push_back(StringUtil::toDouble(resultCheckTimeString));
+        testTime.push_back(StringUtil::toDouble(testTimeString));
+        analyticalVTKWritingTime.push_back(StringUtil::toInt(analyticalVTKWritingTimeString));
+    }
+
+    logFileData->setVTKFileWriting(StringUtil::toBool(input->getValue<std::string>("VTKFileWriting")));
+    logFileData->setSimTime(simTime);
+    logFileData->setResultCheckTime(resultsCheckTime);
+    logFileData->setTestTime(testTime);
+    logFileData->setAnalyticalVTKWritingTime(analyticalVTKWritingTime);
+    
+    logFileData->setPhiTestRun(StringUtil::toBool(input->getValue<std::string>("PhiTest")));
+    logFileData->setNyTestRun(StringUtil::toBool(input->getValue<std::string>("NyTest")));
+    logFileData->setL2NormTestRun(StringUtil::toBool(input->getValue<std::string>("L2NormTest")));
+    logFileData->setL2NormTestBetweenKernelRun(StringUtil::toBool(input->getValue<std::string>("L2NormTestBetweenKernel")));
+
+    if (logFileData->getPhiTestRun()) {
+        std::vector<std::string> failPhi = StringUtil::toStringVector(input->getValue<std::string>("FailTests_Phi_PhiTest"));
+        std::vector<std::string> failOOA = StringUtil::toStringVector(input->getValue<std::string>("FailTests_OOA_PhiTest"));
+
+        std::vector<std::string> dataToCalc = StringUtil::toStringVector(input->getValue<std::string>("DataToCalc_PhiTest"));
+        std::vector<std::shared_ptr<PhiLogFileData> > aPhiLogGroup;
+        for (int i = 0; i < dataToCalc.size(); i++) {
+            std::shared_ptr<PhiLogFileDataImp> phiLog = PhiLogFileDataImp::getNewInstance();
+            phiLog->setBasicGridLengths(logFileData->getBasicGridLengths());
+            phiLog->setDataToCalc(dataToCalc.at(i));
+            phiLog->setStartTimeStepCalculation(StringUtil::toInt(input->getValue<std::string>("StartTimeStepCalculation_PhiTest")));
+            phiLog->setEndTimeStepCalculation(StringUtil::toInt(input->getValue<std::string>("EndTimeStepCalculation_PhiTest")));
+
+            std::vector<double> phiDiff;
+            std::vector<std::vector<double> > orderOfAccuracy;
+            for (int j = 0; j < logFileData->getBasicGridLengths().size(); j++) {
+                std::ostringstream phiBasicString, phiString, phiDiffString;
+                phiBasicString << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalc.at(i);
+                bool failData = false;
+                for (int k = 0; k < failPhi.size(); k++) {
+                    if (phiBasicString.str() == failPhi.at(k))
+                        failData = true;
+                }
+                if (!failData) {
+                    phiDiffString << "PhiDiff_" << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalc.at(i);
+                    phiDiff.push_back(StringUtil::toDouble(input->getValue<std::string>(phiDiffString.str())));
+                }
+
+                for (int k = j + 1; k < logFileData->getBasicGridLengths().size(); k++) {
+                    std::vector<double> aOrderOfAccuracyGroup;
+                    std::ostringstream phiDiffOOA, phiDiffBasicOOA;
+                    phiDiffBasicOOA << logFileData->getBasicGridLengths().at(j) << "_" << logFileData->getBasicGridLengths().at(k) << "_" << dataToCalc.at(i);
+                    bool failData = false;
+                    for (int k = 0; k < failOOA.size(); k++) {
+                        if (phiDiffBasicOOA.str() == failOOA.at(k))
+                            failData = true;
+                    }
+                    if (!failData) {
+                        phiDiffOOA << "OrderOfAccuracy_PhiDiff_" << phiDiffBasicOOA.str();
+                        aOrderOfAccuracyGroup.push_back(logFileData->getBasicGridLengths().at(j));
+                        aOrderOfAccuracyGroup.push_back(logFileData->getBasicGridLengths().at(k));
+                        aOrderOfAccuracyGroup.push_back(StringUtil::toDouble(input->getValue<std::string>(phiDiffOOA.str())));
+                    }
+                    if (aOrderOfAccuracyGroup.size() > 0)
+                        orderOfAccuracy.push_back(aOrderOfAccuracyGroup);
+
+                }
+
+
+            }
+            if (phiDiff.size() > 0) {
+                phiLog->setPhiDiff(phiDiff);
+            }
+            if (orderOfAccuracy.size() > 0)
+                phiLog->setOrderOfAccuracy(orderOfAccuracy);
+            if (phiDiff.size() > 0 || orderOfAccuracy.size() > 0)
+                aPhiLogGroup.push_back(phiLog);
+        }
+        if (aPhiLogGroup.size() > 0)
+            logFileData->setPhiLogFileData(aPhiLogGroup);
+        else
+            logFileData->setPhiTestRun(false);
+    }
+
+
+    if (logFileData->getNyTestRun()) {
+        std::vector<std::string> failNy = StringUtil::toStringVector(input->getValue<std::string>("FailTests_Ny_NyTest"));
+        std::vector<std::string> failOOA = StringUtil::toStringVector(input->getValue<std::string>("FailTests_OOA_NyTest"));
+
+        std::vector<std::string> dataToCalc = StringUtil::toStringVector(input->getValue<std::string>("DataToCalc_NyTest"));
+        std::vector<std::shared_ptr<NyLogFileData> > aNyLogGroup;
+        for (int i = 0; i < dataToCalc.size(); i++) {
+            std::shared_ptr<NyLogFileDataImp> nyLog = NyLogFileDataImp::getNewInstance();
+            nyLog->setBasicGridLengths(logFileData->getBasicGridLengths());
+            nyLog->setDataToCalc(dataToCalc.at(i));
+            nyLog->setStartTimeStepCalculation(StringUtil::toInt(input->getValue<std::string>("StartTimeStepCalculation_NyTest")));
+            nyLog->setEndTimeStepCalculation(StringUtil::toInt(input->getValue<std::string>("EndTimeStepCalculation_NyTest")));
+
+            std::vector<double> ny, nyDiff;
+            std::vector<std::vector<double> > orderOfAccuracy;
+            for (int j = 0; j < logFileData->getBasicGridLengths().size(); j++) {
+                std::ostringstream nyBasicString, nyString, nyDiffString;
+                nyBasicString << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalc.at(i);
+                bool failData = false;
+                for (int k = 0; k < failNy.size(); k++) {
+                    if (nyBasicString.str() == failNy.at(k))
+                        failData = true;
+                }
+                if (!failData) {
+                    nyString << "Ny_" << nyBasicString.str();
+                    ny.push_back(StringUtil::toDouble(input->getValue<std::string>(nyString.str())));
+                    nyDiffString << "NyDiff_" << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalc.at(i);
+                    nyDiff.push_back(StringUtil::toDouble(input->getValue<std::string>(nyDiffString.str())));
+                }            
+
+                
+                for (int k = j + 1; k < logFileData->getBasicGridLengths().size(); k++) {
+                    std::vector<double> aOrderOfAccuracyGroup;
+                    std::ostringstream nyDiffOOA, nyDiffBasicOOA;
+                    nyDiffBasicOOA << logFileData->getBasicGridLengths().at(j) << "_" << logFileData->getBasicGridLengths().at(k) << "_" << dataToCalc.at(i);
+                    bool failData = false;
+                    for (int k = 0; k < failOOA.size(); k++) {
+                        if (nyDiffBasicOOA.str() == failOOA.at(k))
+                            failData = true;
+                    }
+                    if (!failData) {
+                        nyDiffOOA << "OrderOfAccuracy_NyDiff_" << nyDiffBasicOOA.str();
+                        aOrderOfAccuracyGroup.push_back(logFileData->getBasicGridLengths().at(j));
+                        aOrderOfAccuracyGroup.push_back(logFileData->getBasicGridLengths().at(k));
+                        aOrderOfAccuracyGroup.push_back(StringUtil::toDouble(input->getValue<std::string>(nyDiffOOA.str())));
+                    }
+                    if (aOrderOfAccuracyGroup.size() > 0)
+                        orderOfAccuracy.push_back(aOrderOfAccuracyGroup);
+                        
+                }
+                
+
+            }
+            if (ny.size() > 0) {
+                nyLog->setNy(ny);
+                nyLog->setNyDiff(nyDiff);
+            }
+            if (orderOfAccuracy.size() > 0)
+                nyLog->setOrderOfAccuracy(orderOfAccuracy);
+            if (ny.size() > 0 || orderOfAccuracy.size() > 0)
+                aNyLogGroup.push_back(nyLog);
+        }
+        if (aNyLogGroup.size() > 0)
+            logFileData->setNyLogFileData(aNyLogGroup);
+        else
+            logFileData->setNyTestRun(false);
+    }
+
+    if (logFileData->getL2NormTestRun()) {
+        std::vector<std::shared_ptr<L2NormLogFileData> > l2NormGroup;
+        std::vector<std::string> dataToCalcL2Norm = StringUtil::toStringVector(input->getValue<std::string>("DataToCalc_L2Norm"));
+        std::vector<std::string> normData = StringUtil::toStringVector(input->getValue<std::string>("NormalizeData_L2Norm"));
+        std::vector<std::string> failL2Norm = StringUtil::toStringVector(input->getValue<std::string>("FailTests_L2Norm"));
+        for (int i = 0; i < dataToCalcL2Norm.size(); i++) {
+            for (int k = 0; k < normData.size(); k++) {
+                std::shared_ptr<L2NormLogFileDataImp> aL2Norm = L2NormLogFileDataImp::getNewInstance();
+                aL2Norm->setDataToCalc(dataToCalcL2Norm.at(i));
+                aL2Norm->setNormalizeData(normData.at(k));
+                aL2Norm->setBasicGridLengths(logFileData->getBasicGridLengths());
+                aL2Norm->setBasicTimeStep(StringUtil::toInt(input->getValue<std::string>("BasicTimeStep_L2Norm")));
+                aL2Norm->setDivergentTimeStep(StringUtil::toInt(input->getValue<std::string>("DivergentTimeStep_L2Norm")));
+
+                std::vector<double>  l2NormBasicTimeStep;
+                std::vector<double>  l2NormDivergentTimeStep;
+                std::vector<double>  l2NormDiff;
+                for (int j = 0; j < logFileData->getBasicGridLengths().size(); j++) {
+                    std::ostringstream basicTimeStep, divergentTimeStep, diff;
+                    std::ostringstream basicString;
+                    basicString << "L" << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalcL2Norm.at(i) << "_" << normData.at(k);
+                    bool fail = false;
+                    for (int l = 0; l < failL2Norm.size(); l++)
+                        if (basicString.str() == failL2Norm.at(l))
+                            fail = true;
+                    if (!fail) {
+                        basicTimeStep << "L2Norm_BasicTimeStep_" << basicString.str();
+                        divergentTimeStep << "L2Norm_DivergentTimeStep_" << basicString.str();
+                        diff << "L2Norm_Diff_" << basicString.str();
+                        l2NormBasicTimeStep.push_back(StringUtil::toDouble(input->getValue<std::string>(basicTimeStep.str())));
+                        l2NormDivergentTimeStep.push_back(StringUtil::toDouble(input->getValue<std::string>(divergentTimeStep.str())));
+                        l2NormDiff.push_back(StringUtil::toDouble(input->getValue<std::string>(diff.str())));
+                    }
+                }
+                if (l2NormBasicTimeStep.size() > 0) {
+                    if (l2NormBasicTimeStep.size() != logFileData->getBasicGridLengths().size() || l2NormDivergentTimeStep.size() != logFileData->getBasicGridLengths().size() || l2NormDiff.size() != logFileData->getBasicGridLengths().size()) {
+                        std::vector<double> lengths;
+                        std::vector<std::string> basicStrings;
+                        for (int j = 0; j < logFileData->getBasicGridLengths().size(); j++) {
+                            std::ostringstream basicString;
+                            basicString << "L" << logFileData->getBasicGridLengths().at(j) << "_" << dataToCalcL2Norm.at(i) << "_" << normData.at(k);
+                            basicStrings.push_back(basicString.str());
+                            lengths.push_back(logFileData->getBasicGridLengths().at(j));
+                        }
+                        std::vector<double> failLengths;
+                        for (int j = 0; j < basicStrings.size(); j++) {
+                            bool lengthIsInFail = false;
+                            for (int l = 0; l < failL2Norm.size(); l++) {
+                                if (basicStrings.at(j) == failL2Norm.at(l))
+                                    lengthIsInFail = true;
+                            }
+                            if (lengthIsInFail)
+                                failLengths.push_back(lengths.at(j));
+                        }
+                        for (int j = 0; j < failLengths.size(); j++) {
+                            for (int l = 0; l < lengths.size(); l++) {
+                                if (checkEqualDouble(failLengths.at(j), lengths.at(l))) {
+                                    std::vector<double>::iterator itBasic = l2NormBasicTimeStep.begin() + l;
+                                    l2NormBasicTimeStep.insert(itBasic, 0.0);
+                                    std::vector<double>::iterator itDiv = l2NormDivergentTimeStep.begin() + l;
+                                    l2NormDivergentTimeStep.insert(itDiv, 0.0);
+                                    std::vector<double>::iterator itDiff = l2NormDiff.begin() + l;
+                                    l2NormDiff.insert(itDiff, 0.0);
+                                }
+                            }
+                        }
+                    }
+                    aL2Norm->setL2NormForBasicTimeStep(l2NormBasicTimeStep);
+                    aL2Norm->setL2NormForDivergentTimeStep(l2NormDivergentTimeStep);
+                    aL2Norm->setL2NormDiff(l2NormDiff);
+                    l2NormGroup.push_back(aL2Norm);
+                }
+            }
+        }
+        if (l2NormGroup.size() > 0)
+            logFileData->setL2NormLogFileData(l2NormGroup);
+        else
+            logFileData->setL2NormTestRun(false);
+    }
+
+    if (logFileData->getL2NormTestBetweenKernelRun()) {
+        std::vector<std::shared_ptr<L2NormBetweenKernelsLogFileData> > l2NormBetweenKernelsData;
+        std::vector<std::string> dataToCalc = StringUtil::toStringVector(input->getValue<std::string>("DataToCalculate_L2Norm_BK"));
+        std::vector<int> timeSteps = StringUtil::toIntVector(input->getValue<std::string>("TimeSteps_L2Norm_BK"));
+        std::vector<std::string> normalizeData = StringUtil::toStringVector(input->getValue<std::string>("NormalizeWith_L2Norm_BK"));
+        std::vector<std::string> failL2Norm = StringUtil::toStringVector(input->getValue<std::string>("FailTests_L2Norm_BK"));
+
+
+        for (int i = 0; i < dataToCalc.size(); i++) {
+            for (int j = 0; j < timeSteps.size(); j++) {
+                for (int k = 0; k < normalizeData.size(); k++) {
+                    std::vector<double> l2NormBasicKernel;
+                    std::vector<double> l2NormDivergentKernel;
+                    std::vector<double> l2NormBetweenKernels;
+                    std::shared_ptr<L2NormBetweenKernelsLogFileDataImp> aL2NormLogFileData = L2NormBetweenKernelsLogFileDataImp::getNewInstance();
+                    aL2NormLogFileData->setBasicKernel(input->getValue<std::string>("BasicKernel_L2Norm_BK"));
+                    aL2NormLogFileData->setDivergentKernel(logFileData->getKernel());
+                    aL2NormLogFileData->setDataToCalculate(dataToCalc.at(i));
+                    aL2NormLogFileData->setTimeStep(timeSteps.at(j));
+                    aL2NormLogFileData->setNormalizeData(normalizeData.at(k));
+                    aL2NormLogFileData->setBasicGridLengths(logFileData->getBasicGridLengths());
+
+                    for (int l = 0; l < logFileData->getBasicGridLengths().size(); l++) {
+                        std::ostringstream basicKernel, divergentKernel, diff;
+                        std::ostringstream basicString;
+                        basicString << "L" << logFileData->getBasicGridLengths().at(l) << "_" << dataToCalc.at(i) << "_TimeStep_" << timeSteps.at(j) << "_" << normalizeData.at(k);
+
+                        std::string myString = basicString.str();
+                        bool fail = false;
+                        for (int m = 0; m < failL2Norm.size(); m++) {
+                            if (basicString.str() == failL2Norm.at(m))
+                                fail = true;
+                        }
+                        if (!fail) {
+                            basicKernel << "L2Norm_BasicKernel_" << basicString.str();
+                            divergentKernel << "L2Norm_DivergentKernel_" << basicString.str();
+                            diff << "L2Norm_Between_Kernels_" << basicString.str();
+                            l2NormBasicKernel.push_back(StringUtil::toDouble(input->getValue<std::string>(basicKernel.str())));
+                            l2NormDivergentKernel.push_back(StringUtil::toDouble(input->getValue<std::string>(divergentKernel.str())));
+                            l2NormBetweenKernels.push_back(StringUtil::toDouble(input->getValue<std::string>(diff.str())));
+                        }                        
+                    }
+                    if (l2NormBasicKernel.size() > 0) {
+                        if (l2NormBasicKernel.size() != logFileData->getBasicGridLengths().size() || l2NormDivergentKernel.size() != logFileData->getBasicGridLengths().size() || l2NormBetweenKernels.size() != logFileData->getBasicGridLengths().size()) {
+                            std::vector<double> lengths;
+                            std::vector<std::string> basicStrings;
+                            for (int l = 0; l < logFileData->getBasicGridLengths().size(); l++) {
+                                std::ostringstream basicString;
+                                basicString << "L" << logFileData->getBasicGridLengths().at(l) << "_" << dataToCalc.at(i) << "_TimeStep_" << timeSteps.at(j) << "_" << normalizeData.at(k);
+                                basicStrings.push_back(basicString.str());
+                                lengths.push_back(logFileData->getBasicGridLengths().at(l));
+                            }
+                            std::vector<double> failLengths;
+                            for (int m = 0; m < basicStrings.size(); m++) {
+                                bool lengthIsInFail = false;
+                                for (int l = 0; l < failL2Norm.size(); l++) {
+                                    if (basicStrings.at(m) == failL2Norm.at(l))
+                                        lengthIsInFail = true;
+                                }
+                                if (lengthIsInFail)
+                                    failLengths.push_back(lengths.at(m));
+                            }
+                            for (int m = 0; m < failLengths.size(); m++) {
+                                for (int l = 0; l < lengths.size(); l++) {
+                                    if (checkEqualDouble(failLengths.at(m), lengths.at(l))) {
+                                        std::vector<double>::iterator itBasic = l2NormBasicKernel.begin() + l;
+                                        l2NormBasicKernel.insert(itBasic, 0.0);
+                                        std::vector<double>::iterator itDiv = l2NormDivergentKernel.begin() + l;
+                                        l2NormDivergentKernel.insert(itDiv, 0.0);
+                                        std::vector<double>::iterator itDiff = l2NormBetweenKernels.begin() + l;
+                                        l2NormBetweenKernels.insert(itDiff, 0.0);
+                                    }
+
+                                }
+                            }
+
+                        }
+                        aL2NormLogFileData->setL2NormForBasicKernel(l2NormBasicKernel);
+                        aL2NormLogFileData->setL2NormForDivergentKernel(l2NormDivergentKernel);
+                        aL2NormLogFileData->setL2NormBetweenKernels(l2NormBetweenKernels);
+                        l2NormBetweenKernelsData.push_back(aL2NormLogFileData);
+                    }
+                }
+            }
+        }
+        if (l2NormBetweenKernelsData.size() > 0)
+            logFileData->setL2NormBetweenKernelsLogFileData(l2NormBetweenKernelsData);
+        else
+            logFileData->setL2NormTestBetweenKernelRun(false);
+    }
+
+    return logFileData;
 }
 
 std::vector<std::shared_ptr<LogFileData> > LogFileReader::readLogFilesInDirectoryToLogFileData(std::string directory)
 {
-	std::vector<std::shared_ptr<LogFileData> > logFileData;
-
-	std::cout << "seaching for LogFiles in: " << directory << std::endl;
-	std::vector<std::string> filePaths = getAllFilesInDir(directory, ".txt");
-	std::cout << filePaths.size() << " LogFiles found." << std::endl;
-	std::cout << "reading LogFiles.." << std::endl;
-	for (int i = 0; i < filePaths.size(); i++) {
-		logFileData.push_back(readLogFileToLogFileData(filePaths.at(i)));
-	}
-	return logFileData;
+    std::vector<std::shared_ptr<LogFileData> > logFileData;
+
+    std::cout << "seaching for LogFiles in: " << directory << std::endl;
+    std::vector<std::string> filePaths = getAllFilesInDir(directory, ".txt");
+    std::cout << filePaths.size() << " LogFiles found." << std::endl;
+    std::cout << "reading LogFiles.." << std::endl;
+    for (int i = 0; i < filePaths.size(); i++) {
+        logFileData.push_back(readLogFileToLogFileData(filePaths.at(i)));
+    }
+    return logFileData;
 }
 
 LogFileReader::LogFileReader()
@@ -486,31 +486,31 @@ LogFileReader::LogFileReader()
 
 std::vector<std::string> LogFileReader::getAllFilesInDir(const std::string &dirPath, const std::string &fileExtension)
 {
-	std::vector<std::string> listOfFiles;
-	std::filesystem::path myPath = dirPath;
-	if (std::filesystem::exists(myPath) && std::filesystem::is_directory(myPath))
-	{
-		for (auto& item : std::filesystem::recursive_directory_iterator(myPath))
-		{
-			if (std::filesystem::is_regular_file(item.path()) && item.path().extension() == fileExtension)
-				listOfFiles.push_back(item.path().string());
-		}
-	}
-	return listOfFiles;
+    std::vector<std::string> listOfFiles;
+    std::filesystem::path myPath = dirPath;
+    if (std::filesystem::exists(myPath) && std::filesystem::is_directory(myPath))
+    {
+        for (auto& item : std::filesystem::recursive_directory_iterator(myPath))
+        {
+            if (std::filesystem::is_regular_file(item.path()) && item.path().extension() == fileExtension)
+                listOfFiles.push_back(item.path().string());
+        }
+    }
+    return listOfFiles;
 }
 
 std::string LogFileReader::removeCharsFromString(std::string str, char * charsToRemove)
 {
-	for (unsigned int i = 0; i < std::strlen(charsToRemove); ++i)
-		str.erase(remove(str.begin(), str.end(), charsToRemove[i]), str.end());
-	return str;
+    for (unsigned int i = 0; i < std::strlen(charsToRemove); ++i)
+        str.erase(remove(str.begin(), str.end(), charsToRemove[i]), str.end());
+    return str;
 }
 
 bool LogFileReader::checkEqualDouble(double one, double two)
 {
-	const FloatingPoint<double> lhs(one), rhs(two);
+    const FloatingPoint<double> lhs(one), rhs(two);
 
-	if (lhs.AlmostEquals(rhs))
-		return true;
-	return false;
+    if (lhs.AlmostEquals(rhs))
+        return true;
+    return false;
 }
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileReader/LogFileReader.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileReader/LogFileReader.h
index a48a6a45e3d3319eb7f08e948e4877f9d4b18f74..457d1b8e1de0d1caea18cab018edd24a2904b3b6 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileReader/LogFileReader.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/LogFileReader/LogFileReader.h
@@ -10,18 +10,18 @@ class LogFileData;
 class LogFileReader
 {
 public:
-	static std::shared_ptr<LogFileReader> getInstance();
-	
-	std::shared_ptr<LogFileData> readLogFileToLogFileData(std::string filePath);
-	std::vector<std::shared_ptr<LogFileData> > readLogFilesInDirectoryToLogFileData(std::string directory);
-	
+    static std::shared_ptr<LogFileReader> getInstance();
+    
+    std::shared_ptr<LogFileData> readLogFileToLogFileData(std::string filePath);
+    std::vector<std::shared_ptr<LogFileData> > readLogFilesInDirectoryToLogFileData(std::string directory);
+    
 
 private:
-	LogFileReader();
+    LogFileReader();
 
-	std::vector<std::string> getAllFilesInDir(const std::string &dirPath, const std::string &fileExtension);
-	std::string removeCharsFromString(std::string str, char* charsToRemove);
-	bool checkEqualDouble(double one, double two);
+    std::vector<std::string> getAllFilesInDir(const std::string &dirPath, const std::string &fileExtension);
+    std::string removeCharsFromString(std::string str, char* charsToRemove);
+    bool checkEqualDouble(double one, double two);
 
 };
 
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistant.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistant.h
index cfbcf42eb7a171e6e8840de9f56ce0ec2541611e..16ee6901843b18d3aea767750a67665f6ae7695f 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistant.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistant.h
@@ -13,6 +13,6 @@ class MathematicaFile;
 class MathematicaAssistant
 {
 public:
-	virtual void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile) = 0;
+    virtual void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile) = 0;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactory.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactory.h
index 9afdf455b948fe669d9a95f33e66668db77fae81..0b737cc889fd5619e70860c136ab8b459251be5c 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactory.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactory.h
@@ -11,7 +11,7 @@ class MathematicaFunctionFactory;
 class MathematicaAssistantFactory
 {
 public:
-	virtual std::vector<std::shared_ptr<MathematicaAssistant> > makeMathematicaAssistants(std::vector<Assistant> types, std::shared_ptr<MathematicaFunctionFactory> functionFactory) = 0;
+    virtual std::vector<std::shared_ptr<MathematicaAssistant> > makeMathematicaAssistants(std::vector<Assistant> types, std::shared_ptr<MathematicaFunctionFactory> functionFactory) = 0;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactoryImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactoryImp.cpp
index 86d6262c71d2c35b85649de1fe744e1085ad7c1e..acf0671ec422a35504b6f229e4c1ffba193be67c 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactoryImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactoryImp.cpp
@@ -9,39 +9,39 @@
 
 std::shared_ptr<MathematicaAssistantFactory> MathematicaAssistantFactoryImp::getNewInstance()
 {
-	return std::shared_ptr<MathematicaAssistantFactory>(new MathematicaAssistantFactoryImp());
+    return std::shared_ptr<MathematicaAssistantFactory>(new MathematicaAssistantFactoryImp());
 }
 
 std::vector<std::shared_ptr<MathematicaAssistant>> MathematicaAssistantFactoryImp::makeMathematicaAssistants(std::vector<Assistant> types, std::shared_ptr<MathematicaFunctionFactory> functionFactory)
 {
-	std::vector<std::shared_ptr<MathematicaAssistant>> myAssistants;
-
-	for(int i = 0; i < types.size(); i++){
-		switch (types.at(i))
-		{
-		case Phi:
-			myAssistants.push_back(PhiMathematicaAssistant::getNewInstance(functionFactory));
-			break;
-		case Ny:
-			myAssistants.push_back(NyMathematicaAssistant::getNewInstance(functionFactory));
-			break;
-		case L2Norm:
-			myAssistants.push_back(L2NormMathematicaAssistant::getNewInstance(functionFactory));
-			break;
-		case L2NormBetweenKernels:
-			myAssistants.push_back(L2NormBetweenKernelsMathematicaAssistant::getNewInstance(functionFactory));
-			break;
-		case Time:
-			myAssistants.push_back(TimeMathematicaAssistant::getNewInstance(functionFactory));
-			break;
-		default:
-			break;
-		}
-
-	}
-
-
-	return myAssistants;
+    std::vector<std::shared_ptr<MathematicaAssistant>> myAssistants;
+
+    for(int i = 0; i < types.size(); i++){
+        switch (types.at(i))
+        {
+        case Phi:
+            myAssistants.push_back(PhiMathematicaAssistant::getNewInstance(functionFactory));
+            break;
+        case Ny:
+            myAssistants.push_back(NyMathematicaAssistant::getNewInstance(functionFactory));
+            break;
+        case L2Norm:
+            myAssistants.push_back(L2NormMathematicaAssistant::getNewInstance(functionFactory));
+            break;
+        case L2NormBetweenKernels:
+            myAssistants.push_back(L2NormBetweenKernelsMathematicaAssistant::getNewInstance(functionFactory));
+            break;
+        case Time:
+            myAssistants.push_back(TimeMathematicaAssistant::getNewInstance(functionFactory));
+            break;
+        default:
+            break;
+        }
+
+    }
+
+
+    return myAssistants;
 }
 
 MathematicaAssistantFactoryImp::MathematicaAssistantFactoryImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactoryImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactoryImp.h
index 6acacadc59ce1db5c3b9590b8e1ef663e0084398..45dcdaae37f5f7753fbf5cc26ae11420ed3e361f 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactoryImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantFactory/MathematicaAssistantFactoryImp.h
@@ -6,11 +6,11 @@
 class MathematicaAssistantFactoryImp : public MathematicaAssistantFactory
 {
 public:
-	static std::shared_ptr<MathematicaAssistantFactory> getNewInstance();
+    static std::shared_ptr<MathematicaAssistantFactory> getNewInstance();
 
-	std::vector<std::shared_ptr<MathematicaAssistant> > makeMathematicaAssistants(std::vector<Assistant> types, std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    std::vector<std::shared_ptr<MathematicaAssistant> > makeMathematicaAssistants(std::vector<Assistant> types, std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
 private: 
-	MathematicaAssistantFactoryImp();
+    MathematicaAssistantFactoryImp();
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantImp.cpp
index ef041d1cf5cd86f436a7acb9aed37c7e072a7c57..5177b8c8d274db8746a5f5bdd0a70d73f4ef25e1 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantImp.cpp
@@ -12,138 +12,138 @@ MathematicaAssistantImp::MathematicaAssistantImp()
 
 MathematicaAssistantImp::MathematicaAssistantImp(std::shared_ptr<MathematicaFunctionFactory> functionFactory)
 {
-	this->functionFactory = functionFactory;
+    this->functionFactory = functionFactory;
 }
 
 std::vector<std::string> MathematicaAssistantImp::finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc)
 {
-	std::vector<std::string> finalListNames;
+    std::vector<std::string> finalListNames;
 
-	for (int i = 0; i < basicListNames.size(); i++)
-		finalListNames.push_back(finalizeListName(basicListNames.at(i), testName, dataToCalc));
+    for (int i = 0; i < basicListNames.size(); i++)
+        finalListNames.push_back(finalizeListName(basicListNames.at(i), testName, dataToCalc));
 
-	return finalListNames;
+    return finalListNames;
 }
 
 std::vector<std::string> MathematicaAssistantImp::finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData)
 {
-	std::vector<std::string> finalListNames;
+    std::vector<std::string> finalListNames;
 
-	for (int i = 0; i < basicListNames.size(); i++)
-		finalListNames.push_back(testName + basicListNames.at(i) + dataToCalc + normalizeData);
+    for (int i = 0; i < basicListNames.size(); i++)
+        finalListNames.push_back(testName + basicListNames.at(i) + dataToCalc + normalizeData);
 
-	return finalListNames;
+    return finalListNames;
 }
 
 std::vector<std::string> MathematicaAssistantImp::finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData, std::string timeStep)
 {
-	std::vector<std::string> finalListNames;
+    std::vector<std::string> finalListNames;
 
-	for (int i = 0; i < basicListNames.size(); i++)
-		finalListNames.push_back(testName + basicListNames.at(i) + dataToCalc + normalizeData + timeStep);
+    for (int i = 0; i < basicListNames.size(); i++)
+        finalListNames.push_back(testName + basicListNames.at(i) + dataToCalc + normalizeData + timeStep);
 
-	return finalListNames;
+    return finalListNames;
 }
 
 std::vector<std::string> MathematicaAssistantImp::finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData, std::vector<std::string> timeSteps)
 {
-	std::vector<std::string> finalListNames;
+    std::vector<std::string> finalListNames;
 
-	for (int i = 0; i < basicListNames.size(); i++)
-		finalListNames.push_back(testName + basicListNames.at(i) + dataToCalc + normalizeData + timeSteps.at(i));
+    for (int i = 0; i < basicListNames.size(); i++)
+        finalListNames.push_back(testName + basicListNames.at(i) + dataToCalc + normalizeData + timeSteps.at(i));
 
-	return finalListNames;
+    return finalListNames;
 }
 
 std::vector<std::string> MathematicaAssistantImp::finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData, std::vector<std::string> timeSteps, std::vector<std::string> basicKernels)
 {
-	std::vector<std::string> finalListNames;
+    std::vector<std::string> finalListNames;
 
-	for (int i = 0; i < basicListNames.size(); i++)
-		finalListNames.push_back(testName + basicListNames.at(i) + dataToCalc + normalizeData + timeSteps.at(i) + basicKernels.at(i));
+    for (int i = 0; i < basicListNames.size(); i++)
+        finalListNames.push_back(testName + basicListNames.at(i) + dataToCalc + normalizeData + timeSteps.at(i) + basicKernels.at(i));
 
-	return finalListNames;
+    return finalListNames;
 }
 
 std::string MathematicaAssistantImp::finalizeListName(std::string basicListName, std::string testName, std::string dataToCalc)
 {
-	return testName + basicListName + dataToCalc;
+    return testName + basicListName + dataToCalc;
 }
 
 void MathematicaAssistantImp::addListLogLogPlotToMathematicaFile(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::vector<std::string> listNames, std::vector<std::vector<double>> xAxesData, std::vector<std::vector<double>> yAxesData, std::string labelXAxes, std::string labelYAxes)
 {
-	std::vector<std::vector<std::shared_ptr<DataPoint> > > dataPointGroup;
-
-	for (int i = 0; i < xAxesData.size(); i++) {
-		std::vector<std::shared_ptr<DataPoint> > dataPoints;
-		for (int j = 0; j < xAxesData.at(i).size(); j++)
-			dataPoints.push_back(DataPoint::getNewInstance(xAxesData.at(i).at(j), yAxesData.at(i).at(j)));
-		dataPointGroup.push_back(dataPoints);
-	}
-	std::vector<std::shared_ptr<MathematicaPointList> > pointList;
-	for (int i = 0; i < dataPointGroup.size(); i++) {
-		std::shared_ptr<MathematicaPointList> aPointList = functionFactory->makeMathematicaPointList(aMathmaticaFile, listNames.at(i), dataPointGroup.at(i));
-		pointList.push_back(aPointList);
-	}
-	std::shared_ptr<MathematicaListPlot> listLogLogPlot = functionFactory->makeMathematicaListPlot(aMathmaticaFile, pointList, "ListLogLogPlot", labelXAxes, labelYAxes);
+    std::vector<std::vector<std::shared_ptr<DataPoint> > > dataPointGroup;
+
+    for (int i = 0; i < xAxesData.size(); i++) {
+        std::vector<std::shared_ptr<DataPoint> > dataPoints;
+        for (int j = 0; j < xAxesData.at(i).size(); j++)
+            dataPoints.push_back(DataPoint::getNewInstance(xAxesData.at(i).at(j), yAxesData.at(i).at(j)));
+        dataPointGroup.push_back(dataPoints);
+    }
+    std::vector<std::shared_ptr<MathematicaPointList> > pointList;
+    for (int i = 0; i < dataPointGroup.size(); i++) {
+        std::shared_ptr<MathematicaPointList> aPointList = functionFactory->makeMathematicaPointList(aMathmaticaFile, listNames.at(i), dataPointGroup.at(i));
+        pointList.push_back(aPointList);
+    }
+    std::shared_ptr<MathematicaListPlot> listLogLogPlot = functionFactory->makeMathematicaListPlot(aMathmaticaFile, pointList, "ListLogLogPlot", labelXAxes, labelYAxes);
 }
 
 void MathematicaAssistantImp::addListOfListsToMathematicaFile(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::string listNames, std::vector<std::vector<double>> listOfLists)
 {
-	functionFactory->makeMathematicaListOfLists(aMathmaticaFile, listNames, listOfLists);
+    functionFactory->makeMathematicaListOfLists(aMathmaticaFile, listNames, listOfLists);
 }
 
 void MathematicaAssistantImp::addSecondOrderOfAccuracyRef(std::vector<std::vector<double>>& xAxesData, std::vector<std::vector<double>>& yAxesData, std::vector<std::string>& listNames)
 {
-	int  maxLength = 0;
-	int maxLengthAtNumber = 0;
-	for (int i = 0; i < xAxesData.size(); i++) {
-		if (xAxesData.at(i).size() > maxLength) {
-			maxLength = xAxesData.at(i).size();
-			maxLengthAtNumber = i;
-		}
-	}
-	std::vector<double> x = xAxesData.at(maxLengthAtNumber);
-	
-	double maxData = 0.0;
-	for (int i = 0; i < yAxesData.size(); i++) {
-		for (int j = 0; j < yAxesData.at(i).size(); j++) {
-			if (yAxesData.at(i).at(j) > maxData)
-				maxData = yAxesData.at(i).at(j);
-		}
-	}
-
-	std::vector<double> sec = { maxData * 10.0 };
-	for (int l = 1; l < x.size(); l++) 
-		sec.push_back(sec.at(l - 1) / exp(-2.0 * log(x.at(l - 1) / x.at(l))));
-	xAxesData.push_back(x);
-	yAxesData.push_back(sec);
-	listNames.push_back("SecondOrderOfAccuracy");
+    int  maxLength = 0;
+    int maxLengthAtNumber = 0;
+    for (int i = 0; i < xAxesData.size(); i++) {
+        if (xAxesData.at(i).size() > maxLength) {
+            maxLength = xAxesData.at(i).size();
+            maxLengthAtNumber = i;
+        }
+    }
+    std::vector<double> x = xAxesData.at(maxLengthAtNumber);
+    
+    double maxData = 0.0;
+    for (int i = 0; i < yAxesData.size(); i++) {
+        for (int j = 0; j < yAxesData.at(i).size(); j++) {
+            if (yAxesData.at(i).at(j) > maxData)
+                maxData = yAxesData.at(i).at(j);
+        }
+    }
+
+    std::vector<double> sec = { maxData * 10.0 };
+    for (int l = 1; l < x.size(); l++) 
+        sec.push_back(sec.at(l - 1) / exp(-2.0 * log(x.at(l - 1) / x.at(l))));
+    xAxesData.push_back(x);
+    yAxesData.push_back(sec);
+    listNames.push_back("SecondOrderOfAccuracy");
 }
 
 void MathematicaAssistantImp::addFourthOrderOfAccuracyRef(std::vector<std::vector<double>>& xAxesData, std::vector<std::vector<double>>& yAxesData, std::vector<std::string>& listNames)
 {
-	int  maxLength = 0;
-	int maxLengthAtNumber = 0;
-	for (int i = 0; i < xAxesData.size(); i++) {
-		if (xAxesData.at(i).size() > maxLength) {
-			maxLength = xAxesData.at(i).size();
-			maxLengthAtNumber = i;
-		}
-	}
-	std::vector<double> x = xAxesData.at(maxLengthAtNumber);
-
-	double minData = yAxesData.at(0).at(0);
-	for (int i = 1; i < yAxesData.size(); i++) {
-			if (yAxesData.at(i).at(0) < minData)
-				minData = yAxesData.at(i).at(0);
-	}
-	std::vector<double> fourth = { minData / 10.0 };
-	for (int l = 1; l < x.size(); l++) 
-		fourth.push_back(fourth.at(l - 1) / std::exp(-4.0 * std::log(x.at(l - 1) / x.at(l))));
-
-
-	xAxesData.push_back(x);
-	yAxesData.push_back(fourth);
-	listNames.push_back("FourthOrderOfAccuracy");
+    int  maxLength = 0;
+    int maxLengthAtNumber = 0;
+    for (int i = 0; i < xAxesData.size(); i++) {
+        if (xAxesData.at(i).size() > maxLength) {
+            maxLength = xAxesData.at(i).size();
+            maxLengthAtNumber = i;
+        }
+    }
+    std::vector<double> x = xAxesData.at(maxLengthAtNumber);
+
+    double minData = yAxesData.at(0).at(0);
+    for (int i = 1; i < yAxesData.size(); i++) {
+            if (yAxesData.at(i).at(0) < minData)
+                minData = yAxesData.at(i).at(0);
+    }
+    std::vector<double> fourth = { minData / 10.0 };
+    for (int l = 1; l < x.size(); l++) 
+        fourth.push_back(fourth.at(l - 1) / std::exp(-4.0 * std::log(x.at(l - 1) / x.at(l))));
+
+
+    xAxesData.push_back(x);
+    yAxesData.push_back(fourth);
+    listNames.push_back("FourthOrderOfAccuracy");
 }
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantImp.h
index ab0970dd331cf899cb8fb19e60da87f6415bc767..2d08ad605cfb6b7c8a9a3413e5c8d229f7569e91 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/MathematicaAssistantImp.h
@@ -8,25 +8,25 @@ class MathematicaFunctionFactory;
 class MathematicaAssistantImp : public MathematicaAssistant
 {
 public:
-	virtual void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile) = 0;
+    virtual void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile) = 0;
 
 protected:
-	MathematicaAssistantImp();
-	MathematicaAssistantImp(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    MathematicaAssistantImp();
+    MathematicaAssistantImp(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc);
-	std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData);
-	std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData, std::string timeStep);
-	std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData, std::vector<std::string> timeSteps);
-	std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData, std::vector<std::string> timeSteps, std::vector<std::string> basicKernels);
-	std::string finalizeListName(std::string basicListName, std::string testName, std::string dataToCalc);
+    std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc);
+    std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData);
+    std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData, std::string timeStep);
+    std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData, std::vector<std::string> timeSteps);
+    std::vector<std::string> finalizeListNames(std::vector<std::string> basicListNames, std::string testName, std::string dataToCalc, std::string normalizeData, std::vector<std::string> timeSteps, std::vector<std::string> basicKernels);
+    std::string finalizeListName(std::string basicListName, std::string testName, std::string dataToCalc);
 
-	void addListLogLogPlotToMathematicaFile(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::vector<std::string> listNames, std::vector<std::vector<double> > xAxesData, std::vector<std::vector<double> > yAxesData, std::string labelXAxes, std::string labelYAxes);
-	void addListOfListsToMathematicaFile(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::string listName, std::vector<std::vector<double> > listOfLists);
+    void addListLogLogPlotToMathematicaFile(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::vector<std::string> listNames, std::vector<std::vector<double> > xAxesData, std::vector<std::vector<double> > yAxesData, std::string labelXAxes, std::string labelYAxes);
+    void addListOfListsToMathematicaFile(std::shared_ptr<MathematicaFile> aMathmaticaFile, std::string listName, std::vector<std::vector<double> > listOfLists);
 
-	void addSecondOrderOfAccuracyRef(std::vector<std::vector<double> > &xAxesData, std::vector<std::vector<double> > &yAxesData, std::vector<std::string> &listNames);
-	void addFourthOrderOfAccuracyRef(std::vector<std::vector<double> > &xAxesData, std::vector<std::vector<double> > &yAxesData, std::vector<std::string> &listNames);
+    void addSecondOrderOfAccuracyRef(std::vector<std::vector<double> > &xAxesData, std::vector<std::vector<double> > &yAxesData, std::vector<std::string> &listNames);
+    void addFourthOrderOfAccuracyRef(std::vector<std::vector<double> > &xAxesData, std::vector<std::vector<double> > &yAxesData, std::vector<std::string> &listNames);
 
-	std::shared_ptr<MathematicaFunctionFactory> functionFactory;
+    std::shared_ptr<MathematicaFunctionFactory> functionFactory;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/TimeAssistant/TimeMathematicaAssistant.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/TimeAssistant/TimeMathematicaAssistant.cpp
index 816171a00ed88a596a7b5efe6bc525de6e3eaf77..a9e4e4694295a1d2a579afe7386cb430df7e538e 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/TimeAssistant/TimeMathematicaAssistant.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/TimeAssistant/TimeMathematicaAssistant.cpp
@@ -8,7 +8,7 @@
 
 std::shared_ptr<TimeMathematicaAssistant> TimeMathematicaAssistant::getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory)
 {
-	return std::shared_ptr<TimeMathematicaAssistant>(new TimeMathematicaAssistant(functionFactory));
+    return std::shared_ptr<TimeMathematicaAssistant>(new TimeMathematicaAssistant(functionFactory));
 }
 
 TimeMathematicaAssistant::TimeMathematicaAssistant()
@@ -23,61 +23,61 @@ TimeMathematicaAssistant::TimeMathematicaAssistant(std::shared_ptr<MathematicaFu
 
 void TimeMathematicaAssistant::makeSimulationTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile)
 {
-	std::vector<std::vector<double> > simTimes(logFileData->getGroupSize());
-	for (int i = 0; i < logFileData->getGroupSize(); i++)
-		for(int j = 0; j < logFileData->getLogFileData(i)->getSimTime().size(); j++)
-			simTimes.at(i).push_back((double)logFileData->getLogFileData(i)->getSimTime().at(j));
+    std::vector<std::vector<double> > simTimes(logFileData->getGroupSize());
+    for (int i = 0; i < logFileData->getGroupSize(); i++)
+        for(int j = 0; j < logFileData->getLogFileData(i)->getSimTime().size(); j++)
+            simTimes.at(i).push_back((double)logFileData->getLogFileData(i)->getSimTime().at(j));
 
-	makeTimeMathematicaOutput(logFileData, aMathmaticaFile, simTimes, "SimulationTime");
+    makeTimeMathematicaOutput(logFileData, aMathmaticaFile, simTimes, "SimulationTime");
 }
 
 void TimeMathematicaAssistant::makeTestTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile)
 {
-	std::vector<std::vector<double> > testTimes;
-	for (int i = 0; i < logFileData->getGroupSize(); i++)
-		testTimes.push_back(logFileData->getLogFileData(i)->getTestTime());
+    std::vector<std::vector<double> > testTimes;
+    for (int i = 0; i < logFileData->getGroupSize(); i++)
+        testTimes.push_back(logFileData->getLogFileData(i)->getTestTime());
 
-	makeTimeMathematicaOutput(logFileData, aMathmaticaFile, testTimes, "TestTime");
+    makeTimeMathematicaOutput(logFileData, aMathmaticaFile, testTimes, "TestTime");
 }
 
 void TimeMathematicaAssistant::makeAnalyticalWriteTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile)
 {
-	std::vector<std::vector<double> > analyticalWriteTime(logFileData->getGroupSize());
-	for (int i = 0; i < logFileData->getGroupSize(); i++)
-		for (int j = 0; j < logFileData->getLogFileData(i)->getAnalyticalVTKWritingTime().size(); j++)
-			analyticalWriteTime.at(i).push_back((double)logFileData->getLogFileData(i)->getAnalyticalVTKWritingTime().at(j));
+    std::vector<std::vector<double> > analyticalWriteTime(logFileData->getGroupSize());
+    for (int i = 0; i < logFileData->getGroupSize(); i++)
+        for (int j = 0; j < logFileData->getLogFileData(i)->getAnalyticalVTKWritingTime().size(); j++)
+            analyticalWriteTime.at(i).push_back((double)logFileData->getLogFileData(i)->getAnalyticalVTKWritingTime().at(j));
 
-	makeTimeMathematicaOutput(logFileData, aMathmaticaFile, analyticalWriteTime, "AnalyticalVTKWritingTime");
+    makeTimeMathematicaOutput(logFileData, aMathmaticaFile, analyticalWriteTime, "AnalyticalVTKWritingTime");
 }
 
 void TimeMathematicaAssistant::makeTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile, std::vector<std::vector<double>> times, std::string timeName)
 {
-	std::vector<std::vector<double> > grids;
-	std::vector<std::string> listNames;
-	for (int i = 0; i < logFileData->getGroupSize(); i++) {
-		grids.push_back(logFileData->getLogFileData(i)->getBasicGridLengths());
-		listNames.push_back(logFileData->getLogFileData(i)->getSimulationSigniture() + timeName);
-	}
-
-	std::vector<std::vector<std::shared_ptr<DataPoint> > > dataPointGroup;
-
-	for (int j = 0; j < grids.size(); j++) {
-		std::vector<std::shared_ptr<DataPoint> > dataPoints;
-		for (int k = 0; k < times.at(j).size(); k++)
-			dataPoints.push_back(DataPoint::getNewInstance(grids.at(j).at(k), times.at(j).at(k)));
-		dataPointGroup.push_back(dataPoints);
-	}
-	std::vector<std::shared_ptr<MathematicaPointList> > pointList;
-	for (int j = 0; j < dataPointGroup.size(); j++) {
-		std::shared_ptr<MathematicaPointList> aPointList = functionFactory->makeMathematicaPointList(aMathmaticaFile, listNames.at(j), dataPointGroup.at(j));
-		pointList.push_back(aPointList);
-	}
-	std::shared_ptr<MathematicaListPlot> listLogLogPlot = functionFactory->makeMathematicaListPlot(aMathmaticaFile, pointList, "ListLogLogPlot", "L[dx]", "Time [sec]");
+    std::vector<std::vector<double> > grids;
+    std::vector<std::string> listNames;
+    for (int i = 0; i < logFileData->getGroupSize(); i++) {
+        grids.push_back(logFileData->getLogFileData(i)->getBasicGridLengths());
+        listNames.push_back(logFileData->getLogFileData(i)->getSimulationSigniture() + timeName);
+    }
+
+    std::vector<std::vector<std::shared_ptr<DataPoint> > > dataPointGroup;
+
+    for (int j = 0; j < grids.size(); j++) {
+        std::vector<std::shared_ptr<DataPoint> > dataPoints;
+        for (int k = 0; k < times.at(j).size(); k++)
+            dataPoints.push_back(DataPoint::getNewInstance(grids.at(j).at(k), times.at(j).at(k)));
+        dataPointGroup.push_back(dataPoints);
+    }
+    std::vector<std::shared_ptr<MathematicaPointList> > pointList;
+    for (int j = 0; j < dataPointGroup.size(); j++) {
+        std::shared_ptr<MathematicaPointList> aPointList = functionFactory->makeMathematicaPointList(aMathmaticaFile, listNames.at(j), dataPointGroup.at(j));
+        pointList.push_back(aPointList);
+    }
+    std::shared_ptr<MathematicaListPlot> listLogLogPlot = functionFactory->makeMathematicaListPlot(aMathmaticaFile, pointList, "ListLogLogPlot", "L[dx]", "Time [sec]");
 }
 
 void TimeMathematicaAssistant::makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile)
 {
-	makeSimulationTimeMathematicaOutput(logFileData, aMathmaticaFile);
-	makeTestTimeMathematicaOutput(logFileData, aMathmaticaFile);
-	makeAnalyticalWriteTimeMathematicaOutput(logFileData, aMathmaticaFile);
+    makeSimulationTimeMathematicaOutput(logFileData, aMathmaticaFile);
+    makeTestTimeMathematicaOutput(logFileData, aMathmaticaFile);
+    makeAnalyticalWriteTimeMathematicaOutput(logFileData, aMathmaticaFile);
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/TimeAssistant/TimeMathematicaAssistant.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/TimeAssistant/TimeMathematicaAssistant.h
index 46daab517d6e614531a2c4ffab2345a486c75a3c..1acb7901ef6e0fee7ddb725f8b7e2fc5e81b8496 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/TimeAssistant/TimeMathematicaAssistant.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaAssistant/TimeAssistant/TimeMathematicaAssistant.h
@@ -9,19 +9,19 @@ class MathematicaFile;
 class TimeMathematicaAssistant : public MathematicaAssistantImp
 {
 public:
-	static std::shared_ptr<TimeMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    static std::shared_ptr<TimeMathematicaAssistant> getNewInstance(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
+    void makeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
 
 private:
-	TimeMathematicaAssistant();
-	TimeMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
+    TimeMathematicaAssistant();
+    TimeMathematicaAssistant(std::shared_ptr<MathematicaFunctionFactory> functionFactory);
 
-	void makeSimulationTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
-	void makeTestTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
-	void makeAnalyticalWriteTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
+    void makeSimulationTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
+    void makeTestTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
+    void makeAnalyticalWriteTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile);
 
-	void makeTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile, std::vector<std::vector<double> > times, std::string timeName);
+    void makeTimeMathematicaOutput(std::shared_ptr<LogFileDataGroup> logFileData, std::shared_ptr<MathematicaFile> aMathmaticaFile, std::vector<std::vector<double> > times, std::string timeName);
 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFile/MathematicaFile.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFile/MathematicaFile.cpp
index 84e7ee049ff8a1c1ec3def666f7a49bfc561312b..e0015638f5043e4632f4de4f819dae33d380aadf 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFile/MathematicaFile.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFile/MathematicaFile.cpp
@@ -9,47 +9,47 @@
 
 std::shared_ptr<MathematicaFile> MathematicaFile::getNewInstance(std::string filePath)
 {
-	return std::shared_ptr<MathematicaFile>(new MathematicaFile(filePath));
+    return std::shared_ptr<MathematicaFile>(new MathematicaFile(filePath));
 }
 
 void MathematicaFile::addMathematicaFunction(std::shared_ptr<MathematicaFunction> aMathFunc)
 {
-	if (!fileFinished)
-		myFile << aMathFunc->getFunction() << std::endl;
+    if (!fileFinished)
+        myFile << aMathFunc->getFunction() << std::endl;
 }
 
 void MathematicaFile::finishFile()
 {
-	if (!fileFinished) {
-		fileFinished = true;
-		myFile.close();
+    if (!fileFinished) {
+        fileFinished = true;
+        myFile.close();
 
-		std::filesystem::rename(filePathTxtFile, filePathMathematicaFile);
-		std::system(filePathMathematicaFile.c_str());
-	}
+        std::filesystem::rename(filePathTxtFile, filePathMathematicaFile);
+        std::system(filePathMathematicaFile.c_str());
+    }
 }
 
 MathematicaFile::MathematicaFile(std::string filePath)
 {
-	fileFinished = false;
+    fileFinished = false;
 
-	std::ostringstream basicFilePath, textFile, mathematicaFile;
-	basicFilePath << filePath << "/NumericalTestPostProcessing_" << calcDateAndTime();
-	textFile << basicFilePath.str() << ".txt";
-	mathematicaFile << basicFilePath.str() << ".nb";
-	filePathTxtFile = textFile.str();
-	filePathMathematicaFile = mathematicaFile.str();
+    std::ostringstream basicFilePath, textFile, mathematicaFile;
+    basicFilePath << filePath << "/NumericalTestPostProcessing_" << calcDateAndTime();
+    textFile << basicFilePath.str() << ".txt";
+    mathematicaFile << basicFilePath.str() << ".nb";
+    filePathTxtFile = textFile.str();
+    filePathMathematicaFile = mathematicaFile.str();
 
-	myFile.open(filePathTxtFile);
+    myFile.open(filePathTxtFile);
 }
 
 std::string MathematicaFile::calcDateAndTime()
 {
-	std::ostringstream oss;
-	time_t now = time(NULL);
-	struct tm nowLocal = *localtime(&now);
-	oss << std::setfill('0') << nowLocal.tm_year + 1900 << std::setw(2) << nowLocal.tm_mon + 1 << std::setw(2) << nowLocal.tm_mday << "_" << std::setw(2) << nowLocal.tm_hour << std::setw(2) << nowLocal.tm_min << std::setw(2) << nowLocal.tm_sec;
-	return oss.str();
+    std::ostringstream oss;
+    time_t now = time(NULL);
+    struct tm nowLocal = *localtime(&now);
+    oss << std::setfill('0') << nowLocal.tm_year + 1900 << std::setw(2) << nowLocal.tm_mon + 1 << std::setw(2) << nowLocal.tm_mday << "_" << std::setw(2) << nowLocal.tm_hour << std::setw(2) << nowLocal.tm_min << std::setw(2) << nowLocal.tm_sec;
+    return oss.str();
 }
 
 MathematicaFile::MathematicaFile()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFile/MathematicaFile.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFile/MathematicaFile.h
index 9b3c59a5b608862a3496abefcce8f2dbc4930ae2..e1beff9c4e59043061f8e5a193feb58dce2e1633 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFile/MathematicaFile.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFile/MathematicaFile.h
@@ -10,20 +10,20 @@ class MathematicaFunction;
 class MathematicaFile
 {
 public:
-	static std::shared_ptr<MathematicaFile> getNewInstance(std::string filePath);
+    static std::shared_ptr<MathematicaFile> getNewInstance(std::string filePath);
 
-	void addMathematicaFunction(std::shared_ptr<MathematicaFunction> aMathFunc);
-	void finishFile();
-	
+    void addMathematicaFunction(std::shared_ptr<MathematicaFunction> aMathFunc);
+    void finishFile();
+    
 
 private:
-	MathematicaFile();
-	MathematicaFile(std::string filePath);
+    MathematicaFile();
+    MathematicaFile(std::string filePath);
 
-	std::string calcDateAndTime();
+    std::string calcDateAndTime();
 
-	std::string filePathTxtFile, filePathMathematicaFile;
-	bool fileFinished;
-	std::ofstream myFile;
+    std::string filePathTxtFile, filePathMathematicaFile;
+    bool fileFinished;
+    std::ofstream myFile;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlot.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlot.h
index 0e4077c12605da124d3666a273a792f7d1977469..0d64cd8627766795306227cf942aab110a9fd051 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlot.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlot.h
@@ -7,6 +7,6 @@
 class MathematicaListPlot : public MathematicaFunctionImp
 {
 public:
-	
+    
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlotImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlotImp.cpp
index 15cf9bdb90a9ddbf723c89e7a8965e0d5e4dbdac..1c0c7a143ac93468d5816013d543f65b70cd00ba 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlotImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlotImp.cpp
@@ -4,26 +4,26 @@
 
 std::shared_ptr<MathematicaListPlot> MathematicaListPlotImp::getNewInstance(std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes)
 {
-	return std::shared_ptr<MathematicaListPlotImp>(new MathematicaListPlotImp(pointList, plotType, xAxes, yAxes));
+    return std::shared_ptr<MathematicaListPlotImp>(new MathematicaListPlotImp(pointList, plotType, xAxes, yAxes));
 }
 
 MathematicaListPlotImp::MathematicaListPlotImp(std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes)
 {
-	mathematicaFunction << plotType << "[{";
-	for (int i = 0; i < pointList.size(); i++) {
-		if(i < pointList.size() - 1)
-			mathematicaFunction << pointList.at(i)->getListName() << ", ";
-		else
-			mathematicaFunction << pointList.at(i)->getListName() << "}";
-	}
-	mathematicaFunction << ", PlotLegends -> {\"";
-	for (int i = 0; i < pointList.size(); i++) {
-		if (i < pointList.size() - 1)
-			mathematicaFunction << pointList.at(i)->getListName() << "\", \"";
-		else
-			mathematicaFunction << pointList.at(i)->getListName() << "\"}";
-	}
-	mathematicaFunction << ", AxesLabel -> {\"" << xAxes << "\", \"" << yAxes << "\"}, Joined -> True, PlotMarkers->Automatic, PlotStyle -> Dashed]";
+    mathematicaFunction << plotType << "[{";
+    for (int i = 0; i < pointList.size(); i++) {
+        if(i < pointList.size() - 1)
+            mathematicaFunction << pointList.at(i)->getListName() << ", ";
+        else
+            mathematicaFunction << pointList.at(i)->getListName() << "}";
+    }
+    mathematicaFunction << ", PlotLegends -> {\"";
+    for (int i = 0; i < pointList.size(); i++) {
+        if (i < pointList.size() - 1)
+            mathematicaFunction << pointList.at(i)->getListName() << "\", \"";
+        else
+            mathematicaFunction << pointList.at(i)->getListName() << "\"}";
+    }
+    mathematicaFunction << ", AxesLabel -> {\"" << xAxes << "\", \"" << yAxes << "\"}, Joined -> True, PlotMarkers->Automatic, PlotStyle -> Dashed]";
 }
 
 MathematicaListPlotImp::MathematicaListPlotImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlotImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlotImp.h
index 816af8c2d1bed1cf8ad7bb67cf5e6edf79d19e73..e74944ccd396dde95d49e863e84d3e8b3f7aa923 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlotImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/LinePlot/MathematicaListPlotImp.h
@@ -11,10 +11,10 @@ class MathematicaPointList;
 class MathematicaListPlotImp : public MathematicaListPlot
 {
 public:
-	static std::shared_ptr<MathematicaListPlot> getNewInstance(std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes);
+    static std::shared_ptr<MathematicaListPlot> getNewInstance(std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes);
 
 private:
-	MathematicaListPlotImp();
-	MathematicaListPlotImp(std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes);
+    MathematicaListPlotImp();
+    MathematicaListPlotImp(std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes);
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfLists.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfLists.h
index b3201a013aa43f4b5ce50bc2f54738ad70c4fe69..9064fe9d46b675798d70c472cc74d60f2d63d634 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfLists.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfLists.h
@@ -6,6 +6,6 @@
 class MathematicaListOfLists : public MathematicaFunctionImp
 {
 public:
-	virtual std::string getListName() = 0;
+    virtual std::string getListName() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.cpp
index 6821f270428a32c2b579174a6c3e1662d0ccc55b..3f67e0bb8009792287732da6b92c947feaf0c596 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.cpp
@@ -5,31 +5,31 @@
 
 std::shared_ptr<MathematicaListOfLists> MathematicaListOfListsImp::getNewInstance(std::string listName, std::vector<std::vector<double>> listOfLists)
 {
-	return std::shared_ptr<MathematicaListOfLists>(new MathematicaListOfListsImp(listName, listOfLists));
+    return std::shared_ptr<MathematicaListOfLists>(new MathematicaListOfListsImp(listName, listOfLists));
 }
 
 std::string MathematicaListOfListsImp::getListName()
 {
-	return listName;
+    return listName;
 }
 
 MathematicaListOfListsImp::MathematicaListOfListsImp(std::string listName, std::vector<std::vector<double>> listOfLists) : listName(listName), listOfLists(listOfLists)
 {
-	mathematicaFunction << std::fixed << std::setprecision(std::numeric_limits<double>::digits10 + 1);
-	mathematicaFunction << listName << "= {";
+    mathematicaFunction << std::fixed << std::setprecision(std::numeric_limits<double>::digits10 + 1);
+    mathematicaFunction << listName << "= {";
 
-	for (int i = 0; i < listOfLists.size(); i++) {
-		mathematicaFunction << "{";
-		for (int j = 0; j < listOfLists.at(i).size(); j++){
-			if (j > 0)
-				mathematicaFunction << ", ";
-			mathematicaFunction << listOfLists.at(i).at(j);
-		}
-		mathematicaFunction << "}";
-		if(i < listOfLists.size() - 1)
-			mathematicaFunction << ", ";
-	}
-	mathematicaFunction << "};";
+    for (int i = 0; i < listOfLists.size(); i++) {
+        mathematicaFunction << "{";
+        for (int j = 0; j < listOfLists.at(i).size(); j++){
+            if (j > 0)
+                mathematicaFunction << ", ";
+            mathematicaFunction << listOfLists.at(i).at(j);
+        }
+        mathematicaFunction << "}";
+        if(i < listOfLists.size() - 1)
+            mathematicaFunction << ", ";
+    }
+    mathematicaFunction << "};";
 }
 
 MathematicaListOfListsImp::MathematicaListOfListsImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.h
index a1e82892ca92fc8b3b484440edb30bfbf957d965..6e8dbe678bca692b4467825fcb4c51b321f99cd0 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.h
@@ -10,16 +10,16 @@ class MathematicaListOfListsImp : public MathematicaListOfLists
 {
 public:
 
-	static std::shared_ptr<MathematicaListOfLists> getNewInstance(std::string listName, std::vector<std::vector<double> > listOfLists);
+    static std::shared_ptr<MathematicaListOfLists> getNewInstance(std::string listName, std::vector<std::vector<double> > listOfLists);
 
-	std::string getListName();
+    std::string getListName();
 
-	
+    
 private:
-	MathematicaListOfListsImp();
-	MathematicaListOfListsImp(std::string listName, std::vector<std::vector<double> > listOfLists);
+    MathematicaListOfListsImp();
+    MathematicaListOfListsImp(std::string listName, std::vector<std::vector<double> > listOfLists);
 
-	std::string listName;
-	std::vector<std::vector<double> > listOfLists;
+    std::string listName;
+    std::vector<std::vector<double> > listOfLists;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktion.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktion.h
index 00018862733115b6e5ee445ce6967261c09520c0..bda8855d2b99dee5d46aafb2537feba065a8f1c5 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktion.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktion.h
@@ -6,7 +6,7 @@
 class MathematicaFunction
 {
 public:
-	virtual std::string getFunction() = 0;
+    virtual std::string getFunction() = 0;
 
 private:
 
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktionImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktionImp.cpp
index c64d4467ae5f6369a3b363890494839402a2a92a..03c1768c0c0ec9b944a83d4c9915adc2515cbce1 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktionImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktionImp.cpp
@@ -2,7 +2,7 @@
 
 std::string MathematicaFunctionImp::getFunction()
 {
-	return mathematicaFunction.str();
+    return mathematicaFunction.str();
 }
 
 MathematicaFunctionImp::MathematicaFunctionImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktionImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktionImp.h
index 4e78f8023fafc3674b1d72355df13806a38aadd0..4a7134595fba70c8a9fa24c797925ee364708f5e 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktionImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/MathematicaFunktionImp.h
@@ -7,11 +7,11 @@
 class MathematicaFunctionImp : public MathematicaFunction
 {
 public:
-	std::string getFunction();
+    std::string getFunction();
 
 protected:
-	MathematicaFunctionImp();
-	std::ostringstream mathematicaFunction;
+    MathematicaFunctionImp();
+    std::ostringstream mathematicaFunction;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointList.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointList.h
index d084d19e782dfa61c0ae2fc94dcebffa7d32a3de..c9be53774e8211073bb6206bde10d51827dd7ba0 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointList.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointList.h
@@ -6,6 +6,6 @@
 class MathematicaPointList : public MathematicaFunctionImp
 {
 public:
-	virtual std::string getListName() = 0;
+    virtual std::string getListName() = 0;
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.cpp
index cd00dddf194903666dc36abba86985c0a643d310..6835046196b42fae292079f3674c884d34901467 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.cpp
@@ -8,25 +8,25 @@
 
 std::shared_ptr<MathematicaPointList> MathematicaPointListImp::getNewInstance(std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData)
 {
-	return std::shared_ptr<MathematicaPointList>(new MathematicaPointListImp(listName, plotData));
+    return std::shared_ptr<MathematicaPointList>(new MathematicaPointListImp(listName, plotData));
 }
 
 std::string MathematicaPointListImp::getListName()
 {
-	return listName;
+    return listName;
 }
 
 MathematicaPointListImp::MathematicaPointListImp(std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData) : listName(listName)
 {
-	mathematicaFunction << std::fixed << std::setprecision(std::numeric_limits<double>::digits10 + 1);
-	mathematicaFunction <<listName <<"= {";
-	for (int i = 0; i < plotData.size(); i++) {
-		if (i > 0)
-			mathematicaFunction <<", ";
-		mathematicaFunction <<"{" << plotData.at(i)->getX() <<", " << plotData.at(i)->getY() <<"}";
-	}
+    mathematicaFunction << std::fixed << std::setprecision(std::numeric_limits<double>::digits10 + 1);
+    mathematicaFunction <<listName <<"= {";
+    for (int i = 0; i < plotData.size(); i++) {
+        if (i > 0)
+            mathematicaFunction <<", ";
+        mathematicaFunction <<"{" << plotData.at(i)->getX() <<", " << plotData.at(i)->getY() <<"}";
+    }
 
-	mathematicaFunction << "};";
+    mathematicaFunction << "};";
 }
 
 MathematicaPointListImp::MathematicaPointListImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.h
index ef1459c3691ece9f461e7a7c3ee215bcdb5e7770..942e40965a00964df4bff9473debebf20a7bd6d8 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.h
@@ -11,14 +11,14 @@ class DataPoint;
 class MathematicaPointListImp : public MathematicaPointList
 {
 public:
-	static std::shared_ptr<MathematicaPointList> getNewInstance(std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData);
+    static std::shared_ptr<MathematicaPointList> getNewInstance(std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData);
 
-	std::string getListName();
+    std::string getListName();
 
 private:
-	MathematicaPointListImp();
-	MathematicaPointListImp(std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData);
+    MathematicaPointListImp();
+    MathematicaPointListImp(std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData);
 
-	std::string listName;
+    std::string listName;
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactory.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactory.h
index 15d4469482ba233acd766a05b4b9e2de60ba179e..f1423310916d02f45bca96010e2b7e9ddb1aed85 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactory.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactory.h
@@ -14,8 +14,8 @@ class MathematicaPointList;
 class MathematicaFunctionFactory
 {
 public:
-	virtual std::shared_ptr<MathematicaPointList> makeMathematicaPointList(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData) = 0;
-	virtual std::shared_ptr<MathematicaListPlot> makeMathematicaListPlot(std::shared_ptr<MathematicaFile> file, std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes) = 0;
-	virtual std::shared_ptr<MathematicaListOfLists> makeMathematicaListOfLists(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::vector<double>> listOfLists) = 0;
+    virtual std::shared_ptr<MathematicaPointList> makeMathematicaPointList(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData) = 0;
+    virtual std::shared_ptr<MathematicaListPlot> makeMathematicaListPlot(std::shared_ptr<MathematicaFile> file, std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes) = 0;
+    virtual std::shared_ptr<MathematicaListOfLists> makeMathematicaListOfLists(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::vector<double>> listOfLists) = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactoryImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactoryImp.cpp
index 9ba51c2d47766853718e76aacc0156ee5414ffc2..3675629671f0c51c20ad206f3a6234fe245a0da4 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactoryImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactoryImp.cpp
@@ -8,28 +8,28 @@
 
 std::shared_ptr<MathematicaFunctionFactory> MathematicaFunctionFactoryImp::getNewInstance()
 {
-	return std::shared_ptr<MathematicaFunctionFactory>(new MathematicaFunctionFactoryImp());
+    return std::shared_ptr<MathematicaFunctionFactory>(new MathematicaFunctionFactoryImp());
 }
 
 std::shared_ptr<MathematicaPointList> MathematicaFunctionFactoryImp::makeMathematicaPointList(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::shared_ptr<DataPoint>> plotData)
 {
-	std::shared_ptr<MathematicaPointList> mathPointList = MathematicaPointListImp::getNewInstance(listName, plotData);
-	file->addMathematicaFunction(mathPointList);
-	return mathPointList;
+    std::shared_ptr<MathematicaPointList> mathPointList = MathematicaPointListImp::getNewInstance(listName, plotData);
+    file->addMathematicaFunction(mathPointList);
+    return mathPointList;
 }
 
 std::shared_ptr<MathematicaListPlot> MathematicaFunctionFactoryImp::makeMathematicaListPlot(std::shared_ptr<MathematicaFile> file, std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes)
 {
-	std::shared_ptr<MathematicaListPlot> listLinePlot = MathematicaListPlotImp::getNewInstance(pointList, plotType, xAxes, yAxes);
-	file->addMathematicaFunction(listLinePlot);
-	return listLinePlot;
+    std::shared_ptr<MathematicaListPlot> listLinePlot = MathematicaListPlotImp::getNewInstance(pointList, plotType, xAxes, yAxes);
+    file->addMathematicaFunction(listLinePlot);
+    return listLinePlot;
 }
 
 std::shared_ptr<MathematicaListOfLists> MathematicaFunctionFactoryImp::makeMathematicaListOfLists(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::vector<double>> listOfLists)
 {
-	std::shared_ptr<MathematicaListOfLists> listOfList = MathematicaListOfListsImp::getNewInstance(listName, listOfLists);
-	file->addMathematicaFunction(listOfList);
-	return listOfList;
+    std::shared_ptr<MathematicaListOfLists> listOfList = MathematicaListOfListsImp::getNewInstance(listName, listOfLists);
+    file->addMathematicaFunction(listOfList);
+    return listOfList;
 }
 
 MathematicaFunctionFactoryImp::MathematicaFunctionFactoryImp()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactoryImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactoryImp.h
index 741d302d08333765ec57ab52a5cae86eb912851c..781513c23c81cacaba24fd5b940ab8e3285abba9 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactoryImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunctionFactory/MathematicaFunctionFactoryImp.h
@@ -6,14 +6,14 @@
 class MathematicaFunctionFactoryImp : public MathematicaFunctionFactory
 {
 public:
-	static std::shared_ptr<MathematicaFunctionFactory> getNewInstance();
+    static std::shared_ptr<MathematicaFunctionFactory> getNewInstance();
 
-	std::shared_ptr<MathematicaPointList> makeMathematicaPointList(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData);
-	std::shared_ptr<MathematicaListPlot> makeMathematicaListPlot(std::shared_ptr<MathematicaFile> file, std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes);
-	std::shared_ptr<MathematicaListOfLists> makeMathematicaListOfLists(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::vector<double>> listOfLists);
+    std::shared_ptr<MathematicaPointList> makeMathematicaPointList(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData);
+    std::shared_ptr<MathematicaListPlot> makeMathematicaListPlot(std::shared_ptr<MathematicaFile> file, std::vector<std::shared_ptr<MathematicaPointList>> pointList, std::string plotType, std::string xAxes, std::string yAxes);
+    std::shared_ptr<MathematicaListOfLists> makeMathematicaListOfLists(std::shared_ptr<MathematicaFile> file, std::string listName, std::vector<std::vector<double>> listOfLists);
 
 private:
-	MathematicaFunctionFactoryImp();
+    MathematicaFunctionFactoryImp();
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/ListLinePlot/MathematicaListLinePlot.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/ListLinePlot/MathematicaListLinePlot.cpp
index 06b8ffa0d0ec1e6a325c9701458f5d4bbfe1d387..93344c4f23a779e668125e863488835c8631bc32 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/ListLinePlot/MathematicaListLinePlot.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/ListLinePlot/MathematicaListLinePlot.cpp
@@ -2,15 +2,15 @@
 
 std::shared_ptr<MathematicaListLinePlot> MathematicaListLinePlot::getNewInstance(std::vector< std::shared_ptr< DataPoint>> plotData)
 {
-	return std::shared_ptr<MathematicaListLinePlot>(new MathematicaListLinePlot(plotData));
+    return std::shared_ptr<MathematicaListLinePlot>(new MathematicaListLinePlot(plotData));
 }
 
 MathematicaListLinePlot::MathematicaListLinePlot(std::vector< std::shared_ptr< DataPoint>> plotData)
 {
-	mathematicaFunction << "ListLinePlot[";
+    mathematicaFunction << "ListLinePlot[";
 
 
-	mathematicaFunction << "]";
+    mathematicaFunction << "]";
 }
 
 MathematicaListLinePlot::MathematicaListLinePlot()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/ListLinePlot/MathematicaListLinePlot.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/ListLinePlot/MathematicaListLinePlot.h
index 665f596bbef4e55de3084ecf8f2f8b53c13201e8..5d0e8a85b5eccfef8d3964f78aed6537e0d44ede 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/ListLinePlot/MathematicaListLinePlot.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/ListLinePlot/MathematicaListLinePlot.h
@@ -11,11 +11,11 @@ class DataPoint;
 class MathematicaListLinePlot : public MathematicaFunctionImp
 {
 public:
-	static std::shared_ptr< MathematicaListLinePlot> getNewInstance(std::vector< std::shared_ptr< DataPoint>> plotData);
-	
+    static std::shared_ptr< MathematicaListLinePlot> getNewInstance(std::vector< std::shared_ptr< DataPoint>> plotData);
+    
 private:
-	MathematicaListLinePlot();
-	MathematicaListLinePlot(std::vector< std::shared_ptr< DataPoint>> plotData);
+    MathematicaListLinePlot();
+    MathematicaListLinePlot(std::vector< std::shared_ptr< DataPoint>> plotData);
 
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/PointList/MathematicaPointList.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/PointList/MathematicaPointList.cpp
index 7bacbc329e2daa359e6e0f8bcb3b4f14bd04d3b6..e97831cda12445f3d3a0a4aa1b738bd6954dbc20 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/PointList/MathematicaPointList.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/PointList/MathematicaPointList.cpp
@@ -4,24 +4,24 @@
 
 std::shared_ptr<MathematicaPointList> MathematicaPointList::getNewInstance(std::string listName, std::vector< std::shared_ptr< DataPoint>> plotData)
 {
-	return std::shared_ptr<MathematicaPointList>(new MathematicaPointList(listName, plotData));
+    return std::shared_ptr<MathematicaPointList>(new MathematicaPointList(listName, plotData));
 }
 
 std::string MathematicaPointList::getListName()
 {
-	return listName;
+    return listName;
 }
 
 MathematicaPointList::MathematicaPointList(std::string listName, std::vector< std::shared_ptr< DataPoint>> plotData) : listName(listName)
 {
-	mathematicaFunction << listName << "= {";
-	for (int i = 0; i < plotData.size(); i++) {
-		if (i > 0)
-			mathematicaFunction << ", ";
-		mathematicaFunction << "{" << plotData.at(i)->getX() << ", " << plotData.at(i)->getY() << "}";
-	}
-
-	mathematicaFunction << "}";
+    mathematicaFunction << listName << "= {";
+    for (int i = 0; i < plotData.size(); i++) {
+        if (i > 0)
+            mathematicaFunction << ", ";
+        mathematicaFunction << "{" << plotData.at(i)->getX() << ", " << plotData.at(i)->getY() << "}";
+    }
+
+    mathematicaFunction << "}";
 }
 
 MathematicaPointList::MathematicaPointList()
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/PointList/MathematicaPointList.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/PointList/MathematicaPointList.h
index 99869b1bc8d004834803efb51610597c655bd28e..5e14b2feeca94487418df4f85613d904dc4f2746 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/PointList/MathematicaPointList.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunktion/PointList/MathematicaPointList.h
@@ -11,15 +11,15 @@ class DataPoint;
 class MathematicaPointList : public MathematicaFunctionImp
 {
 public:
-	static std::shared_ptr< MathematicaPointList> getNewInstance(std::string listName, std::vector< std::shared_ptr< DataPoint>> plotData);
+    static std::shared_ptr< MathematicaPointList> getNewInstance(std::string listName, std::vector< std::shared_ptr< DataPoint>> plotData);
 
-	std::string getListName();
+    std::string getListName();
 
 private:
-	MathematicaPointList();
-	MathematicaPointList(std::string listName, std::vector< std::shared_ptr< DataPoint>> plotData);
+    MathematicaPointList();
+    MathematicaPointList(std::string listName, std::vector< std::shared_ptr< DataPoint>> plotData);
 
 
-	std::string listName;
+    std::string listName;
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigData.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigData.h
index 22ddd7491b54aea67bf9d815181533cd1cd41d77..410ba65bb590e003f6925ecede82c2570ac95ddf 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigData.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigData.h
@@ -11,11 +11,11 @@
 class PostProcessingConfigData
 {
 public:
-	virtual std::vector<BasicSimulation> getSimulations() = 0;
-	virtual std::vector<Assistant> getAssistants() = 0;
-	virtual std::vector<DataCombination> getDataCombinations() = 0;
+    virtual std::vector<BasicSimulation> getSimulations() = 0;
+    virtual std::vector<Assistant> getAssistants() = 0;
+    virtual std::vector<DataCombination> getDataCombinations() = 0;
 
-	virtual std::string getMathematicaFilePath() = 0;
-	virtual std::string getLogFilesPath() = 0;
+    virtual std::string getMathematicaFilePath() = 0;
+    virtual std::string getLogFilesPath() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigDataImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigDataImp.cpp
index e7c753d9eae1c0df5c6ff08aa7414fab3cd14134..49d2f94a316928079699676e3be2800c8e0f2f94 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigDataImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigDataImp.cpp
@@ -6,55 +6,55 @@ PostProcessingConfigDataImp::PostProcessingConfigDataImp()
 
 std::shared_ptr<PostProcessingConfigDataImp> PostProcessingConfigDataImp::getNewInstance()
 {
-	return std::shared_ptr<PostProcessingConfigDataImp>(new PostProcessingConfigDataImp());
+    return std::shared_ptr<PostProcessingConfigDataImp>(new PostProcessingConfigDataImp());
 }
 
 std::vector<BasicSimulation> PostProcessingConfigDataImp::getSimulations()
 {
-	return simulations;
+    return simulations;
 }
 
 std::vector<Assistant> PostProcessingConfigDataImp::getAssistants()
 {
-	return assistants;
+    return assistants;
 }
 
 std::vector<DataCombination> PostProcessingConfigDataImp::getDataCombinations()
 {
-	return dataCombinations;
+    return dataCombinations;
 }
 
 std::string PostProcessingConfigDataImp::getMathematicaFilePath()
 {
-	return mathematicaFilePath;
+    return mathematicaFilePath;
 }
 
 std::string PostProcessingConfigDataImp::getLogFilesPath()
 {
-	return logFilesPath;
+    return logFilesPath;
 }
 
 void PostProcessingConfigDataImp::setSimulations(std::vector<BasicSimulation> simulations)
 {
-	this->simulations = simulations;
+    this->simulations = simulations;
 }
 
 void PostProcessingConfigDataImp::setAssistants(std::vector<Assistant> assis)
 {
-	this->assistants = assis;
+    this->assistants = assis;
 }
 
 void PostProcessingConfigDataImp::setDataCombinations(std::vector<DataCombination> dataComb)
 {
-	this->dataCombinations = dataComb;
+    this->dataCombinations = dataComb;
 }
 
 void PostProcessingConfigDataImp::setMathematicaFilePath(std::string mathematicaFilePath)
 {
-	this->mathematicaFilePath = mathematicaFilePath;
+    this->mathematicaFilePath = mathematicaFilePath;
 }
 
 void PostProcessingConfigDataImp::setLogFilesPath(std::string logFilesPath)
 {
-	this->logFilesPath = logFilesPath;
+    this->logFilesPath = logFilesPath;
 }
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigDataImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigDataImp.h
index a952c9317a3637ec155018be9f10e3705d0d660b..31a3619770d1942d96232fb20541908491e1c740 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigDataImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigData/PostProcessingConfigDataImp.h
@@ -6,27 +6,27 @@
 class PostProcessingConfigDataImp : public PostProcessingConfigData
 {
 public:
-	static std::shared_ptr<PostProcessingConfigDataImp> getNewInstance();
+    static std::shared_ptr<PostProcessingConfigDataImp> getNewInstance();
 
-	std::vector<BasicSimulation> getSimulations();
-	std::vector<Assistant> getAssistants();
-	std::vector<DataCombination> getDataCombinations();
-	std::string getMathematicaFilePath();
-	std::string getLogFilesPath();
+    std::vector<BasicSimulation> getSimulations();
+    std::vector<Assistant> getAssistants();
+    std::vector<DataCombination> getDataCombinations();
+    std::string getMathematicaFilePath();
+    std::string getLogFilesPath();
 
-	void setSimulations(std::vector<BasicSimulation> simulations);
-	void setAssistants(std::vector<Assistant> assis);
-	void setDataCombinations(std::vector<DataCombination> dataComb);
-	void setMathematicaFilePath(std::string mathematicaFilePath);
-	void setLogFilesPath(std::string logFilesPath);
+    void setSimulations(std::vector<BasicSimulation> simulations);
+    void setAssistants(std::vector<Assistant> assis);
+    void setDataCombinations(std::vector<DataCombination> dataComb);
+    void setMathematicaFilePath(std::string mathematicaFilePath);
+    void setLogFilesPath(std::string logFilesPath);
 
 private:
-	PostProcessingConfigDataImp();
+    PostProcessingConfigDataImp();
 
-	std::vector<BasicSimulation> simulations;
-	std::vector<Assistant> assistants;
-	std::vector<DataCombination> dataCombinations;
-	std::string mathematicaFilePath;
-	std::string logFilesPath;
+    std::vector<BasicSimulation> simulations;
+    std::vector<Assistant> assistants;
+    std::vector<DataCombination> dataCombinations;
+    std::string mathematicaFilePath;
+    std::string logFilesPath;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReader.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReader.h
index 21ee18ef262a24ed5ba978c9f1623ebc0ce5a286..6525d9011add8a2825a0e205b6f28291a2245dd2 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReader.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReader.h
@@ -9,7 +9,7 @@ class PostProcessingConfigData;
 class PostProcessingConfigFileReader
 {
 public:
-	virtual ~PostProcessingConfigFileReader() = default;
-	virtual std::shared_ptr<PostProcessingConfigData> readConfigFile(std::string filePath) = 0;
+    virtual ~PostProcessingConfigFileReader() = default;
+    virtual std::shared_ptr<PostProcessingConfigData> readConfigFile(std::string filePath) = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.cpp
index 968af578a868b9e2655f4062d89fda8fed37941b..3781cfcd27efdc166488eb667fa988c4427f5135 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.cpp
@@ -10,57 +10,57 @@
 
 std::shared_ptr<PostProcessingConfigFileReader> PostProcessingConfigFileReaderImp::getNewInstance()
 {
-	return std::shared_ptr<PostProcessingConfigFileReader>(new PostProcessingConfigFileReaderImp());
+    return std::shared_ptr<PostProcessingConfigFileReader>(new PostProcessingConfigFileReaderImp());
 }
 
 std::shared_ptr<PostProcessingConfigData> PostProcessingConfigFileReaderImp::readConfigFile(std::string filePath)
 {
-	auto input = std::make_shared<vf::basics::ConfigurationFile>();
-	input->load(filePath);
+    auto input = std::make_shared<vf::basics::ConfigurationFile>();
+    input->load(filePath);
 
-	std::vector<BasicSimulation> simulation;
-	std::vector<Assistant> assistants;
-	std::vector<DataCombination> combination;
+    std::vector<BasicSimulation> simulation;
+    std::vector<Assistant> assistants;
+    std::vector<DataCombination> combination;
 
-	if(StringUtil::toBool(input->getValue<std::string>("ShearWave")))
-		simulation.push_back(ShearWave);
+    if(StringUtil::toBool(input->getValue<std::string>("ShearWave")))
+        simulation.push_back(ShearWave);
 
-	if (StringUtil::toBool(input->getValue<std::string>("TaylorGreenVortexUx")))
-		simulation.push_back(TaylorGreenVortexUx);
+    if (StringUtil::toBool(input->getValue<std::string>("TaylorGreenVortexUx")))
+        simulation.push_back(TaylorGreenVortexUx);
 
-	if (StringUtil::toBool(input->getValue<std::string>("TaylorGreenVortexUz")))
-		simulation.push_back(TaylorGreenVortexUz);
+    if (StringUtil::toBool(input->getValue<std::string>("TaylorGreenVortexUz")))
+        simulation.push_back(TaylorGreenVortexUz);
 
-	if (StringUtil::toBool(input->getValue<std::string>("Phi")))
-		assistants.push_back(Phi);
+    if (StringUtil::toBool(input->getValue<std::string>("Phi")))
+        assistants.push_back(Phi);
 
-	if (StringUtil::toBool(input->getValue<std::string>("Ny")))
-		assistants.push_back(Ny);
+    if (StringUtil::toBool(input->getValue<std::string>("Ny")))
+        assistants.push_back(Ny);
 
-	if (StringUtil::toBool(input->getValue<std::string>("L2Norm")))
-		assistants.push_back(L2Norm);
+    if (StringUtil::toBool(input->getValue<std::string>("L2Norm")))
+        assistants.push_back(L2Norm);
 
-	if (StringUtil::toBool(input->getValue<std::string>("L2Norm_BetweenKernels")))
-		assistants.push_back(L2NormBetweenKernels);
+    if (StringUtil::toBool(input->getValue<std::string>("L2Norm_BetweenKernels")))
+        assistants.push_back(L2NormBetweenKernels);
 
-	if (StringUtil::toBool(input->getValue<std::string>("TimeOutput")))
-		assistants.push_back(Time);
+    if (StringUtil::toBool(input->getValue<std::string>("TimeOutput")))
+        assistants.push_back(Time);
 
 
-	if (StringUtil::toBool(input->getValue<std::string>("EqualSimulationsForDifferentKernels")))
-		combination.push_back(EqualSimulationsForDifferentKernels);
+    if (StringUtil::toBool(input->getValue<std::string>("EqualSimulationsForDifferentKernels")))
+        combination.push_back(EqualSimulationsForDifferentKernels);
 
-	if (StringUtil::toBool(input->getValue<std::string>("EqualKernelSimulationsForDifferentViscosities")))
-		combination.push_back(EqualKernelSimulationsForDifferentViscosities);
+    if (StringUtil::toBool(input->getValue<std::string>("EqualKernelSimulationsForDifferentViscosities")))
+        combination.push_back(EqualKernelSimulationsForDifferentViscosities);
 
-	std::shared_ptr<PostProcessingConfigDataImp> data = PostProcessingConfigDataImp::getNewInstance();
+    std::shared_ptr<PostProcessingConfigDataImp> data = PostProcessingConfigDataImp::getNewInstance();
 
-	data->setAssistants(assistants);
-	data->setSimulations(simulation);
-	data->setDataCombinations(combination);
+    data->setAssistants(assistants);
+    data->setSimulations(simulation);
+    data->setDataCombinations(combination);
 
-	data->setLogFilesPath(input->getValue<std::string>("LogFilesPath"));
-	data->setMathematicaFilePath(input->getValue<std::string>("MathematicaFilePath"));
-	
-	return data;
+    data->setLogFilesPath(input->getValue<std::string>("LogFilesPath"));
+    data->setMathematicaFilePath(input->getValue<std::string>("MathematicaFilePath"));
+    
+    return data;
 }
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.h
index e5355a708adb753e78089a68dc9f889df9a83fc5..1c3fe52b07bead191d17e8457270457f4fd2575d 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.h
@@ -6,12 +6,12 @@
 class PostProcessingConfigFileReaderImp : public PostProcessingConfigFileReader
 {
 public:
-	static std::shared_ptr<PostProcessingConfigFileReader> getNewInstance();
+    static std::shared_ptr<PostProcessingConfigFileReader> getNewInstance();
 
-	std::shared_ptr<PostProcessingConfigData> readConfigFile(std::string filePath) override;
+    std::shared_ptr<PostProcessingConfigData> readConfigFile(std::string filePath) override;
 
 private:
-	PostProcessingConfigFileReaderImp() = default;
+    PostProcessingConfigFileReaderImp() = default;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/main.cpp b/apps/gpu/tests/NumericalTestPostProcessing/main.cpp
index e5dbeef9c7d3928c039049627129689ab92c653b..0187e2f60409bc03ed965a5eb14d8392d2f692da 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/main.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/main.cpp
@@ -22,35 +22,35 @@
 
 int main(int argc, char **argv)
 {
-	std::shared_ptr<PostProcessingConfigFileReader> reader = PostProcessingConfigFileReaderImp::getNewInstance();
-	std::shared_ptr<PostProcessingConfigData> configData =  reader->readConfigFile(argv[1]);
-
-	std::shared_ptr<LogFileReader> logFileReader = LogFileReader::getInstance();
-	std::vector<std::shared_ptr<LogFileData> > logFileDataVector = logFileReader->readLogFilesInDirectoryToLogFileData(configData->getLogFilesPath());
-
-	std::shared_ptr<MathematicaFile> aMathmaticaFile = MathematicaFile::getNewInstance(configData->getMathematicaFilePath());
-
-	std::shared_ptr<LogFileDataAssistant> assistentLogFile = LogFileDataAssistantImp::getNewInstance();
-
-	std::shared_ptr<LogFileDataAssistantStrategyFactory> assistentStrategyFactory = LogFileDataAssistantStrategyFactoryImp::getNewInstance();
-	
-
-	std::shared_ptr<MathematicaFunctionFactory> functionFactory = MathematicaFunctionFactoryImp::getNewInstance();
-	std::shared_ptr<MathematicaAssistantFactory> assistantFactory = MathematicaAssistantFactoryImp::getNewInstance();
-	std::vector<std::shared_ptr<MathematicaAssistant> > mathematicaAssistants = assistantFactory->makeMathematicaAssistants(configData->getAssistants(), functionFactory);
-
-	for (uint sim = 0; sim < configData->getSimulations().size(); sim++) {
-		for (uint comb = 0; comb < configData->getDataCombinations().size(); comb++) {
-			std::shared_ptr<LogFileDataAssistantStrategy> strategy = assistentStrategyFactory->makeLogFileDataAssistantStrategy(configData->getSimulations().at(sim));
-			std::vector<std::shared_ptr<LogFileDataGroup> > logFileDataSorted = assistentLogFile->findDataCombination(logFileDataVector, strategy, configData->getDataCombinations().at(comb));
-			for (uint i = 0; i < logFileDataSorted.size(); i++) {
-				for (uint j = 0; j < mathematicaAssistants.size(); j++)
-					mathematicaAssistants.at(j)->makeMathematicaOutput(logFileDataSorted.at(i), aMathmaticaFile);
-			}
-		}
-	}
-	
-		
-	aMathmaticaFile->finishFile();
-	return 0;
+    std::shared_ptr<PostProcessingConfigFileReader> reader = PostProcessingConfigFileReaderImp::getNewInstance();
+    std::shared_ptr<PostProcessingConfigData> configData =  reader->readConfigFile(argv[1]);
+
+    std::shared_ptr<LogFileReader> logFileReader = LogFileReader::getInstance();
+    std::vector<std::shared_ptr<LogFileData> > logFileDataVector = logFileReader->readLogFilesInDirectoryToLogFileData(configData->getLogFilesPath());
+
+    std::shared_ptr<MathematicaFile> aMathmaticaFile = MathematicaFile::getNewInstance(configData->getMathematicaFilePath());
+
+    std::shared_ptr<LogFileDataAssistant> assistentLogFile = LogFileDataAssistantImp::getNewInstance();
+
+    std::shared_ptr<LogFileDataAssistantStrategyFactory> assistentStrategyFactory = LogFileDataAssistantStrategyFactoryImp::getNewInstance();
+    
+
+    std::shared_ptr<MathematicaFunctionFactory> functionFactory = MathematicaFunctionFactoryImp::getNewInstance();
+    std::shared_ptr<MathematicaAssistantFactory> assistantFactory = MathematicaAssistantFactoryImp::getNewInstance();
+    std::vector<std::shared_ptr<MathematicaAssistant> > mathematicaAssistants = assistantFactory->makeMathematicaAssistants(configData->getAssistants(), functionFactory);
+
+    for (uint sim = 0; sim < configData->getSimulations().size(); sim++) {
+        for (uint comb = 0; comb < configData->getDataCombinations().size(); comb++) {
+            std::shared_ptr<LogFileDataAssistantStrategy> strategy = assistentStrategyFactory->makeLogFileDataAssistantStrategy(configData->getSimulations().at(sim));
+            std::vector<std::shared_ptr<LogFileDataGroup> > logFileDataSorted = assistentLogFile->findDataCombination(logFileDataVector, strategy, configData->getDataCombinations().at(comb));
+            for (uint i = 0; i < logFileDataSorted.size(); i++) {
+                for (uint j = 0; j < mathematicaAssistants.size(); j++)
+                    mathematicaAssistants.at(j)->makeMathematicaOutput(logFileDataSorted.at(i), aMathmaticaFile);
+            }
+        }
+    }
+    
+        
+    aMathmaticaFile->finishFile();
+    return 0;
 }
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.cpp b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.cpp
index 08b2d0e77fe292f3cfd98a6342b3d81348724faf..871c272032310a2b461f96b18bf1d087139f842c 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.cpp
@@ -7,31 +7,31 @@
 
 std::shared_ptr<AnalyticalResults> ShearWaveAnalyticalResults::getNewInstance(double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct)
 {
-	return std::shared_ptr<AnalyticalResults>(new ShearWaveAnalyticalResults(viscosity, simParaStruct));
+    return std::shared_ptr<AnalyticalResults>(new ShearWaveAnalyticalResults(viscosity, simParaStruct));
 }
 
 void ShearWaveAnalyticalResults::calc(std::shared_ptr<SimulationResults> simResults)
 {
-	AnalyticalResultsImp::init(simResults);
+    AnalyticalResultsImp::init(simResults);
 
-	for (int i = 0; i < numberOfTimeSteps; i++) {
-		for (int j = 0; j < numberOfNodes; j++) {
-			vx.at(i).at(j) = (l0*u0) / xNodes;
-			vy.at(i).at(j) = (l0*v0*cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*sin(((real)2.0 * M_PI*(x.at(i).at(j) + (l0*time.at(i)*u0) / xNodes)) / xNodes)) / (exp(time.at(i)*viscosity*(((real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) + ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*xNodes);
-			vz.at(i).at(j) = (real)0.0;
-			press.at(i).at(j) = (pow(l0, (real)2.0)*rho0*v0*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*(-(real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*u0*zNodes*cos(((real)2.0 * M_PI*(l0*time.at(i)*u0 + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)) + v0*xNodes*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*u0 + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)), (real)2.0)*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes))) / ((real)2.0*exp(((real)8.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)3.0));
-			rho.at(i).at(j) = (pow(l0, (real)2.0)*rho0*v0*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*(-(real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*u0*zNodes*cos(((real)2.0 * M_PI*(l0*time.at(i)*u0 + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)) + v0*xNodes*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*u0 + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)), (real)2.0)*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes))) / ((real)2.0*exp(((real)8.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)3.0));
-		}
-	}
-	calculated = true;
+    for (int i = 0; i < numberOfTimeSteps; i++) {
+        for (int j = 0; j < numberOfNodes; j++) {
+            vx.at(i).at(j) = (l0*u0) / xNodes;
+            vy.at(i).at(j) = (l0*v0*cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*sin(((real)2.0 * M_PI*(x.at(i).at(j) + (l0*time.at(i)*u0) / xNodes)) / xNodes)) / (exp(time.at(i)*viscosity*(((real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) + ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*xNodes);
+            vz.at(i).at(j) = (real)0.0;
+            press.at(i).at(j) = (pow(l0, (real)2.0)*rho0*v0*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*(-(real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*u0*zNodes*cos(((real)2.0 * M_PI*(l0*time.at(i)*u0 + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)) + v0*xNodes*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*u0 + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)), (real)2.0)*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes))) / ((real)2.0*exp(((real)8.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)3.0));
+            rho.at(i).at(j) = (pow(l0, (real)2.0)*rho0*v0*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*(-(real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*u0*zNodes*cos(((real)2.0 * M_PI*(l0*time.at(i)*u0 + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)) + v0*xNodes*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*u0 + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)), (real)2.0)*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes))) / ((real)2.0*exp(((real)8.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)3.0));
+        }
+    }
+    calculated = true;
 }
 
 ShearWaveAnalyticalResults::ShearWaveAnalyticalResults(double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct)
-	: AnalyticalResultsImp(simParaStruct->l0)
+    : AnalyticalResultsImp(simParaStruct->l0)
 {
-	this->viscosity = viscosity;
-	this->u0 = simParaStruct->ux;
-	this->v0 = simParaStruct->uz;
-	this->l0 = simParaStruct->l0;
-	this->rho0 = simParaStruct->rho0;
+    this->viscosity = viscosity;
+    this->u0 = simParaStruct->ux;
+    this->v0 = simParaStruct->uz;
+    this->l0 = simParaStruct->l0;
+    this->rho0 = simParaStruct->rho0;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.h b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.h
index 4f11cbee6a32073620aae25d39350fe1ca534307..47e1c038bd812473dd31641262ed39429a62b9ea 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/AnalyticalResults/ShearWaveAnalyticalResults.h
@@ -8,15 +8,15 @@ struct ShearWaveParameterStruct;
 class ShearWaveAnalyticalResults : public AnalyticalResultsImp
 {
 public:
-	static std::shared_ptr<AnalyticalResults> getNewInstance(double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct);
-	void calc(std::shared_ptr<SimulationResults> simResults);
+    static std::shared_ptr<AnalyticalResults> getNewInstance(double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct);
+    void calc(std::shared_ptr<SimulationResults> simResults);
 
 private:
-	ShearWaveAnalyticalResults();
-	ShearWaveAnalyticalResults(double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct);
+    ShearWaveAnalyticalResults();
+    ShearWaveAnalyticalResults(double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct);
 
-	double viscosity, rho0;
-	double l0;
-	double u0, v0;
+    double viscosity, rho0;
+    double l0;
+    double u0, v0;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.cpp b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.cpp
index d52f24775613c3b81da70d9217271a5cd5d89020..61e7ca02a8a59c76de252f3bc5c78a33d19b69dc 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.cpp
@@ -9,70 +9,70 @@
 
 InitialConditionShearWave::InitialConditionShearWave(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct)
 {
-	this->l0 = simParaStruct->l0;
-	this->lx = gridInfoStruct->lx;
-	this->lz = gridInfoStruct->lz;
-	this->rho = simParaStruct->rho0;
-	this->u0 = simParaStruct->ux;
-	this->v0 = simParaStruct->uz;
+    this->l0 = simParaStruct->l0;
+    this->lx = gridInfoStruct->lx;
+    this->lz = gridInfoStruct->lz;
+    this->rho = simParaStruct->rho0;
+    this->u0 = simParaStruct->ux;
+    this->v0 = simParaStruct->uz;
 }
 
 std::shared_ptr<InitialConditionShearWave> InitialConditionShearWave::getNewInstance(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct)
 {
-	return std::shared_ptr<InitialConditionShearWave>(new InitialConditionShearWave(simParaStruct, gridInfoStruct));
+    return std::shared_ptr<InitialConditionShearWave>(new InitialConditionShearWave(simParaStruct, gridInfoStruct));
 }
 
 real InitialConditionShearWave::getInitVX(int i, int level)
 {
-	real x = getXCoord(i, level);
-	real y = getYCoord(i, level);
-	real z = getZCoord(i, level);
-	if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
-	{
-		real vx = l0 * u0 / lx;
-		return vx;
-	}
-	else
-		return (real)0.0;
+    real x = getXCoord(i, level);
+    real y = getYCoord(i, level);
+    real z = getZCoord(i, level);
+    if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
+    {
+        real vx = l0 * u0 / lx;
+        return vx;
+    }
+    else
+        return (real)0.0;
 
 }
 
 real InitialConditionShearWave::getInitVY(int i, int level)
 {
-	real x = getXCoord(i, level);
-	real y = getYCoord(i, level);
-	real z = getZCoord(i, level);
-	if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
-	{
-		real vy = v0 * l0 / lx * cos((real)2.0 * M_PI * z / lz) * sin((real)2.0 * M_PI * x / lx);
-		return vy;
-	}
-	else
-		return (real) 0.0;
+    real x = getXCoord(i, level);
+    real y = getYCoord(i, level);
+    real z = getZCoord(i, level);
+    if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
+    {
+        real vy = v0 * l0 / lx * cos((real)2.0 * M_PI * z / lz) * sin((real)2.0 * M_PI * x / lx);
+        return vy;
+    }
+    else
+        return (real) 0.0;
 }
 
 real InitialConditionShearWave::getInitVZ(int i, int level)
 {
-	return (real) 0.0;
+    return (real) 0.0;
 }
 
 real InitialConditionShearWave::getInitROH(int i, int level)
 {
-	real x = getXCoord(i, level);
-	real y = getYCoord(i, level);
-	real z = getZCoord(i, level);
-	if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
-	{
-		real press = (l0*l0 * v0 * rho * sin(((real)2.0 * M_PI * z) / lz) * ((real)-4.0 * lz * u0 * cos(((real)2.0 * M_PI * x) / lx) + lx * v0 * sin(((real)2.0 * M_PI * x) / lx)*sin(((real)2.0 * M_PI * x) / lx) * sin(((real)2.0 * M_PI * z) / lz))) / ((real)2.0 * lx*lx*lx);
-		real rho = (real)3.0 * press;
-		return 0.0;
-	}
-	else
-		return (real) 0.0;
+    real x = getXCoord(i, level);
+    real y = getYCoord(i, level);
+    real z = getZCoord(i, level);
+    if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
+    {
+        real press = (l0*l0 * v0 * rho * sin(((real)2.0 * M_PI * z) / lz) * ((real)-4.0 * lz * u0 * cos(((real)2.0 * M_PI * x) / lx) + lx * v0 * sin(((real)2.0 * M_PI * x) / lx)*sin(((real)2.0 * M_PI * x) / lx) * sin(((real)2.0 * M_PI * z) / lz))) / ((real)2.0 * lx*lx*lx);
+        real rho = (real)3.0 * press;
+        return 0.0;
+    }
+    else
+        return (real) 0.0;
 }
 
 real InitialConditionShearWave::getInitPRESS(int i, int level)
 {
-	//nicht benötigt, da Druck aus Dichte berechnet wird
-	return (real) 0.0;
+    //nicht ben�tigt, da Druck aus Dichte berechnet wird
+    return (real) 0.0;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.h b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.h
index df964b213ca798c905ddfa4e9ea4acaf7960e306..2867e5c31c9239c5259ad342c4dcf58db188e753 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/InitialConditions/InitialConditionShearWave.h
@@ -1,5 +1,5 @@
 #ifndef INITIAL_CONDITION_SHEAR_WAVE_H
-#define	INITIAL_CONDITION_SHEAR_WAVE_H
+#define    INITIAL_CONDITION_SHEAR_WAVE_H
 
 #include "Utilities/InitialCondition/InitialConditionImp.h"
 
@@ -11,21 +11,21 @@ struct GridInformationStruct;
 class InitialConditionShearWave :public InitialConditionImp
 {
 public:
-	static std::shared_ptr<InitialConditionShearWave> getNewInstance(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct);
+    static std::shared_ptr<InitialConditionShearWave> getNewInstance(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct);
 
-	real getInitVX(int i, int level);
-	real getInitVY(int i, int level);
-	real getInitVZ(int i, int level);
-	real getInitROH(int i, int level);
-	real getInitPRESS(int i, int level);
+    real getInitVX(int i, int level);
+    real getInitVY(int i, int level);
+    real getInitVZ(int i, int level);
+    real getInitROH(int i, int level);
+    real getInitPRESS(int i, int level);
 
 private:
-	InitialConditionShearWave(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct);
-	InitialConditionShearWave() {};
-	
-	real rho;
-	real l0;
-	real lx, lz;
-	real u0, v0;
+    InitialConditionShearWave(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct);
+    InitialConditionShearWave() {};
+    
+    real rho;
+    real l0;
+    real lx, lz;
+    real u0, v0;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/LogFileInformation/ShearWaveLogFileInformation.cpp b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/LogFileInformation/ShearWaveLogFileInformation.cpp
index 1c6bec9cda666451e0f8cd721fbd7bf6466664fc..d9ce8c2dc6773ace71087599aa2259b367c13423 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/LogFileInformation/ShearWaveLogFileInformation.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/LogFileInformation/ShearWaveLogFileInformation.cpp
@@ -5,47 +5,47 @@
 
 std::shared_ptr<ShearWaveInformation> ShearWaveInformation::getNewInstance(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
-	return std::shared_ptr<ShearWaveInformation>(new ShearWaveInformation(simParaStruct, gridInfoStruct));
+    return std::shared_ptr<ShearWaveInformation>(new ShearWaveInformation(simParaStruct, gridInfoStruct));
 }
 
 std::string ShearWaveInformation::getOutput()
 {
-	makeCenterHead("ShearWave Information");
-	oss << "SimulationName=ShearWave" << std::endl;
-	oss << "Lx=\"";
-	for (int i = 0; i < lx.size(); i++) {
-		oss << lx.at(i);
-		if (i < lx.size() - 1)
-			oss << " ";
-		else
-			oss << "\"" << std::endl << std::endl;
-	}
+    makeCenterHead("ShearWave Information");
+    oss << "SimulationName=ShearWave" << std::endl;
+    oss << "Lx=\"";
+    for (int i = 0; i < lx.size(); i++) {
+        oss << lx.at(i);
+        if (i < lx.size() - 1)
+            oss << " ";
+        else
+            oss << "\"" << std::endl << std::endl;
+    }
 
-	for (int i = 0; i < lx.size(); i++) {
-			oss << "l0_" << lx.at(i) << "=" << l0 << std::endl;
-			oss << "ux_" << lx.at(i) << "=" << ux / (lx.at(i) / l0) << std::endl;
-			oss << "uz_" << lx.at(i) << "=" << uz / (lx.at(i) / l0) << std::endl;
-			oss << std::endl;
-	}
-	return oss.str();
+    for (int i = 0; i < lx.size(); i++) {
+            oss << "l0_" << lx.at(i) << "=" << l0 << std::endl;
+            oss << "ux_" << lx.at(i) << "=" << ux / (lx.at(i) / l0) << std::endl;
+            oss << "uz_" << lx.at(i) << "=" << uz / (lx.at(i) / l0) << std::endl;
+            oss << std::endl;
+    }
+    return oss.str();
 }
 
 std::vector<std::string> ShearWaveInformation::getFilePathExtension()
 {
-	std::vector<std::string> myFilePath;
-	myFilePath.push_back("ShearWave");
-	std::ostringstream oss;
-	oss << "ux_" << ux << "_uz_" << uz;
-	myFilePath.push_back(oss.str());
-	return myFilePath;
+    std::vector<std::string> myFilePath;
+    myFilePath.push_back("ShearWave");
+    std::ostringstream oss;
+    oss << "ux_" << ux << "_uz_" << uz;
+    myFilePath.push_back(oss.str());
+    return myFilePath;
 }
 
 ShearWaveInformation::ShearWaveInformation(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
-	this->ux = simParaStruct->ux;
-	this->uz = simParaStruct->uz;
-	this->l0 = simParaStruct->l0;
+    this->ux = simParaStruct->ux;
+    this->uz = simParaStruct->uz;
+    this->l0 = simParaStruct->l0;
 
-	for (int i = 0; i < gridInfoStruct.size(); i++)
-		lx.push_back(gridInfoStruct.at(i)->lx);
+    for (int i = 0; i < gridInfoStruct.size(); i++)
+        lx.push_back(gridInfoStruct.at(i)->lx);
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/LogFileInformation/ShearWaveLogFileInformation.h b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/LogFileInformation/ShearWaveLogFileInformation.h
index 529fdcadbf069d97db23812f1cbf255dac4c4cee..cf4e53ebbe26256134f8df6218e52bf95ef23565 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/LogFileInformation/ShearWaveLogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/LogFileInformation/ShearWaveLogFileInformation.h
@@ -15,18 +15,18 @@ struct GridInformationStruct;
 class ShearWaveInformation : public SimulationLogFileInformation
 {
 public:
-	static std::shared_ptr<ShearWaveInformation> getNewInstance(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
+    static std::shared_ptr<ShearWaveInformation> getNewInstance(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
 
-	std::string getOutput();
-	std::vector<std::string> getFilePathExtension();
+    std::string getOutput();
+    std::vector<std::string> getFilePathExtension();
 
 private:
-	ShearWaveInformation() {};
-	ShearWaveInformation(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
+    ShearWaveInformation() {};
+    ShearWaveInformation(std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
 
-	double ux;
-	double uz;
-	std::vector<real> lx;
-	int l0;
+    double ux;
+    double uz;
+    std::vector<real> lx;
+    int l0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/ShearWaveParameterStruct.h b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/ShearWaveParameterStruct.h
index 8388031233a8967d643b932bc1bd7ae605d8d8cd..c7ba87e2969a06c4d45048ee4a91189f6177a7e5 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/ShearWaveParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/ShearWaveParameterStruct.h
@@ -7,14 +7,14 @@
 
 struct ShearWaveParameterStruct
 {
-	std::shared_ptr<BasicSimulationParameterStruct> basicSimulationParameter;
+    std::shared_ptr<BasicSimulationParameterStruct> basicSimulationParameter;
 
-	double ux;
-	double uz;
-	int basicTimeStepLength;
-	double l0;
-	double rho0;
-	std::string vtkFilePath;
-	std::vector<std::string> dataToCalcTests;
+    double ux;
+    double uz;
+    int basicTimeStepLength;
+    double l0;
+    double rho0;
+    std::string vtkFilePath;
+    std::vector<std::string> dataToCalcTests;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationInfo/ShearWaveSimulationInfo.cpp b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationInfo/ShearWaveSimulationInfo.cpp
index 5d531a634537823fd306f7e5e26d43291cd1e52e..4f858339cc497b89123699f10902803b8c7d5b9b 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationInfo/ShearWaveSimulationInfo.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationInfo/ShearWaveSimulationInfo.cpp
@@ -7,14 +7,14 @@
 
 std::shared_ptr<ShearWaveSimulationInfo> ShearWaveSimulationInfo::getNewInstance(int simID, std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations)
 {
-	return std::shared_ptr<ShearWaveSimulationInfo>(new ShearWaveSimulationInfo(simID, kernel,viscosity, simParaStruct, gridInfoStruct, numberOfSimulations));
+    return std::shared_ptr<ShearWaveSimulationInfo>(new ShearWaveSimulationInfo(simID, kernel,viscosity, simParaStruct, gridInfoStruct, numberOfSimulations));
 }
 
 ShearWaveSimulationInfo::ShearWaveSimulationInfo(int simID, std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations)
-	: SimulationInfoImp(simID, kernel, viscosity, gridInfoStruct->lx, numberOfSimulations, "ShearWave", simParaStruct->dataToCalcTests)
+    : SimulationInfoImp(simID, kernel, viscosity, gridInfoStruct->lx, numberOfSimulations, "ShearWave", simParaStruct->dataToCalcTests)
 {
-	std::ostringstream oss;
-	oss << " ux: " << simParaStruct->ux / (gridInfoStruct->lx / simParaStruct->l0) << " uz: " << simParaStruct->uz / (gridInfoStruct->lx / simParaStruct->l0);
-	this->simulationParameterString = oss.str();
+    std::ostringstream oss;
+    oss << " ux: " << simParaStruct->ux / (gridInfoStruct->lx / simParaStruct->l0) << " uz: " << simParaStruct->uz / (gridInfoStruct->lx / simParaStruct->l0);
+    this->simulationParameterString = oss.str();
 
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationInfo/ShearWaveSimulationInfo.h b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationInfo/ShearWaveSimulationInfo.h
index 19f6285eaaf6836df734d128f0e1b457dd892da8..92bf94c481784c344b1478a399da9a3fea2a0497 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationInfo/ShearWaveSimulationInfo.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationInfo/ShearWaveSimulationInfo.h
@@ -13,10 +13,10 @@ struct GridInformationStruct;
 class ShearWaveSimulationInfo : public SimulationInfoImp
 {
 public:
-	static std::shared_ptr<ShearWaveSimulationInfo> getNewInstance(int simID, std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
+    static std::shared_ptr<ShearWaveSimulationInfo> getNewInstance(int simID, std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
 
 private:
-	ShearWaveSimulationInfo() {};
-	ShearWaveSimulationInfo(int simID, std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
+    ShearWaveSimulationInfo() {};
+    ShearWaveSimulationInfo(int simID, std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.cpp b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.cpp
index 76d8fae4b45bc5a0134463ca625e8ac6526d567e..6d7a1cf3690f99a5190441cdad738fb46af5dc9b 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.cpp
@@ -9,23 +9,23 @@
 
 std::shared_ptr<SimulationParameter> ShearWaveSimulationParameter::getNewInstance(std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> parameterStruct, std::shared_ptr<GridInformationStruct> gridInfo)
 {
-	return std::shared_ptr<SimulationParameter>(new ShearWaveSimulationParameter(kernel, viscosity, parameterStruct, gridInfo));
+    return std::shared_ptr<SimulationParameter>(new ShearWaveSimulationParameter(kernel, viscosity, parameterStruct, gridInfo));
 }
 
 ShearWaveSimulationParameter::ShearWaveSimulationParameter(std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> parameterStruct, std::shared_ptr<GridInformationStruct> gridInfo)
 :SimulationParameterImp(kernel, viscosity, parameterStruct->basicSimulationParameter, gridInfo)
 {
-	this->timeStepLength = parameterStruct->basicTimeStepLength * (gridInfo->lx / l0)*(gridInfo->lx / l0);
+    this->timeStepLength = parameterStruct->basicTimeStepLength * (gridInfo->lx / l0)*(gridInfo->lx / l0);
 
-	if (parameterStruct->ux > parameterStruct->uz)
-		this->maxVelocity = parameterStruct->ux / (lx / l0);
-	else
-		this->maxVelocity = parameterStruct->uz / (lx / l0);
+    if (parameterStruct->ux > parameterStruct->uz)
+        this->maxVelocity = parameterStruct->ux / (lx / l0);
+    else
+        this->maxVelocity = parameterStruct->uz / (lx / l0);
  
-	std::string kernelName = kernel;
+    std::string kernelName = kernel;
 
-	std::ostringstream oss;
-	oss << parameterStruct->vtkFilePath << "/ShearWave/Viscosity_" << viscosity << "/ux_" << parameterStruct->ux << "_uz_" << parameterStruct->uz << "/" << kernelName << "/grid" << lx;
-	generateFileDirectionInMyStystem(oss.str());
-	this->filePath = oss.str();
+    std::ostringstream oss;
+    oss << parameterStruct->vtkFilePath << "/ShearWave/Viscosity_" << viscosity << "/ux_" << parameterStruct->ux << "_uz_" << parameterStruct->uz << "/" << kernelName << "/grid" << lx;
+    generateFileDirectionInMyStystem(oss.str());
+    this->filePath = oss.str();
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.h b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.h
index 51251274de6886d747f1e19b57e20f2e1a41cae9..c4054f1d61ada01a66547c73b38e57c5c11a1a1b 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/ShearWave/SimulationParameter/ShearWaveSimulationParameter.h
@@ -8,11 +8,11 @@ struct ShearWaveParameterStruct;
 class ShearWaveSimulationParameter : public SimulationParameterImp
 {
 public:
-	static std::shared_ptr<SimulationParameter> getNewInstance(std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> parameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
+    static std::shared_ptr<SimulationParameter> getNewInstance(std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> parameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
 
 protected:
-	ShearWaveSimulationParameter() {};
-	ShearWaveSimulationParameter(std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> parameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
+    ShearWaveSimulationParameter() {};
+    ShearWaveSimulationParameter(std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> parameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
 
 };
 
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUx.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUx.cpp
index 1a2f1bee6c3c8289ccd7fac99f1e59467ed6a3c6..76d3b85ddc601eba3ad3d08f2be5470e71d65e59 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUx.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUx.cpp
@@ -7,31 +7,31 @@
 
 std::shared_ptr<AnalyticalResults> AnalyticalResultsTaylorGreenUx::getNewInstance(double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct)
 {
-	return std::shared_ptr<AnalyticalResults>(new AnalyticalResultsTaylorGreenUx(viscosity, simParaStruct));
+    return std::shared_ptr<AnalyticalResults>(new AnalyticalResultsTaylorGreenUx(viscosity, simParaStruct));
 }
 
 void AnalyticalResultsTaylorGreenUx::calc(std::shared_ptr<SimulationResults> simResults)
 {
-	AnalyticalResultsImp::init(simResults);
+    AnalyticalResultsImp::init(simResults);
 
-	for (int i = 0; i < numberOfTimeSteps; i++) {
-		for (int j = 0; j < numberOfNodes; j++) {
-			vx.at(i).at(j) = (l0*ux) / xNodes + (amplitude*exp(time.at(i)*viscosity*((-(real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) - ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*l0*cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*sin(((real)2.0 * M_PI*(x.at(i).at(j) + (l0*time.at(i)*ux) / xNodes)) / xNodes)) / xNodes;
-			vy.at(i).at(j) = (real)0.0;
-			vz.at(i).at(j) = -((amplitude*exp(time.at(i)*viscosity*((-(real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) - ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*l0*zNodes*cos(((real)2.0 * M_PI*(x.at(i).at(j) + (l0*time.at(i)*ux) / xNodes)) / xNodes)*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)) / pow(xNodes, (real)2.0));
-			press.at(i).at(j) = (amplitude*pow(l0, (real)2.0)*rho0*(amplitude*pow(zNodes, (real)2.0)*pow(cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes), (real)2.0) - (real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*ux*(pow(xNodes, (real)2.0) - pow(zNodes, (real)2.0)) * cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*sin(((real)2.0 * M_PI*(l0*time.at(i)*ux + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)) - amplitude*pow(xNodes, (real)2.0)*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*ux + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)), (real)2.0))) / ((real)2.0*exp((8 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)4.0));
-			rho.at(i).at(j) = (amplitude*pow(l0, (real)2.0)*rho0*(amplitude*pow(zNodes, (real)2.0)*pow(cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes), (real)2.0) - (real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*ux*(pow(xNodes, (real)2.0) - pow(zNodes, (real)2.0)) * cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*sin(((real)2.0 * M_PI*(l0*time.at(i)*ux + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)) - amplitude*pow(xNodes, (real)2.0)*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*ux + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)), (real)2.0))) / ((real)2.0*exp((8 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)4.0));
-		}
-	}
-	calculated = true;
+    for (int i = 0; i < numberOfTimeSteps; i++) {
+        for (int j = 0; j < numberOfNodes; j++) {
+            vx.at(i).at(j) = (l0*ux) / xNodes + (amplitude*exp(time.at(i)*viscosity*((-(real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) - ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*l0*cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*sin(((real)2.0 * M_PI*(x.at(i).at(j) + (l0*time.at(i)*ux) / xNodes)) / xNodes)) / xNodes;
+            vy.at(i).at(j) = (real)0.0;
+            vz.at(i).at(j) = -((amplitude*exp(time.at(i)*viscosity*((-(real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) - ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*l0*zNodes*cos(((real)2.0 * M_PI*(x.at(i).at(j) + (l0*time.at(i)*ux) / xNodes)) / xNodes)*sin(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)) / pow(xNodes, (real)2.0));
+            press.at(i).at(j) = (amplitude*pow(l0, (real)2.0)*rho0*(amplitude*pow(zNodes, (real)2.0)*pow(cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes), (real)2.0) - (real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*ux*(pow(xNodes, (real)2.0) - pow(zNodes, (real)2.0)) * cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*sin(((real)2.0 * M_PI*(l0*time.at(i)*ux + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)) - amplitude*pow(xNodes, (real)2.0)*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*ux + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)), (real)2.0))) / ((real)2.0*exp((8 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)4.0));
+            rho.at(i).at(j) = (amplitude*pow(l0, (real)2.0)*rho0*(amplitude*pow(zNodes, (real)2.0)*pow(cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes), (real)2.0) - (real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*ux*(pow(xNodes, (real)2.0) - pow(zNodes, (real)2.0)) * cos(((real)2.0 * M_PI*z.at(i).at(j)) / zNodes)*sin(((real)2.0 * M_PI*(l0*time.at(i)*ux + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)) - amplitude*pow(xNodes, (real)2.0)*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*ux + x.at(i).at(j)*xNodes)) / pow(xNodes, (real)2.0)), (real)2.0))) / ((real)2.0*exp((8 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)4.0));
+        }
+    }
+    calculated = true;
 }
 
 AnalyticalResultsTaylorGreenUx::AnalyticalResultsTaylorGreenUx(double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct)
-	: AnalyticalResultsImp(simParaStruct->l0)
+    : AnalyticalResultsImp(simParaStruct->l0)
 {
-	this->viscosity = viscosity;
-	this->ux = simParaStruct->ux;
-	this->amplitude = simParaStruct->amplitude;
-	this->l0 = simParaStruct->l0;
-	this->rho0 = simParaStruct->rho0;
+    this->viscosity = viscosity;
+    this->ux = simParaStruct->ux;
+    this->amplitude = simParaStruct->amplitude;
+    this->l0 = simParaStruct->l0;
+    this->rho0 = simParaStruct->rho0;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUx.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUx.h
index 64d73e4a055741151c38e530861c5c6cb57bd702..600b18a2b2744641fee5319fbacc52d0750363b6 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUx.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUx.h
@@ -8,15 +8,15 @@ struct TaylorGreenVortexUxParameterStruct;
 class AnalyticalResultsTaylorGreenUx : public AnalyticalResultsImp
 {
 public:
-	static std::shared_ptr<AnalyticalResults> getNewInstance(double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct);
-	void calc(std::shared_ptr<SimulationResults> simResults);
+    static std::shared_ptr<AnalyticalResults> getNewInstance(double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct);
+    void calc(std::shared_ptr<SimulationResults> simResults);
 
 private:
-	AnalyticalResultsTaylorGreenUx();
-	AnalyticalResultsTaylorGreenUx(double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct);
+    AnalyticalResultsTaylorGreenUx();
+    AnalyticalResultsTaylorGreenUx(double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct);
 
-	double viscosity, rho0;
-	double l0;
-	double ux, amplitude; 
+    double viscosity, rho0;
+    double l0;
+    double ux, amplitude; 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.cpp
index 256269ba063960073d6250fb8b6750a7077131a8..98b99e4094fa78811211fa587e25849f9482eba3 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.cpp
@@ -8,70 +8,70 @@
 
 InitialConditionTaylorGreenUx::InitialConditionTaylorGreenUx(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct>  gridInfoStruct)
 {
-	this->amp = simParaStruct->amplitude;
-	this->l0 = simParaStruct->l0;
-	this->lx = gridInfoStruct->lx;
-	this->lz = gridInfoStruct->lz;
-	this->rho = simParaStruct->rho0;
-	this->ux = simParaStruct->ux;
+    this->amp = simParaStruct->amplitude;
+    this->l0 = simParaStruct->l0;
+    this->lx = gridInfoStruct->lx;
+    this->lz = gridInfoStruct->lz;
+    this->rho = simParaStruct->rho0;
+    this->ux = simParaStruct->ux;
 }
 
 std::shared_ptr<InitialConditionTaylorGreenUx> InitialConditionTaylorGreenUx::getNewInstance(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct>  gridInfoStruct)
 {
-	return std::shared_ptr<InitialConditionTaylorGreenUx>(new InitialConditionTaylorGreenUx(simParaStruct, gridInfoStruct));
+    return std::shared_ptr<InitialConditionTaylorGreenUx>(new InitialConditionTaylorGreenUx(simParaStruct, gridInfoStruct));
 }
 
 real InitialConditionTaylorGreenUx::getInitVX(int i, int level)
 {
-	real x = getXCoord(i, level);
-	real y = getYCoord(i, level);
-	real z = getZCoord(i, level);
-	if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
-	{
-		real vx = (ux* l0 / lx + (amp * l0 * cos((real)2.0 * M_PI * z / lz) * sin((real)2.0 * M_PI * x / lx) / lx));
-		return vx;
-	}
-	else
-		return (real)0.0;
+    real x = getXCoord(i, level);
+    real y = getYCoord(i, level);
+    real z = getZCoord(i, level);
+    if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
+    {
+        real vx = (ux* l0 / lx + (amp * l0 * cos((real)2.0 * M_PI * z / lz) * sin((real)2.0 * M_PI * x / lx) / lx));
+        return vx;
+    }
+    else
+        return (real)0.0;
 
 }
 
 real InitialConditionTaylorGreenUx::getInitVY(int i, int level)
 {
-	return (real) 0.0;
+    return (real) 0.0;
 }
 
 real InitialConditionTaylorGreenUx::getInitVZ(int i, int level)
 {
-	real x = getXCoord(i, level);
-	real y = getYCoord(i, level);
-	real z = getZCoord(i, level);
-	if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
-	{
-		real vz = (-amp * l0 * lz * cos((real)2.0 * M_PI * x / lx) * sin((real)2.0 * M_PI * z / lz) / (lx*lx));
-		return vz;
-	}
-	else
-		return (real) 0.0;
+    real x = getXCoord(i, level);
+    real y = getYCoord(i, level);
+    real z = getZCoord(i, level);
+    if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
+    {
+        real vz = (-amp * l0 * lz * cos((real)2.0 * M_PI * x / lx) * sin((real)2.0 * M_PI * z / lz) / (lx*lx));
+        return vz;
+    }
+    else
+        return (real) 0.0;
 }
 
 real InitialConditionTaylorGreenUx::getInitROH(int i, int level)
 {
-	real x = getXCoord(i, level);
-	real y = getYCoord(i, level);
-	real z = getZCoord(i, level);
-	if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
-	{
-		real press = (amp*pow(l0, (real)2.0)*rho*(amp*pow(lz, (real)2.0)*pow(cos(((real)2.0 * M_PI*z) / lz), (real)2.0) - (real)4.0 * (pow(lx, (real)2.0) - pow(lz, (real)2.0))*ux*cos(((real)2.0 * M_PI*z) / lz)*sin(((real)2.0 * M_PI*x) / lx) - amp*pow(lx, (real)2.0)*pow(sin(((real)2.0 * M_PI*x) / lx), (real)2.0))) / ((real)2.0*pow(lx, (real)4.0));
-		real rho = (real)3.0 * press;
-		return rho;
-	}
-	else
-		return (real) 0.0;
+    real x = getXCoord(i, level);
+    real y = getYCoord(i, level);
+    real z = getZCoord(i, level);
+    if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
+    {
+        real press = (amp*pow(l0, (real)2.0)*rho*(amp*pow(lz, (real)2.0)*pow(cos(((real)2.0 * M_PI*z) / lz), (real)2.0) - (real)4.0 * (pow(lx, (real)2.0) - pow(lz, (real)2.0))*ux*cos(((real)2.0 * M_PI*z) / lz)*sin(((real)2.0 * M_PI*x) / lx) - amp*pow(lx, (real)2.0)*pow(sin(((real)2.0 * M_PI*x) / lx), (real)2.0))) / ((real)2.0*pow(lx, (real)4.0));
+        real rho = (real)3.0 * press;
+        return rho;
+    }
+    else
+        return (real) 0.0;
 }
 
 real InitialConditionTaylorGreenUx::getInitPRESS(int i, int level)
 {
-	//nicht benötigt, da Druck aus Dichte berechnet wird
-	return (real) 0.0;
+    //nicht ben�tigt, da Druck aus Dichte berechnet wird
+    return (real) 0.0;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.h
index caa8bb44ce608274b67979e65b3a4f543b6d5524..458bff99372fea3e98344cbb1771513fea8930a8 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/InitialConditions/InitialConditionTaylorGreenVortexUx.h
@@ -11,23 +11,23 @@ struct GridInformationStruct;
 class InitialConditionTaylorGreenUx : public InitialConditionImp
 {
 public:
-	static std::shared_ptr<InitialConditionTaylorGreenUx> getNewInstance(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct>  gridInfoStruct);
+    static std::shared_ptr<InitialConditionTaylorGreenUx> getNewInstance(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct>  gridInfoStruct);
 
-	real getInitVX(int i, int level);
-	real getInitVY(int i, int level);
-	real getInitVZ(int i, int level);
-	real getInitROH(int i, int level);
-	real getInitPRESS(int i, int level);
+    real getInitVX(int i, int level);
+    real getInitVY(int i, int level);
+    real getInitVZ(int i, int level);
+    real getInitROH(int i, int level);
+    real getInitPRESS(int i, int level);
 
 private:
-	InitialConditionTaylorGreenUx(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct>  gridInfoStruct);
-	InitialConditionTaylorGreenUx() {};
-
-	real amp;
-	real rho;
-	real l0;
-	real lx, lz;
-	real ux;
+    InitialConditionTaylorGreenUx(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct>  gridInfoStruct);
+    InitialConditionTaylorGreenUx() {};
+
+    real amp;
+    real rho;
+    real l0;
+    real lx, lz;
+    real ux;
 };
 
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/LogFileInformation/LogFileInformationTaylorGreenVortexUx.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/LogFileInformation/LogFileInformationTaylorGreenVortexUx.cpp
index 050534a442c0f61becd968684dfb67890e690d41..094c9892e11f997d83c9abfb845a72b55edc95ca 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/LogFileInformation/LogFileInformationTaylorGreenVortexUx.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/LogFileInformation/LogFileInformationTaylorGreenVortexUx.cpp
@@ -5,48 +5,48 @@
 
 std::shared_ptr<LogFileInformationTaylorGreenUx> LogFileInformationTaylorGreenUx::getNewInstance(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
-	return std::shared_ptr<LogFileInformationTaylorGreenUx>(new LogFileInformationTaylorGreenUx(simParaStruct, gridInfoStruct));
+    return std::shared_ptr<LogFileInformationTaylorGreenUx>(new LogFileInformationTaylorGreenUx(simParaStruct, gridInfoStruct));
 }
 
 std::string LogFileInformationTaylorGreenUx::getOutput()
 {
-	makeCenterHead("TaylorGreenVortex Ux Information");
-	oss << "SimulationName=TaylorGreenVortexUx" << std::endl;
-	oss << "Lx=\"";
-	for (int i = 0; i < lx.size(); i++) {
-		oss << lx.at(i);
-		if (i < lx.size() - 1)
-			oss << " ";
-		else
-			oss << "\"" << std::endl << std::endl;
-	}
+    makeCenterHead("TaylorGreenVortex Ux Information");
+    oss << "SimulationName=TaylorGreenVortexUx" << std::endl;
+    oss << "Lx=\"";
+    for (int i = 0; i < lx.size(); i++) {
+        oss << lx.at(i);
+        if (i < lx.size() - 1)
+            oss << " ";
+        else
+            oss << "\"" << std::endl << std::endl;
+    }
 
-	for (int i = 0; i < lx.size(); i++) {
-		oss << "ux_" << lx.at(i) << "=" << ux / (lx.at(i) / l0) << std::endl;
-		oss << "Amplitude_"<< lx.at(i) << "=" << amplitude / (lx.at(i) / l0) << std::endl;
-		oss << "l0_" << lx.at(i) << "=" << l0 << std::endl;
-		oss << std::endl;
-	}
-	
-	return oss.str();
+    for (int i = 0; i < lx.size(); i++) {
+        oss << "ux_" << lx.at(i) << "=" << ux / (lx.at(i) / l0) << std::endl;
+        oss << "Amplitude_"<< lx.at(i) << "=" << amplitude / (lx.at(i) / l0) << std::endl;
+        oss << "l0_" << lx.at(i) << "=" << l0 << std::endl;
+        oss << std::endl;
+    }
+    
+    return oss.str();
 }
 
 std::vector<std::string> LogFileInformationTaylorGreenUx::getFilePathExtension()
 {
-	std::vector<std::string> myFilePath;
-	myFilePath.push_back("TaylorGreenVortexUx");
-	std::ostringstream oss;
-	oss << "ux_" << ux << "_Amplitude_" << amplitude;
-	myFilePath.push_back(oss.str());
-	return myFilePath;
+    std::vector<std::string> myFilePath;
+    myFilePath.push_back("TaylorGreenVortexUx");
+    std::ostringstream oss;
+    oss << "ux_" << ux << "_Amplitude_" << amplitude;
+    myFilePath.push_back(oss.str());
+    return myFilePath;
 }
 
 LogFileInformationTaylorGreenUx::LogFileInformationTaylorGreenUx(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
-	this->ux = simParaStruct->ux;
-	this->amplitude = simParaStruct->amplitude;
-	this->l0 = simParaStruct->l0;
+    this->ux = simParaStruct->ux;
+    this->amplitude = simParaStruct->amplitude;
+    this->l0 = simParaStruct->l0;
 
-	for(int i = 0; i < gridInfoStruct.size(); i++)
-		lx.push_back(gridInfoStruct.at(i)->lx);
+    for(int i = 0; i < gridInfoStruct.size(); i++)
+        lx.push_back(gridInfoStruct.at(i)->lx);
 }
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/LogFileInformation/LogFileInformationTaylorGreenVortexUx.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/LogFileInformation/LogFileInformationTaylorGreenVortexUx.h
index 01ba1344a091c93732fa0e20100bc5163ecf151a..2d3d4f7a4cb11f64260feb3543fe7eace4f4e4e4 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/LogFileInformation/LogFileInformationTaylorGreenVortexUx.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/LogFileInformation/LogFileInformationTaylorGreenVortexUx.h
@@ -13,19 +13,19 @@ struct GridInformationStruct;
 class LogFileInformationTaylorGreenUx : public SimulationLogFileInformation
 {
 public:
-	static std::shared_ptr<LogFileInformationTaylorGreenUx> getNewInstance(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
-	
-	std::string getOutput();
-	std::vector<std::string> getFilePathExtension();
-	
+    static std::shared_ptr<LogFileInformationTaylorGreenUx> getNewInstance(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
+    
+    std::string getOutput();
+    std::vector<std::string> getFilePathExtension();
+    
 
 private:
-	LogFileInformationTaylorGreenUx() {};
-	LogFileInformationTaylorGreenUx(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
+    LogFileInformationTaylorGreenUx() {};
+    LogFileInformationTaylorGreenUx(std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
 
-	double ux;
-	double amplitude;
-	std::vector<double> lx;
-	int l0;
+    double ux;
+    double amplitude;
+    std::vector<double> lx;
+    int l0;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationInfo/SimulationInfoTaylorGreenVortexUx.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationInfo/SimulationInfoTaylorGreenVortexUx.cpp
index 35f2139bf8ac686af4d28bd08155362e52d6110c..69049f990fcc1bf62db295f79618557af41ecb4c 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationInfo/SimulationInfoTaylorGreenVortexUx.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationInfo/SimulationInfoTaylorGreenVortexUx.cpp
@@ -7,13 +7,13 @@
 
 std::shared_ptr<SimulationInfoTaylorGreenUx> SimulationInfoTaylorGreenUx::getNewInstance(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations)
 {
-	return std::shared_ptr<SimulationInfoTaylorGreenUx>(new SimulationInfoTaylorGreenUx(simID, kernel, viscosity, simParaStruct, gridInfoStruct, numberOfSimulations));
+    return std::shared_ptr<SimulationInfoTaylorGreenUx>(new SimulationInfoTaylorGreenUx(simID, kernel, viscosity, simParaStruct, gridInfoStruct, numberOfSimulations));
 }
 
 SimulationInfoTaylorGreenUx::SimulationInfoTaylorGreenUx(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations)
-	: SimulationInfoImp(simID, kernel, viscosity, gridInfoStruct->lx, numberOfSimulations, "TaylorGreenVortex Ux", simParaStruct->dataToCalcTests)
+    : SimulationInfoImp(simID, kernel, viscosity, gridInfoStruct->lx, numberOfSimulations, "TaylorGreenVortex Ux", simParaStruct->dataToCalcTests)
 {
-	std::ostringstream oss;
-	oss << " ux: " << simParaStruct->ux / (gridInfoStruct->lx / simParaStruct->l0) << " Amplitude: " << simParaStruct->amplitude / (gridInfoStruct->lx / simParaStruct->l0);
-	this->simulationParameterString = oss.str();
+    std::ostringstream oss;
+    oss << " ux: " << simParaStruct->ux / (gridInfoStruct->lx / simParaStruct->l0) << " Amplitude: " << simParaStruct->amplitude / (gridInfoStruct->lx / simParaStruct->l0);
+    this->simulationParameterString = oss.str();
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationInfo/SimulationInfoTaylorGreenVortexUx.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationInfo/SimulationInfoTaylorGreenVortexUx.h
index 266b1f2833d75cd59d7db829607c47a33a0cd267..1670265f3e40f1ce6090cdcb9eeccba9060e2397 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationInfo/SimulationInfoTaylorGreenVortexUx.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationInfo/SimulationInfoTaylorGreenVortexUx.h
@@ -13,11 +13,11 @@ struct GridInformationStruct;
 class SimulationInfoTaylorGreenUx : public SimulationInfoImp
 {
 public:
-	static std::shared_ptr<SimulationInfoTaylorGreenUx> getNewInstance(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
+    static std::shared_ptr<SimulationInfoTaylorGreenUx> getNewInstance(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
 
 private:
-	SimulationInfoTaylorGreenUx() {};
-	SimulationInfoTaylorGreenUx(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
-	
+    SimulationInfoTaylorGreenUx() {};
+    SimulationInfoTaylorGreenUx(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
+    
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.cpp
index 934419410dec05c986ce313a008936b985767c04..d31044eec14b6a43866270c5cf29edcefa8d51b3 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.cpp
@@ -7,19 +7,19 @@
 
 std::shared_ptr<SimulationParameter> SimulationParameterTaylorGreenUx::getNewInstance(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo)
 {
-	return std::shared_ptr<SimulationParameter>(new SimulationParameterTaylorGreenUx(kernel, viscosity, tgvParameterStruct, gridInfo));
+    return std::shared_ptr<SimulationParameter>(new SimulationParameterTaylorGreenUx(kernel, viscosity, tgvParameterStruct, gridInfo));
 }
 
 SimulationParameterTaylorGreenUx::SimulationParameterTaylorGreenUx(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo)
 :SimulationParameterImp(kernel, viscosity, tgvParameterStruct->basicSimulationParameter, gridInfo)
 {
-	this->maxVelocity = tgvParameterStruct->ux / (lx / l0);
-	this->timeStepLength = tgvParameterStruct->basicTimeStepLength * (gridInfo->lx / l0)*(gridInfo->lx / l0);
+    this->maxVelocity = tgvParameterStruct->ux / (lx / l0);
+    this->timeStepLength = tgvParameterStruct->basicTimeStepLength * (gridInfo->lx / l0)*(gridInfo->lx / l0);
 
-	std::string kernelName = kernel;
+    std::string kernelName = kernel;
 
-	std::ostringstream oss;
-	oss << tgvParameterStruct->vtkFilePath << "/TaylorGreenVortex Ux/Viscosity_" << viscosity << "/ux_" << tgvParameterStruct->ux << "_amplitude_" << tgvParameterStruct->amplitude << "/" << kernelName << "/grid" << lx;
-	generateFileDirectionInMyStystem(oss.str());
-	this->filePath = oss.str();
+    std::ostringstream oss;
+    oss << tgvParameterStruct->vtkFilePath << "/TaylorGreenVortex Ux/Viscosity_" << viscosity << "/ux_" << tgvParameterStruct->ux << "_amplitude_" << tgvParameterStruct->amplitude << "/" << kernelName << "/grid" << lx;
+    generateFileDirectionInMyStystem(oss.str());
+    this->filePath = oss.str();
 }
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.h
index a69f1eba826a18fa424d317ee03c7a8cde9eda79..bec445513856df963916b670793c01be181e6e34 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/SimulationParameter/SimulationParameterTaylorGreenVortexUx.h
@@ -11,11 +11,11 @@ struct TaylorGreenVortexUxParameterStruct;
 class SimulationParameterTaylorGreenUx : public SimulationParameterImp
 {
 public:
-	static std::shared_ptr<SimulationParameter> getNewInstance(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
+    static std::shared_ptr<SimulationParameter> getNewInstance(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
 
-	
+    
 protected:
-	SimulationParameterTaylorGreenUx(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
+    SimulationParameterTaylorGreenUx(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
 
 };
 #endif 
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/TaylorGreenVortexUxParameterStruct.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/TaylorGreenVortexUxParameterStruct.h
index 1a12a99eca58d11e96e411c969d856a2d065dce7..9b64d2321c31c5b5266385ba37837c6bf8e1b284 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/TaylorGreenVortexUxParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUx/TaylorGreenVortexUxParameterStruct.h
@@ -7,14 +7,14 @@
 
 struct TaylorGreenVortexUxParameterStruct
 {
-	std::shared_ptr<BasicSimulationParameterStruct> basicSimulationParameter;
+    std::shared_ptr<BasicSimulationParameterStruct> basicSimulationParameter;
 
-	double ux;
-	double amplitude;
-	int basicTimeStepLength;
-	double l0;
-	double rho0;
-	std::string vtkFilePath;
-	std::vector<std::string> dataToCalcTests;
+    double ux;
+    double amplitude;
+    int basicTimeStepLength;
+    double l0;
+    double rho0;
+    std::string vtkFilePath;
+    std::vector<std::string> dataToCalcTests;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUz.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUz.cpp
index eb7eb9a3aa17c365eac43b626658e0c7a36dc647..a8e6622b665c22ffac0c3ee269e2f76f8d47fbee 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUz.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUz.cpp
@@ -7,30 +7,30 @@
 
 std::shared_ptr<AnalyticalResults> AnalyticalResultsTaylorGreenUz::getNewInstance(double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct)
 {
-	return std::shared_ptr<AnalyticalResults>(new AnalyticalResultsTaylorGreenUz(viscosity, simParaStruct));
+    return std::shared_ptr<AnalyticalResults>(new AnalyticalResultsTaylorGreenUz(viscosity, simParaStruct));
 }
 
 void AnalyticalResultsTaylorGreenUz::calc(std::shared_ptr<SimulationResults> simResults)
 {
-	AnalyticalResultsImp::init(simResults);
+    AnalyticalResultsImp::init(simResults);
 
-	for (int i = 0; i < numberOfTimeSteps; i++) {
-		for (int j = 0; j < numberOfNodes; j++) {
-			vx.at(i).at(j) = (amplitude*exp( time.at(i)*viscosity*((-(real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) - ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*l0*cos(((real)2.0 * M_PI*((l0*time.at(i)*uz) / xNodes + z.at(i).at(j))) / zNodes)*sin(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes)) / xNodes;
-			vy.at(i).at(j) = (real)0.0;
-			vz.at(i).at(j) = (l0*uz) / zNodes - (amplitude*exp(time.at(i)*viscosity*((-(real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) - ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*l0*zNodes*cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes)*sin(((real)2.0 * M_PI*(z.at(i).at(j) + (l0*time.at(i)*uz) / zNodes)) / zNodes)) / pow(xNodes, (real)2.0);
-			press.at(i).at(j) = (amplitude*pow(l0, (real)2.0)*rho0*(amplitude*pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)*pow(cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes), (real)2.0) - (real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*uz*pow(xNodes, (real)2.0)*(pow(xNodes, (real)2.0) - pow(zNodes, (real)2.0))*cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes)*sin(((real)2.0 * M_PI*(l0*time.at(i)*uz + z.at(i).at(j)*zNodes)) / pow(zNodes, (real)2.0)) - amplitude*pow(zNodes, (real)4.0)*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*uz + z.at(i).at(j)*zNodes)) / pow(zNodes, (real)2.0)), (real)2.0))) / ((real)2.0*exp(((real)8.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)4.0)*pow(zNodes, (real)2.0));
-			rho.at(i).at(j) = (amplitude*pow(l0, (real)2.0)*rho0*(amplitude*pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)*pow(cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes), (real)2.0) - (real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*uz*pow(xNodes, (real)2.0)*(pow(xNodes, (real)2.0) - pow(zNodes, (real)2.0))*cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes)*sin(((real)2.0 * M_PI*(l0*time.at(i)*uz + z.at(i).at(j)*zNodes)) / pow(zNodes, (real)2.0)) - amplitude*pow(zNodes, (real)4.0)*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*uz + z.at(i).at(j)*zNodes)) / pow(zNodes, (real)2.0)), (real)2.0))) / ((real)2.0*exp(((real)8.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)4.0)*pow(zNodes, (real)2.0));
-		}
-	}
-	calculated = true;
+    for (int i = 0; i < numberOfTimeSteps; i++) {
+        for (int j = 0; j < numberOfNodes; j++) {
+            vx.at(i).at(j) = (amplitude*exp( time.at(i)*viscosity*((-(real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) - ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*l0*cos(((real)2.0 * M_PI*((l0*time.at(i)*uz) / xNodes + z.at(i).at(j))) / zNodes)*sin(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes)) / xNodes;
+            vy.at(i).at(j) = (real)0.0;
+            vz.at(i).at(j) = (l0*uz) / zNodes - (amplitude*exp(time.at(i)*viscosity*((-(real)4.0 * pow(M_PI, (real)2.0)) / pow(xNodes, (real)2.0) - ((real)4.0 * pow(M_PI, (real)2.0)) / pow(zNodes, (real)2.0)))*l0*zNodes*cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes)*sin(((real)2.0 * M_PI*(z.at(i).at(j) + (l0*time.at(i)*uz) / zNodes)) / zNodes)) / pow(xNodes, (real)2.0);
+            press.at(i).at(j) = (amplitude*pow(l0, (real)2.0)*rho0*(amplitude*pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)*pow(cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes), (real)2.0) - (real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*uz*pow(xNodes, (real)2.0)*(pow(xNodes, (real)2.0) - pow(zNodes, (real)2.0))*cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes)*sin(((real)2.0 * M_PI*(l0*time.at(i)*uz + z.at(i).at(j)*zNodes)) / pow(zNodes, (real)2.0)) - amplitude*pow(zNodes, (real)4.0)*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*uz + z.at(i).at(j)*zNodes)) / pow(zNodes, (real)2.0)), (real)2.0))) / ((real)2.0*exp(((real)8.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)4.0)*pow(zNodes, (real)2.0));
+            rho.at(i).at(j) = (amplitude*pow(l0, (real)2.0)*rho0*(amplitude*pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)*pow(cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes), (real)2.0) - (real)4.0 * exp(((real)4.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*uz*pow(xNodes, (real)2.0)*(pow(xNodes, (real)2.0) - pow(zNodes, (real)2.0))*cos(((real)2.0 * M_PI*x.at(i).at(j)) / xNodes)*sin(((real)2.0 * M_PI*(l0*time.at(i)*uz + z.at(i).at(j)*zNodes)) / pow(zNodes, (real)2.0)) - amplitude*pow(zNodes, (real)4.0)*pow(sin(((real)2.0 * M_PI*(l0*time.at(i)*uz + z.at(i).at(j)*zNodes)) / pow(zNodes, (real)2.0)), (real)2.0))) / ((real)2.0*exp(((real)8.0 * pow(M_PI, (real)2.0)*time.at(i)*viscosity*(pow(xNodes, (real)2.0) + pow(zNodes, (real)2.0))) / (pow(xNodes, (real)2.0)*pow(zNodes, (real)2.0)))*pow(xNodes, (real)4.0)*pow(zNodes, (real)2.0));
+        }
+    }
+    calculated = true;
 }
 
 AnalyticalResultsTaylorGreenUz::AnalyticalResultsTaylorGreenUz(double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct) : AnalyticalResultsImp(simParaStruct->l0)
 {
-	this->viscosity = viscosity;
-	this->uz = simParaStruct->uz;
-	this->amplitude = simParaStruct->amplitude;
-	this->l0 = simParaStruct->l0;
-	this->rho0 = simParaStruct->rho0;
+    this->viscosity = viscosity;
+    this->uz = simParaStruct->uz;
+    this->amplitude = simParaStruct->amplitude;
+    this->l0 = simParaStruct->l0;
+    this->rho0 = simParaStruct->rho0;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUz.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUz.h
index 1ba96c52b0b3f360c917c1582b30faad22a756d9..0b40d7768021d7d9e08e28d5f9f3bbc1e074580b 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUz.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/AnalyticalResults/AnalyticalResultsTaylorGreenVortexUz.h
@@ -8,16 +8,16 @@ struct TaylorGreenVortexUzParameterStruct;
 class AnalyticalResultsTaylorGreenUz : public AnalyticalResultsImp
 {
 public:
-	static std::shared_ptr<AnalyticalResults> getNewInstance(double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct);
-	void calc(std::shared_ptr<SimulationResults> simResults);
+    static std::shared_ptr<AnalyticalResults> getNewInstance(double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct);
+    void calc(std::shared_ptr<SimulationResults> simResults);
 
 
 private:
-	AnalyticalResultsTaylorGreenUz();
-	AnalyticalResultsTaylorGreenUz(double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct);
+    AnalyticalResultsTaylorGreenUz();
+    AnalyticalResultsTaylorGreenUz(double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct);
 
-	double viscosity, rho0;
-	double l0;
-	double uz, amplitude; 
+    double viscosity, rho0;
+    double l0;
+    double uz, amplitude; 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.cpp
index fb544b089efb607d5b0d904d5dc232f521b45e6c..a85d20601808c4ddfe74396d7fc4a067fa236436 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.cpp
@@ -8,70 +8,70 @@
 
 InitialConditionTaylorGreenUz::InitialConditionTaylorGreenUz(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct)
 {
-	this->amp = simParaStruct->amplitude;
-	this->l0 = simParaStruct->l0;
-	this->lx = gridInfoStruct->lx;
-	this->lz = gridInfoStruct->lz;
-	this->rho = simParaStruct->rho0;
-	this->uz = simParaStruct->uz;
+    this->amp = simParaStruct->amplitude;
+    this->l0 = simParaStruct->l0;
+    this->lx = gridInfoStruct->lx;
+    this->lz = gridInfoStruct->lz;
+    this->rho = simParaStruct->rho0;
+    this->uz = simParaStruct->uz;
 }
 
 std::shared_ptr<InitialConditionTaylorGreenUz> InitialConditionTaylorGreenUz::getNewInstance(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct)
 {
-	return std::shared_ptr<InitialConditionTaylorGreenUz>(new InitialConditionTaylorGreenUz(simParaStruct, gridInfoStruct));
+    return std::shared_ptr<InitialConditionTaylorGreenUz>(new InitialConditionTaylorGreenUz(simParaStruct, gridInfoStruct));
 }
 
 real InitialConditionTaylorGreenUz::getInitVX(int i, int level)
 {
-	real x = getXCoord(i, level);
-	real y = getYCoord(i, level);
-	real z = getZCoord(i, level);
-	if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
-	{
-		real vx = (amp * l0 * cos((real)2.0 * M_PI * z / lz) * sin((real)2.0 * M_PI * x / lx) / lx);
-		return vx;
-	}
-	else
-		return (real)0.0;
+    real x = getXCoord(i, level);
+    real y = getYCoord(i, level);
+    real z = getZCoord(i, level);
+    if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
+    {
+        real vx = (amp * l0 * cos((real)2.0 * M_PI * z / lz) * sin((real)2.0 * M_PI * x / lx) / lx);
+        return vx;
+    }
+    else
+        return (real)0.0;
 
 }
 
 real InitialConditionTaylorGreenUz::getInitVY(int i, int level)
 {
-	return (real) 0.0;
+    return (real) 0.0;
 }
 
 real InitialConditionTaylorGreenUz::getInitVZ(int i, int level)
 {
-	real x = getXCoord(i, level);
-	real y = getYCoord(i, level);
-	real z = getZCoord(i, level);
-	if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
-	{
-		real vz = (uz* l0 / lz) - (amp * l0 * lz * cos((real)2.0 * M_PI * x / lx) * sin((real)2.0 * M_PI * z / lz) / (lx*lx));
-		return vz;
-	}
-	else
-		return (real) 0.0;
+    real x = getXCoord(i, level);
+    real y = getYCoord(i, level);
+    real z = getZCoord(i, level);
+    if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
+    {
+        real vz = (uz* l0 / lz) - (amp * l0 * lz * cos((real)2.0 * M_PI * x / lx) * sin((real)2.0 * M_PI * z / lz) / (lx*lx));
+        return vz;
+    }
+    else
+        return (real) 0.0;
 }
 
 real InitialConditionTaylorGreenUz::getInitROH(int i, int level)
 {
-	real x = getXCoord(i, level);
-	real y = getYCoord(i, level);
-	real z = getZCoord(i, level);
-	if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
-	{
-		real press = (amp*pow(l0, (real)2.0)*rho*(amp*pow(lx, (real)2.0)*pow(lz, (real)2.0)*pow(cos(((real)2.0 * M_PI*x) / lx), (real)2.0) - (real)4.0 * pow(lx, (real)2.0)*(pow(lx, (real)2.0) - pow(lz, (real)2.0))*uz*cos(((real)2.0 * M_PI*x) / lx)*sin(((real)2.0 * M_PI*z) / lz) - amp*pow(lz, (real)4.0)*pow(sin(((real)2.0 * M_PI*z) / lz), (real)2.0))) / ((real)2.0*pow(lx, (real)4.0)*pow(lz, (real)2.0));
-		real rho = (real)3.0 * press;
-		return rho;
-	}
-	else
-		return (real) 0.0;
+    real x = getXCoord(i, level);
+    real y = getYCoord(i, level);
+    real z = getZCoord(i, level);
+    if ((i != 0) && (x != XCoordStopNode) && (y != YCoordStopNode) && (z != ZCoordStopNode))
+    {
+        real press = (amp*pow(l0, (real)2.0)*rho*(amp*pow(lx, (real)2.0)*pow(lz, (real)2.0)*pow(cos(((real)2.0 * M_PI*x) / lx), (real)2.0) - (real)4.0 * pow(lx, (real)2.0)*(pow(lx, (real)2.0) - pow(lz, (real)2.0))*uz*cos(((real)2.0 * M_PI*x) / lx)*sin(((real)2.0 * M_PI*z) / lz) - amp*pow(lz, (real)4.0)*pow(sin(((real)2.0 * M_PI*z) / lz), (real)2.0))) / ((real)2.0*pow(lx, (real)4.0)*pow(lz, (real)2.0));
+        real rho = (real)3.0 * press;
+        return rho;
+    }
+    else
+        return (real) 0.0;
 }
 
 real InitialConditionTaylorGreenUz::getInitPRESS(int i, int level)
 {
-	//nicht benötigt, da Druck aus Dichte berechnet wird
-	return (real) 0.0;
+    //nicht ben�tigt, da Druck aus Dichte berechnet wird
+    return (real) 0.0;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.h
index 70f85b42ec501924c536b1eb7c766525815bc5b8..547d788fd3a5d0c7ccb639ad7528ba1947630be5 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/InitialConditions/InitialConditionTaylorGreenVortexUz.h
@@ -11,23 +11,23 @@ struct GridInformationStruct;
 class InitialConditionTaylorGreenUz :public InitialConditionImp
 {
 public:
-	static std::shared_ptr<InitialConditionTaylorGreenUz> getNewInstance(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct);
+    static std::shared_ptr<InitialConditionTaylorGreenUz> getNewInstance(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct);
 
-	real getInitVX(int i, int level);
-	real getInitVY(int i, int level);
-	real getInitVZ(int i, int level);
-	real getInitROH(int i, int level);
-	real getInitPRESS(int i, int level);
+    real getInitVX(int i, int level);
+    real getInitVY(int i, int level);
+    real getInitVZ(int i, int level);
+    real getInitROH(int i, int level);
+    real getInitPRESS(int i, int level);
 
 private:
-	InitialConditionTaylorGreenUz(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct);
-	InitialConditionTaylorGreenUz() {};
-
-	real amp;
-	real rho;
-	real l0;
-	real lx, lz;
-	real uz;
+    InitialConditionTaylorGreenUz(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct);
+    InitialConditionTaylorGreenUz() {};
+
+    real amp;
+    real rho;
+    real l0;
+    real lx, lz;
+    real uz;
 };
 
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/LogFileInformation/LogFileInformationTaylorGreenVortexUz.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/LogFileInformation/LogFileInformationTaylorGreenVortexUz.cpp
index d055163d779e00c07a437571fac467d5b999ee68..ce14660787d5bc5eeb6e5444f405c9c42dd1fad5 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/LogFileInformation/LogFileInformationTaylorGreenVortexUz.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/LogFileInformation/LogFileInformationTaylorGreenVortexUz.cpp
@@ -4,50 +4,50 @@
 
 std::shared_ptr<LogFileInformationTaylorGreenUz> LogFileInformationTaylorGreenUz::getNewInstance(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
-	return std::shared_ptr<LogFileInformationTaylorGreenUz>(new LogFileInformationTaylorGreenUz(simParaStruct, gridInfoStruct));
+    return std::shared_ptr<LogFileInformationTaylorGreenUz>(new LogFileInformationTaylorGreenUz(simParaStruct, gridInfoStruct));
 }
 
 std::string LogFileInformationTaylorGreenUz::getOutput()
 {
-	makeCenterHead("TaylorGreenVortex V0 Information");
-	oss << "SimulationName=TaylorGreenVortexUz" << std::endl;
-	oss << "Lx=\"";
-	for (int i = 0; i < lx.size(); i++) {
-		oss << lx.at(i);
-		if (i < lx.size() - 1)
-			oss << " ";
-		else
-			oss << "\"" << std::endl << std::endl;
-	}
+    makeCenterHead("TaylorGreenVortex V0 Information");
+    oss << "SimulationName=TaylorGreenVortexUz" << std::endl;
+    oss << "Lx=\"";
+    for (int i = 0; i < lx.size(); i++) {
+        oss << lx.at(i);
+        if (i < lx.size() - 1)
+            oss << " ";
+        else
+            oss << "\"" << std::endl << std::endl;
+    }
 
-	for (int i = 0; i < lz.size(); i++) {
-		oss << "l0_" << lx.at(i) << "=" << l0 << std::endl;
-		oss << "uz_" << lx.at(i) << "=" << uz / (lz.at(i) / l0) << std::endl;
-		oss << "Amplitude_" << lx.at(i) << "=" << amplitude / (lz.at(i) / l0) << std::endl;
-		oss << std::endl;
-	}
-	
-	return oss.str();
+    for (int i = 0; i < lz.size(); i++) {
+        oss << "l0_" << lx.at(i) << "=" << l0 << std::endl;
+        oss << "uz_" << lx.at(i) << "=" << uz / (lz.at(i) / l0) << std::endl;
+        oss << "Amplitude_" << lx.at(i) << "=" << amplitude / (lz.at(i) / l0) << std::endl;
+        oss << std::endl;
+    }
+    
+    return oss.str();
 }
 
 std::vector<std::string> LogFileInformationTaylorGreenUz::getFilePathExtension()
 {
-	std::vector<std::string> myFilePath;
-	myFilePath.push_back("TaylorGreenVortexUz");
-	std::ostringstream oss;
-	oss << "uz_" << uz << "_Amplitude_" << amplitude;
-	myFilePath.push_back(oss.str());
-	return myFilePath;
+    std::vector<std::string> myFilePath;
+    myFilePath.push_back("TaylorGreenVortexUz");
+    std::ostringstream oss;
+    oss << "uz_" << uz << "_Amplitude_" << amplitude;
+    myFilePath.push_back(oss.str());
+    return myFilePath;
 }
 
 LogFileInformationTaylorGreenUz::LogFileInformationTaylorGreenUz(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
-	this->uz = simParaStruct->uz;
-	this->amplitude = simParaStruct->amplitude;
-	this->l0 = simParaStruct->l0;
+    this->uz = simParaStruct->uz;
+    this->amplitude = simParaStruct->amplitude;
+    this->l0 = simParaStruct->l0;
 
-	for (int i = 0; i < gridInfoStruct.size(); i++)
-		lz.push_back(gridInfoStruct.at(i)->lz);
-	for (int i = 0; i < gridInfoStruct.size(); i++)
-		lx.push_back(gridInfoStruct.at(i)->lx);
+    for (int i = 0; i < gridInfoStruct.size(); i++)
+        lz.push_back(gridInfoStruct.at(i)->lz);
+    for (int i = 0; i < gridInfoStruct.size(); i++)
+        lx.push_back(gridInfoStruct.at(i)->lx);
 }
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/LogFileInformation/LogFileInformationTaylorGreenVortexUz.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/LogFileInformation/LogFileInformationTaylorGreenVortexUz.h
index cd58857ae15464d517bf43318cb8dfd3b57cdbb2..0ff3044dea743c5a1b704a3212ffb7ea8905d9de 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/LogFileInformation/LogFileInformationTaylorGreenVortexUz.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/LogFileInformation/LogFileInformationTaylorGreenVortexUz.h
@@ -13,19 +13,19 @@ struct GridInformationStruct;
 class LogFileInformationTaylorGreenUz : public SimulationLogFileInformation
 {
 public:
-	static std::shared_ptr<LogFileInformationTaylorGreenUz> getNewInstance(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
-	
-	std::string getOutput();
-	std::vector<std::string> getFilePathExtension();
+    static std::shared_ptr<LogFileInformationTaylorGreenUz> getNewInstance(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
+    
+    std::string getOutput();
+    std::vector<std::string> getFilePathExtension();
 
 private:
-	LogFileInformationTaylorGreenUz() {};
-	LogFileInformationTaylorGreenUz(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
+    LogFileInformationTaylorGreenUz() {};
+    LogFileInformationTaylorGreenUz(std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
 
-	double uz;
-	double amplitude;
-	std::vector<double> lz;
-	std::vector<double> lx;
-	int l0;
+    double uz;
+    double amplitude;
+    std::vector<double> lz;
+    std::vector<double> lx;
+    int l0;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationInfo/SimulationInfoTaylorGreenVortexUz.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationInfo/SimulationInfoTaylorGreenVortexUz.cpp
index c4ca53febacf4c7d596b4a2b71a67deecc2f3749..261b3bb2ef4f01e42fca0ce8949884704fd7d83e 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationInfo/SimulationInfoTaylorGreenVortexUz.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationInfo/SimulationInfoTaylorGreenVortexUz.cpp
@@ -7,13 +7,13 @@
 
 std::shared_ptr<SimulationInfoTaylorGreenUz> SimulationInfoTaylorGreenUz::getNewInstance(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations)
 {
-	return std::shared_ptr<SimulationInfoTaylorGreenUz>(new SimulationInfoTaylorGreenUz(simID, kernel, viscosity, simParaStruct, gridInfoStruct, numberOfSimulations));
+    return std::shared_ptr<SimulationInfoTaylorGreenUz>(new SimulationInfoTaylorGreenUz(simID, kernel, viscosity, simParaStruct, gridInfoStruct, numberOfSimulations));
 }
 
 SimulationInfoTaylorGreenUz::SimulationInfoTaylorGreenUz(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations)
-	: SimulationInfoImp(simID, kernel, viscosity, gridInfoStruct->lx, numberOfSimulations, "TaylorGreenVortex Uz", simParaStruct->dataToCalcTests)
+    : SimulationInfoImp(simID, kernel, viscosity, gridInfoStruct->lx, numberOfSimulations, "TaylorGreenVortex Uz", simParaStruct->dataToCalcTests)
 {
-	std::ostringstream oss;
-	oss << " uz: " << simParaStruct->uz / (gridInfoStruct->lz / simParaStruct->l0) << " Amplitude: " << simParaStruct->amplitude / (gridInfoStruct->lz / simParaStruct->l0);
-	this->simulationParameterString = oss.str();
+    std::ostringstream oss;
+    oss << " uz: " << simParaStruct->uz / (gridInfoStruct->lz / simParaStruct->l0) << " Amplitude: " << simParaStruct->amplitude / (gridInfoStruct->lz / simParaStruct->l0);
+    this->simulationParameterString = oss.str();
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationInfo/SimulationInfoTaylorGreenVortexUz.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationInfo/SimulationInfoTaylorGreenVortexUz.h
index 8e8c4422087ee57462b7fbc3b802070c4acfb9a7..5b28ac6044454b9722b5c712fa6a009f640dd02d 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationInfo/SimulationInfoTaylorGreenVortexUz.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationInfo/SimulationInfoTaylorGreenVortexUz.h
@@ -13,11 +13,11 @@ struct GridInformationStruct;
 class SimulationInfoTaylorGreenUz : public SimulationInfoImp
 {
 public:
-	static std::shared_ptr<SimulationInfoTaylorGreenUz> getNewInstance(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
+    static std::shared_ptr<SimulationInfoTaylorGreenUz> getNewInstance(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
 
 private:
-	SimulationInfoTaylorGreenUz() {};
-	SimulationInfoTaylorGreenUz(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
-	
+    SimulationInfoTaylorGreenUz() {};
+    SimulationInfoTaylorGreenUz(int simID, std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::shared_ptr<GridInformationStruct> gridInfoStruct, int numberOfSimulations);
+    
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.cpp b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.cpp
index ab1914db38284bf370c396bf37e990dbf66c210a..847eba96be6a5cf00a40092e1fcdc5f3f6bc5d73 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.cpp
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.cpp
@@ -7,19 +7,19 @@
 
 std::shared_ptr<SimulationParameterTaylorGreenUz> SimulationParameterTaylorGreenUz::getNewInstance(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo)
 {
-	return std::shared_ptr<SimulationParameterTaylorGreenUz>(new SimulationParameterTaylorGreenUz(kernel, viscosity, tgvParameterStruct, gridInfo));
+    return std::shared_ptr<SimulationParameterTaylorGreenUz>(new SimulationParameterTaylorGreenUz(kernel, viscosity, tgvParameterStruct, gridInfo));
 }
 
 SimulationParameterTaylorGreenUz::SimulationParameterTaylorGreenUz(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo)
 :SimulationParameterImp(kernel, viscosity, tgvParameterStruct->basicSimulationParameter, gridInfo)
 {
-	this->timeStepLength = tgvParameterStruct->basicTimeStepLength * (gridInfo->lz / l0)*(gridInfo->lz / l0);
-	this->maxVelocity = tgvParameterStruct->uz / (lz / l0);
+    this->timeStepLength = tgvParameterStruct->basicTimeStepLength * (gridInfo->lz / l0)*(gridInfo->lz / l0);
+    this->maxVelocity = tgvParameterStruct->uz / (lz / l0);
 
-	std::string kernelName = kernel;
+    std::string kernelName = kernel;
 
-	std::ostringstream oss;
-	oss << tgvParameterStruct->vtkFilePath << "/TaylorGreenVortex Uz/Viscosity_" << viscosity << "/uz_" << tgvParameterStruct->uz << "_amplitude_" << tgvParameterStruct->amplitude << "/" << kernelName << "/grid" << lx;
-	generateFileDirectionInMyStystem(oss.str());
-	this->filePath = oss.str();
+    std::ostringstream oss;
+    oss << tgvParameterStruct->vtkFilePath << "/TaylorGreenVortex Uz/Viscosity_" << viscosity << "/uz_" << tgvParameterStruct->uz << "_amplitude_" << tgvParameterStruct->amplitude << "/" << kernelName << "/grid" << lx;
+    generateFileDirectionInMyStystem(oss.str());
+    this->filePath = oss.str();
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.h
index 6fd025549c8ec5638fe97ca52819a8677a55f69b..a18e8f16675523e2dc2b780e928bc4dd762f06ac 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/SimulationParameter/SimulationParameterTaylorGreenVortexUz.h
@@ -12,10 +12,10 @@ struct GridInformationStruct;
 class SimulationParameterTaylorGreenUz : public SimulationParameterImp
 {
 public:
-	static std::shared_ptr<SimulationParameterTaylorGreenUz> getNewInstance(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
-	
+    static std::shared_ptr<SimulationParameterTaylorGreenUz> getNewInstance(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
+    
 protected:
-	SimulationParameterTaylorGreenUz(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
+    SimulationParameterTaylorGreenUz(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> tgvParameterStruct, std::shared_ptr<GridInformationStruct> gridInfo);
 
 };
 #endif 
diff --git a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/TaylorGreenVortexUzParameterStruct.h b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/TaylorGreenVortexUzParameterStruct.h
index 2adcb573097c8decdbab30429bc18cbe7dcad1f7..6b95254e96c129a702e44036a596a67e33503a9e 100644
--- a/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/TaylorGreenVortexUzParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Simulations/TaylorGreenVortexUz/TaylorGreenVortexUzParameterStruct.h
@@ -8,14 +8,14 @@
 
 struct TaylorGreenVortexUzParameterStruct
 {
-	std::shared_ptr<BasicSimulationParameterStruct> basicSimulationParameter;
+    std::shared_ptr<BasicSimulationParameterStruct> basicSimulationParameter;
 
-	double uz;
-	double amplitude;
-	int basicTimeStepLength;
-	double l0;
-	double rho0;
-	std::string vtkFilePath;
-	std::vector<std::string> dataToCalcTests;
+    double uz;
+    double amplitude;
+    int basicTimeStepLength;
+    double l0;
+    double rho0;
+    std::string vtkFilePath;
+    std::vector<std::string> dataToCalcTests;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTest.cpp b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTest.cpp
index 1549c97834ae0f760494d77c3082a5c3037f0ae0..150fff05476c0038aa4bf2fee2acc2eabfc0cd8c 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTest.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTest.cpp
@@ -11,145 +11,145 @@
 
 std::shared_ptr<L2NormTest> L2NormTest::getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::string dataToCalculate, double maxL2NormDiff, std::string normalizeData)
 {
-	return std::shared_ptr<L2NormTest>(new L2NormTest(colorOutput, testParameter, dataToCalculate, maxL2NormDiff, normalizeData));
+    return std::shared_ptr<L2NormTest>(new L2NormTest(colorOutput, testParameter, dataToCalculate, maxL2NormDiff, normalizeData));
 }
 
 void L2NormTest::update()
 {
-	TestImp::update();
+    TestImp::update();
 }
 
 void L2NormTest::addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<L2NormPostProcessingStrategy> postProStrategy)
 {
-	TestImp::addSimulation(sim, simInfo, postProStrategy);
-	l2NormPostProStrategies.push_back(postProStrategy);
+    TestImp::addSimulation(sim, simInfo, postProStrategy);
+    l2NormPostProStrategies.push_back(postProStrategy);
 }
 
 void L2NormTest::evaluate()
 {
-	std::vector<double> results = l2NormPostProStrategies.at(0)->getL2Norm(dataToCalculate, normalizeData);
-		
-	resultBasicTimestep = results.at(0);
-	resultDivergentTimeStep = results.at(1);
-	diffL2Norm = resultDivergentTimeStep - resultBasicTimestep;
-
-	if (resultBasicTimestep < 0 || resultDivergentTimeStep < 0) {
-		testStatus = test_error;
-	}
-	else
-	{
-		testPassed = maxL2NormDiff > diffL2Norm;
-		if (testPassed)
-			testStatus = passed;
-		else
-			testStatus = failed;
-	}
-	
-	makeConsoleOutput();
+    std::vector<double> results = l2NormPostProStrategies.at(0)->getL2Norm(dataToCalculate, normalizeData);
+        
+    resultBasicTimestep = results.at(0);
+    resultDivergentTimeStep = results.at(1);
+    diffL2Norm = resultDivergentTimeStep - resultBasicTimestep;
+
+    if (resultBasicTimestep < 0 || resultDivergentTimeStep < 0) {
+        testStatus = test_error;
+    }
+    else
+    {
+        testPassed = maxL2NormDiff > diffL2Norm;
+        if (testPassed)
+            testStatus = passed;
+        else
+            testStatus = failed;
+    }
+    
+    makeConsoleOutput();
 }
 
 std::string L2NormTest::getLogFileOutput()
 {
-	std::ostringstream oss;
-	oss << "L2Norm_BasicTimeStep_L" << l2NormPostProStrategies.at(0)->getNumberOfXNodes() << "_" << dataToCalculate << "_" << normalizeData << "=" << resultBasicTimestep << std::endl;
-	oss << "L2Norm_DivergentTimeStep_L" << l2NormPostProStrategies.at(0)->getNumberOfXNodes() << "_" << dataToCalculate << "_" << normalizeData << "=" << resultDivergentTimeStep << std::endl;
-	oss << "L2Norm_Diff_L" << l2NormPostProStrategies.at(0)->getNumberOfXNodes() << "_" << dataToCalculate << "_" << normalizeData << "=" << diffL2Norm << std::endl << std::endl;
-	return oss.str();
+    std::ostringstream oss;
+    oss << "L2Norm_BasicTimeStep_L" << l2NormPostProStrategies.at(0)->getNumberOfXNodes() << "_" << dataToCalculate << "_" << normalizeData << "=" << resultBasicTimestep << std::endl;
+    oss << "L2Norm_DivergentTimeStep_L" << l2NormPostProStrategies.at(0)->getNumberOfXNodes() << "_" << dataToCalculate << "_" << normalizeData << "=" << resultDivergentTimeStep << std::endl;
+    oss << "L2Norm_Diff_L" << l2NormPostProStrategies.at(0)->getNumberOfXNodes() << "_" << dataToCalculate << "_" << normalizeData << "=" << diffL2Norm << std::endl << std::endl;
+    return oss.str();
 }
 
 std::string L2NormTest::getErrorLogFileOutput()
 {
-	std::ostringstream oss;
-	oss << "L" << l2NormPostProStrategies.at(0)->getNumberOfXNodes() << "_" << dataToCalculate << "_" << normalizeData;
-	return oss.str();
+    std::ostringstream oss;
+    oss << "L" << l2NormPostProStrategies.at(0)->getNumberOfXNodes() << "_" << dataToCalculate << "_" << normalizeData;
+    return oss.str();
 }
 
 L2NormTest::L2NormTest(std::shared_ptr<ColorConsoleOutput> colorOutput, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::string dataToCalculate, double maxL2NormDiff, std::string normalizeData)
-	: TestImp(colorOutput), dataToCalculate(dataToCalculate), normalizeData(normalizeData)
+    : TestImp(colorOutput), dataToCalculate(dataToCalculate), normalizeData(normalizeData)
 {
-	basicTimeStep = testParameter->basicTimeStep;
-	divergentTimeStep = testParameter->divergentTimeStep;
-	this->maxL2NormDiff = maxL2NormDiff;
+    basicTimeStep = testParameter->basicTimeStep;
+    divergentTimeStep = testParameter->divergentTimeStep;
+    this->maxL2NormDiff = maxL2NormDiff;
 }
 
 std::vector<std::string> L2NormTest::buildTestOutput()
 {
-	std::vector<std::string> output = buildBasicTestOutput();
-	std::ostringstream oss;
+    std::vector<std::string> output = buildBasicTestOutput();
+    std::ostringstream oss;
 
-	oss << "L2Norm BasicTimeStep: " << resultBasicTimestep;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "L2Norm BasicTimeStep: " << resultBasicTimestep;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "L2Norm DivergentTimeStep: " << resultDivergentTimeStep;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "L2Norm DivergentTimeStep: " << resultDivergentTimeStep;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "L2NormDiff: " << diffL2Norm;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "L2NormDiff: " << diffL2Norm;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	return output;
+    return output;
 }
 
 std::vector<std::string> L2NormTest::buildBasicTestOutput()
 {
-	std::vector<std::string> output;
-	std::ostringstream oss;
+    std::vector<std::string> output;
+    std::ostringstream oss;
 
-	output.push_back("L2 Norm Test");
+    output.push_back("L2 Norm Test");
 
-	oss << "Kernel: " << simInfos.at(0)->getKernelName();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Kernel: " << simInfos.at(0)->getKernelName();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "Viscosity: " << simInfos.at(0)->getViscosity();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Viscosity: " << simInfos.at(0)->getViscosity();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	oss << simInfos.at(0)->getSimulationName();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << simInfos.at(0)->getSimulationName();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "L: " << simInfos.at(0)->getLx() << simInfos.at(0)->getSimulationParameterString();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "L: " << simInfos.at(0)->getLx() << simInfos.at(0)->getSimulationParameterString();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	oss << "DataToCalculate: " << dataToCalculate;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "DataToCalculate: " << dataToCalculate;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "NormalizeData: " << normalizeData;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "NormalizeData: " << normalizeData;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	oss << "BasicTimeStep: " << basicTimeStep;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "BasicTimeStep: " << basicTimeStep;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "DivergentTimeStep: " << divergentTimeStep;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "DivergentTimeStep: " << divergentTimeStep;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	return output;
+    return output;
 }
 
 std::vector<std::string> L2NormTest::buildErrorTestOutput()
 {
-	std::vector<std::string> output = buildBasicTestOutput();
-	std::ostringstream oss;
+    std::vector<std::string> output = buildBasicTestOutput();
+    std::ostringstream oss;
 
-	oss << "Error Message: " << l2NormPostProStrategies.at(0)->getErrorMessage(normalizeData);
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Error Message: " << l2NormPostProStrategies.at(0)->getErrorMessage(normalizeData);
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	return output;
+    return output;
 }
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTest.h b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTest.h
index 2f83c03c9c20ac669cc478dcdb9e924390da2f8e..060b9bd0d61ef72d378a45668ee2fd988d4a86e0 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTest.h
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTest.h
@@ -14,31 +14,31 @@ struct L2NormTestParameterStruct;
 class L2NormTest : public TestImp
 {
 public:
-	static std::shared_ptr<L2NormTest> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::string dataToCalculate, double maxL2NormDiff, std::string normalizeData);
+    static std::shared_ptr<L2NormTest> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::string dataToCalculate, double maxL2NormDiff, std::string normalizeData);
 
-	void update();
-	void addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<L2NormPostProcessingStrategy> postProStrategy);
+    void update();
+    void addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<L2NormPostProcessingStrategy> postProStrategy);
 
-	void evaluate();
-	std::string getLogFileOutput();
-	std::string getErrorLogFileOutput();
+    void evaluate();
+    std::string getLogFileOutput();
+    std::string getErrorLogFileOutput();
 
 private:
-	L2NormTest(std::shared_ptr<ColorConsoleOutput> colorOutput, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::string dataToCalculate, double maxL2NormDiff, std::string normalizeData);
-	std::vector<std::string> buildTestOutput();
-	std::vector<std::string> buildBasicTestOutput();
-	std::vector<std::string> buildErrorTestOutput();
+    L2NormTest(std::shared_ptr<ColorConsoleOutput> colorOutput, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::string dataToCalculate, double maxL2NormDiff, std::string normalizeData);
+    std::vector<std::string> buildTestOutput();
+    std::vector<std::string> buildBasicTestOutput();
+    std::vector<std::string> buildErrorTestOutput();
 
 
-	unsigned int basicTimeStep, divergentTimeStep;
-	double resultBasicTimestep, resultDivergentTimeStep;
-	std::string dataToCalculate;
-	double diffL2Norm;
-	double maxL2NormDiff;
-	bool testPassed;
+    unsigned int basicTimeStep, divergentTimeStep;
+    double resultBasicTimestep, resultDivergentTimeStep;
+    std::string dataToCalculate;
+    double diffL2Norm;
+    double maxL2NormDiff;
+    bool testPassed;
 
-	std::string normalizeData;
+    std::string normalizeData;
 
-	std::vector<std::shared_ptr<L2NormPostProcessingStrategy> > l2NormPostProStrategies;
+    std::vector<std::shared_ptr<L2NormPostProcessingStrategy> > l2NormPostProStrategies;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTestParameterStruct.h b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTestParameterStruct.h
index dbcfb6637234c7697137ff2dcf964d76f2fba83c..439c46e039acc3f96480ff606ed3a79289f64455 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTestParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/L2NormTestParameterStruct.h
@@ -7,13 +7,13 @@
 
 struct L2NormTestParameterStruct
 {
-	std::shared_ptr<BasicTestParameterStruct> basicTestParameter;
+    std::shared_ptr<BasicTestParameterStruct> basicTestParameter;
 
-	std::vector<double> maxDiff;
-	unsigned int basicTimeStep;
-	unsigned int divergentTimeStep;
-	
-	std::vector<std::string> normalizeData;
+    std::vector<double> maxDiff;
+    unsigned int basicTimeStep;
+    unsigned int divergentTimeStep;
+    
+    std::vector<std::string> normalizeData;
 };
 
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/LogFileInformation/L2NormLogFileInformation.cpp b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/LogFileInformation/L2NormLogFileInformation.cpp
index f094ea1e75aeaef2e80356268d4f9d2fde0b4d07..4f3260c42d4dd84df0cb75e6cd8362b87727fea2 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/LogFileInformation/L2NormLogFileInformation.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/LogFileInformation/L2NormLogFileInformation.cpp
@@ -8,56 +8,56 @@
 
 std::shared_ptr<L2NormInformation> L2NormInformation::getNewInstance(std::vector<std::shared_ptr<L2NormTest> > tests, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::vector<std::string> dataToCalcTests)
 {
-	return std::shared_ptr<L2NormInformation>(new L2NormInformation(tests, testParameter, dataToCalcTests));
+    return std::shared_ptr<L2NormInformation>(new L2NormInformation(tests, testParameter, dataToCalcTests));
 }
 
 std::string L2NormInformation::getOutput()
 {
-	std::ostringstream headName;
-	headName << " L2Norm Test";
-	makeCenterHead(headName.str());
+    std::ostringstream headName;
+    headName << " L2Norm Test";
+    makeCenterHead(headName.str());
 
-	oss << "BasicTimeStep_L2Norm=" << basicTimeStep << std::endl;
-	oss << "DivergentTimeStep_L2Norm=" << divergentTimeStep << std::endl;
-	oss << "DataToCalc_L2Norm=\"";
-	for (int i = 0; i < dataToCalc.size(); i++) {
-		oss << dataToCalc.at(i);
-		if (i < dataToCalc.size() - 1)
-			oss << " ";
-		else
-			oss << "\"" << std::endl;
-	}
-	oss << "NormalizeData_L2Norm=\"";
-	for (int i = 0; i < normalizeData.size(); i++) {
-		oss << normalizeData.at(i);
-		if (i < normalizeData.size() - 1)
-			oss << " ";
-		else
-			oss << "\"" << std::endl;
-	}
-	oss << std::endl;
+    oss << "BasicTimeStep_L2Norm=" << basicTimeStep << std::endl;
+    oss << "DivergentTimeStep_L2Norm=" << divergentTimeStep << std::endl;
+    oss << "DataToCalc_L2Norm=\"";
+    for (int i = 0; i < dataToCalc.size(); i++) {
+        oss << dataToCalc.at(i);
+        if (i < dataToCalc.size() - 1)
+            oss << " ";
+        else
+            oss << "\"" << std::endl;
+    }
+    oss << "NormalizeData_L2Norm=\"";
+    for (int i = 0; i < normalizeData.size(); i++) {
+        oss << normalizeData.at(i);
+        if (i < normalizeData.size() - 1)
+            oss << " ";
+        else
+            oss << "\"" << std::endl;
+    }
+    oss << std::endl;
 
-	std::ostringstream failMessage;
-	failMessage << "FailTests_L2Norm=\"";
-	for (int i = 0; i < tests.size(); i++) {
-		if (tests.at(i)->getTestStatus() == passed || tests.at(i)->getTestStatus() == failed)
-			oss << tests.at(i)->getLogFileOutput();
-		if (tests.at(i)->getTestStatus() == test_error || tests.at(i)->getTestStatus() == simulationCrashed)
-			failMessage << tests.at(i)->getErrorLogFileOutput() << " ";
-	}
-	std::string fail = failMessage.str();
-	if(fail.back() == ' ')
-		fail = fail.substr(0, fail.size() - 1);
-	failMessage.str(std::string());
-	failMessage << fail << "\"";
-	oss << failMessage.str() << std::endl << std::endl;		
-		
-	return oss.str();
+    std::ostringstream failMessage;
+    failMessage << "FailTests_L2Norm=\"";
+    for (int i = 0; i < tests.size(); i++) {
+        if (tests.at(i)->getTestStatus() == passed || tests.at(i)->getTestStatus() == failed)
+            oss << tests.at(i)->getLogFileOutput();
+        if (tests.at(i)->getTestStatus() == test_error || tests.at(i)->getTestStatus() == simulationCrashed)
+            failMessage << tests.at(i)->getErrorLogFileOutput() << " ";
+    }
+    std::string fail = failMessage.str();
+    if(fail.back() == ' ')
+        fail = fail.substr(0, fail.size() - 1);
+    failMessage.str(std::string());
+    failMessage << fail << "\"";
+    oss << failMessage.str() << std::endl << std::endl;        
+        
+    return oss.str();
 }
 
 L2NormInformation::L2NormInformation(std::vector<std::shared_ptr<L2NormTest> > tests, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::vector<std::string> dataToCalcTests) : tests(tests), dataToCalc(dataToCalcTests)
 {
-	basicTimeStep = testParameter->basicTimeStep;
-	divergentTimeStep = testParameter->divergentTimeStep;
-	normalizeData = testParameter->normalizeData;
+    basicTimeStep = testParameter->basicTimeStep;
+    divergentTimeStep = testParameter->divergentTimeStep;
+    normalizeData = testParameter->normalizeData;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/LogFileInformation/L2NormLogFileInformation.h b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/LogFileInformation/L2NormLogFileInformation.h
index f2a4bd086421bb32c2b986ac9cb25755697cf27d..fab264dceb1ca3d9e4d9a1ea8395704bf6875b59 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/LogFileInformation/L2NormLogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/LogFileInformation/L2NormLogFileInformation.h
@@ -12,18 +12,18 @@ struct L2NormTestParameterStruct;
 class L2NormInformation : public TestLogFileInformation
 {
 public:
-	static std::shared_ptr<L2NormInformation> getNewInstance(std::vector<std::shared_ptr<L2NormTest> > tests, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::vector<std::string> dataToCalcTests);
+    static std::shared_ptr<L2NormInformation> getNewInstance(std::vector<std::shared_ptr<L2NormTest> > tests, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::vector<std::string> dataToCalcTests);
 
-	std::string getOutput();
+    std::string getOutput();
 
 private:
-	L2NormInformation() {};
-	L2NormInformation(std::vector<std::shared_ptr<L2NormTest> > tests, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::vector<std::string> dataToCalcTests);
+    L2NormInformation() {};
+    L2NormInformation(std::vector<std::shared_ptr<L2NormTest> > tests, std::shared_ptr<L2NormTestParameterStruct> testParameter, std::vector<std::string> dataToCalcTests);
 
-	std::vector<std::shared_ptr<L2NormTest> > tests;
+    std::vector<std::shared_ptr<L2NormTest> > tests;
 
-	unsigned int basicTimeStep, divergentTimeStep;
-	std::vector<std::string> dataToCalc;
-	std::vector<std::string> normalizeData;
+    unsigned int basicTimeStep, divergentTimeStep;
+    std::vector<std::string> dataToCalc;
+    std::vector<std::string> normalizeData;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/PostProcessingStrategy/PostProcessingStrategyL2NormTest.cpp b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/PostProcessingStrategy/PostProcessingStrategyL2NormTest.cpp
index c687a525dc3d69f8ba60348b75ae4633587aab11..665e720c5a1d18324dfd0b7ab99f2203b718a3da 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/PostProcessingStrategy/PostProcessingStrategyL2NormTest.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/PostProcessingStrategy/PostProcessingStrategyL2NormTest.cpp
@@ -10,85 +10,85 @@
 
 std::shared_ptr<L2NormPostProcessingStrategy> L2NormPostProcessingStrategy::getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests)
 {
-	return std::shared_ptr<L2NormPostProcessingStrategy>(new L2NormPostProcessingStrategy(simResult, analyticalResult, testPara, factory, dataToCalcTests));
+    return std::shared_ptr<L2NormPostProcessingStrategy>(new L2NormPostProcessingStrategy(simResult, analyticalResult, testPara, factory, dataToCalcTests));
 }
 
 L2NormPostProcessingStrategy::L2NormPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests)
-	: PostProcessingStrategyImp(simResult), analyticalResult(analyticalResult), dataToCalculate(dataToCalcTests)
+    : PostProcessingStrategyImp(simResult), analyticalResult(analyticalResult), dataToCalculate(dataToCalcTests)
 {
-	isEvaluated = false;
-	basicTimeStep = testPara->basicTimeStep;
-	divergentTimeStep = testPara->divergentTimeStep;
-	normalizeData = testPara->normalizeData;
+    isEvaluated = false;
+    basicTimeStep = testPara->basicTimeStep;
+    divergentTimeStep = testPara->divergentTimeStep;
+    normalizeData = testPara->normalizeData;
 
-	l2NormBasic.resize(dataToCalculate.size());
-	l2NormDivergent.resize(dataToCalculate.size());
-	for (int i = 0; i < l2NormBasic.size(); i++) {
-		l2NormBasic.at(i).resize(normalizeData.size());
-		l2NormDivergent.at(i).resize(normalizeData.size());
-	}
-	
-	for (int i = 0; i < normalizeData.size(); i++)
-		l2Normcalculator.push_back(factory->makeL2NormCalculator(normalizeData.at(i)));
+    l2NormBasic.resize(dataToCalculate.size());
+    l2NormDivergent.resize(dataToCalculate.size());
+    for (int i = 0; i < l2NormBasic.size(); i++) {
+        l2NormBasic.at(i).resize(normalizeData.size());
+        l2NormDivergent.at(i).resize(normalizeData.size());
+    }
+    
+    for (int i = 0; i < normalizeData.size(); i++)
+        l2Normcalculator.push_back(factory->makeL2NormCalculator(normalizeData.at(i)));
 }
 
 void L2NormPostProcessingStrategy::evaluate()
 {
-	if (!isEvaluated) {
-		analyticalResult->calc(simResult);
-		int bS = calcTimeStepInResults(basicTimeStep);
-		int dS = calcTimeStepInResults(divergentTimeStep);
+    if (!isEvaluated) {
+        analyticalResult->calc(simResult);
+        int bS = calcTimeStepInResults(basicTimeStep);
+        int dS = calcTimeStepInResults(divergentTimeStep);
 
-		for (int i = 0; i < dataToCalculate.size(); i++) {
-			for (int j = 0; j < normalizeData.size(); j++) {
-				if (dataToCalculate.at(i) == "Vx") {
-					l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVx().at(bS), simResult->getVx().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-					l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVx().at(dS), simResult->getVx().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-				}
-				if (dataToCalculate.at(i) == "Vy") {
-					l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVy().at(bS), simResult->getVy().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-					l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVy().at(dS), simResult->getVy().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-				}
-				if (dataToCalculate.at(i) == "Vz") {
-					l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVz().at(bS), simResult->getVz().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-					l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVz().at(dS), simResult->getVz().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-				}
-				if (dataToCalculate.at(i) == "Press") {
-					l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getPress().at(bS), simResult->getPress().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-					l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getPress().at(dS), simResult->getPress().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-				}
-				if (dataToCalculate.at(i) == "Rho") {
-					l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getRho().at(bS), simResult->getRho().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-					l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getRho().at(dS), simResult->getRho().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-				}
-			}
-		}
-		isEvaluated = true;
-	}
+        for (int i = 0; i < dataToCalculate.size(); i++) {
+            for (int j = 0; j < normalizeData.size(); j++) {
+                if (dataToCalculate.at(i) == "Vx") {
+                    l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVx().at(bS), simResult->getVx().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                    l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVx().at(dS), simResult->getVx().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                }
+                if (dataToCalculate.at(i) == "Vy") {
+                    l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVy().at(bS), simResult->getVy().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                    l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVy().at(dS), simResult->getVy().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                }
+                if (dataToCalculate.at(i) == "Vz") {
+                    l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVz().at(bS), simResult->getVz().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                    l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getVz().at(dS), simResult->getVz().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                }
+                if (dataToCalculate.at(i) == "Press") {
+                    l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getPress().at(bS), simResult->getPress().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                    l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getPress().at(dS), simResult->getPress().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                }
+                if (dataToCalculate.at(i) == "Rho") {
+                    l2NormBasic.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getRho().at(bS), simResult->getRho().at(bS), simResult->getLevels().at(bS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                    l2NormDivergent.at(i).at(j) = l2Normcalculator.at(j)->calc(analyticalResult->getRho().at(dS), simResult->getRho().at(dS), simResult->getLevels().at(dS), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                }
+            }
+        }
+        isEvaluated = true;
+    }
 }
 
 std::vector<double> L2NormPostProcessingStrategy::getL2Norm(std::string aDataToCalc, std::string aNormalizeData)
 {
-	for (int i = 0; i < dataToCalculate.size(); i++) {
-		for (int j = 0; j < normalizeData.size(); j++) {
-			if (aDataToCalc == dataToCalculate.at(i) && aNormalizeData == normalizeData.at(j)) {
-				std::vector<double> v;
-				v.push_back(l2NormBasic.at(i).at(j));
-				v.push_back(l2NormDivergent.at(i).at(j));
-				return v;
-			}
-		}
-	}
+    for (int i = 0; i < dataToCalculate.size(); i++) {
+        for (int j = 0; j < normalizeData.size(); j++) {
+            if (aDataToCalc == dataToCalculate.at(i) && aNormalizeData == normalizeData.at(j)) {
+                std::vector<double> v;
+                v.push_back(l2NormBasic.at(i).at(j));
+                v.push_back(l2NormDivergent.at(i).at(j));
+                return v;
+            }
+        }
+    }
 
-	return std::vector<double>();
+    return std::vector<double>();
 }
 
 std::string L2NormPostProcessingStrategy::getErrorMessage(std::string aNormalizeData)
 {
-	for (int i = 0; i < normalizeData.size(); i++) {
-		if (aNormalizeData == normalizeData.at(i))
-			return l2Normcalculator.at(i)->getErrorMessage();
-	}
-	
-	return std::string();
+    for (int i = 0; i < normalizeData.size(); i++) {
+        if (aNormalizeData == normalizeData.at(i))
+            return l2Normcalculator.at(i)->getErrorMessage();
+    }
+    
+    return std::string();
 }
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/PostProcessingStrategy/PostProcessingStrategyL2NormTest.h b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/PostProcessingStrategy/PostProcessingStrategyL2NormTest.h
index 59cfc269468b42699af80a4acfb78d4ffc35d69c..ab8c8cffa9d631edf57e3c752120d55b6e1fc788 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTest/PostProcessingStrategy/PostProcessingStrategyL2NormTest.h
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTest/PostProcessingStrategy/PostProcessingStrategyL2NormTest.h
@@ -13,25 +13,25 @@ struct L2NormTestParameterStruct;
 class L2NormPostProcessingStrategy : public PostProcessingStrategyImp
 {
 public:
-	static std::shared_ptr<L2NormPostProcessingStrategy> getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests);
-	void evaluate();
+    static std::shared_ptr<L2NormPostProcessingStrategy> getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests);
+    void evaluate();
 
-	std::vector<double> getL2Norm(std::string dataToCalc, std::string normalizeData);
+    std::vector<double> getL2Norm(std::string dataToCalc, std::string normalizeData);
 
-	std::string getErrorMessage(std::string aNormalizeData);
+    std::string getErrorMessage(std::string aNormalizeData);
 
 private:
-	L2NormPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests);
-	bool isEvaluated;
-
-	std::shared_ptr<AnalyticalResults> analyticalResult;
-	std::vector<std::shared_ptr<L2NormCalculator> > l2Normcalculator;
-	
-	std::vector<std::string> dataToCalculate;
-	std::vector<std::string> normalizeData;
-	unsigned int basicTimeStep;
-	unsigned int divergentTimeStep;
-	std::vector<std::vector<double>> l2NormBasic;
-	std::vector<std::vector<double>> l2NormDivergent;
+    L2NormPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests);
+    bool isEvaluated;
+
+    std::shared_ptr<AnalyticalResults> analyticalResult;
+    std::vector<std::shared_ptr<L2NormCalculator> > l2Normcalculator;
+    
+    std::vector<std::string> dataToCalculate;
+    std::vector<std::string> normalizeData;
+    unsigned int basicTimeStep;
+    unsigned int divergentTimeStep;
+    std::vector<std::vector<double>> l2NormBasic;
+    std::vector<std::vector<double>> l2NormDivergent;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernels.cpp b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernels.cpp
index 07d0d11bea97db6ae37b2480f4137f0ad66e1966..301de70e8191bac6c899887b70fd9dc44046d4c6 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernels.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernels.cpp
@@ -12,176 +12,176 @@
 
 std::shared_ptr<L2NormTestBetweenKernels> L2NormTestBetweenKernels::getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, std::string dataToCalculate, unsigned int timeStep, std::string normalizeWith, std::shared_ptr<L2NormCalculatorFactory> factory)
 {
-	return std::shared_ptr<L2NormTestBetweenKernels>(new L2NormTestBetweenKernels(colorOutput, dataToCalculate, timeStep, normalizeWith, factory));
+    return std::shared_ptr<L2NormTestBetweenKernels>(new L2NormTestBetweenKernels(colorOutput, dataToCalculate, timeStep, normalizeWith, factory));
 }
 
 void L2NormTestBetweenKernels::update()
 {
-	TestImp::update();
+    TestImp::update();
 }
 
 void L2NormTestBetweenKernels::evaluate()
 {
-	basicPostProcessingStrategy->evaluate();
-	divergentPostProcessingStrategy->evaluate();
-
-	int tS = calcTimeStepInResults(timeStep);
-
-	basicL2Result = basicPostProcessingStrategy->getL2Norm(dataToCalculate, normalizeData, timeStep);
-	divergentL2Result = divergentPostProcessingStrategy->getL2Norm(dataToCalculate, normalizeData, timeStep);
-
-	if (dataToCalculate == "Vx") 
-		resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getVx().at(tS), divergentSimResults->getVx().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
-	if (dataToCalculate == "Vy") 
-		resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getVy().at(tS), divergentSimResults->getVy().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
-	if (dataToCalculate == "Vz")
-		resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getVz().at(tS), divergentSimResults->getVz().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
-	if (dataToCalculate == "Press")
-		resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getPress().at(tS), divergentSimResults->getPress().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
-	if (dataToCalculate == "Rho")
-		resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getRho().at(tS), divergentSimResults->getRho().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
-	
-	
-	
-	if (basicL2Result < 0 || divergentL2Result < 0 || resultL2ToBasicKernel < 0)
-		testStatus = test_error;
-	else if (basicL2Result <= divergentL2Result)
-		testStatus = passed;
-	else
-		testStatus = failed;
-
-	makeConsoleOutput();
+    basicPostProcessingStrategy->evaluate();
+    divergentPostProcessingStrategy->evaluate();
+
+    int tS = calcTimeStepInResults(timeStep);
+
+    basicL2Result = basicPostProcessingStrategy->getL2Norm(dataToCalculate, normalizeData, timeStep);
+    divergentL2Result = divergentPostProcessingStrategy->getL2Norm(dataToCalculate, normalizeData, timeStep);
+
+    if (dataToCalculate == "Vx") 
+        resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getVx().at(tS), divergentSimResults->getVx().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
+    if (dataToCalculate == "Vy") 
+        resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getVy().at(tS), divergentSimResults->getVy().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
+    if (dataToCalculate == "Vz")
+        resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getVz().at(tS), divergentSimResults->getVz().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
+    if (dataToCalculate == "Press")
+        resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getPress().at(tS), divergentSimResults->getPress().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
+    if (dataToCalculate == "Rho")
+        resultL2ToBasicKernel = l2Normcalculator->calc(basicSimResults->getRho().at(tS), divergentSimResults->getRho().at(tS), basicSimResults->getLevels().at(tS), basicSimResults->getNumberOfXNodes(), basicSimResults->getNumberOfZNodes(), basicSimResults->getL0());
+    
+    
+    
+    if (basicL2Result < 0 || divergentL2Result < 0 || resultL2ToBasicKernel < 0)
+        testStatus = test_error;
+    else if (basicL2Result <= divergentL2Result)
+        testStatus = passed;
+    else
+        testStatus = failed;
+
+    makeConsoleOutput();
 }
 
 std::string L2NormTestBetweenKernels::getLogFileOutput()
 {
-	std::ostringstream oss;
-	oss << "L2Norm_BasicKernel_"     << "L" << basicPostProcessingStrategy->getNumberOfXNodes() << "_"<< dataToCalculate << "_TimeStep_" << timeStep << "_" << normalizeData << "=" << basicL2Result << std::endl;
-	oss << "L2Norm_DivergentKernel_" << "L" << basicPostProcessingStrategy->getNumberOfXNodes() << "_"<< dataToCalculate << "_TimeStep_" << timeStep << "_" << normalizeData << "=" << divergentL2Result << std::endl;
-	oss << "L2Norm_Between_Kernels_" << "L" << basicPostProcessingStrategy->getNumberOfXNodes() << "_"<< dataToCalculate << "_TimeStep_" << timeStep << "_" << normalizeData << "=" << resultL2ToBasicKernel << std::endl << std::endl;
-	return oss.str();
+    std::ostringstream oss;
+    oss << "L2Norm_BasicKernel_"     << "L" << basicPostProcessingStrategy->getNumberOfXNodes() << "_"<< dataToCalculate << "_TimeStep_" << timeStep << "_" << normalizeData << "=" << basicL2Result << std::endl;
+    oss << "L2Norm_DivergentKernel_" << "L" << basicPostProcessingStrategy->getNumberOfXNodes() << "_"<< dataToCalculate << "_TimeStep_" << timeStep << "_" << normalizeData << "=" << divergentL2Result << std::endl;
+    oss << "L2Norm_Between_Kernels_" << "L" << basicPostProcessingStrategy->getNumberOfXNodes() << "_"<< dataToCalculate << "_TimeStep_" << timeStep << "_" << normalizeData << "=" << resultL2ToBasicKernel << std::endl << std::endl;
+    return oss.str();
 }
 
 std::string L2NormTestBetweenKernels::getErrorLogFileOutput()
 {
-	std::ostringstream oss;
-	oss << "L" << basicPostProcessingStrategy->getNumberOfXNodes() << "_"<< dataToCalculate << "_TimeStep_" << timeStep << "_" << normalizeData;
-	return oss.str();
+    std::ostringstream oss;
+    oss << "L" << basicPostProcessingStrategy->getNumberOfXNodes() << "_"<< dataToCalculate << "_TimeStep_" << timeStep << "_" << normalizeData;
+    return oss.str();
 }
 
 double L2NormTestBetweenKernels::getBasicL2Result()
 {
-	return basicL2Result;
+    return basicL2Result;
 }
 
 void L2NormTestBetweenKernels::setBasicSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> postProcessingStrategy)
 {
-	TestImp::addSimulation(sim, simInfo, postProcessingStrategy);
-	this->basicSim = sim;
-	this->basicSimInfo = simInfo;
-	this->basicPostProcessingStrategy = postProcessingStrategy;
-	this->basicSimResults = basicPostProcessingStrategy->getSimulationResult();
+    TestImp::addSimulation(sim, simInfo, postProcessingStrategy);
+    this->basicSim = sim;
+    this->basicSimInfo = simInfo;
+    this->basicPostProcessingStrategy = postProcessingStrategy;
+    this->basicSimResults = basicPostProcessingStrategy->getSimulationResult();
 }
 
 void L2NormTestBetweenKernels::setDivergentKernelSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> postProcessingStrategy)
 {
-	TestImp::addSimulation(sim, simInfo, postProcessingStrategy);
-	this->divergentSim = sim;
-	this->divergentSimInfo = simInfo;
-	this->divergentPostProcessingStrategy = postProcessingStrategy;
-	this->divergentSimResults = divergentPostProcessingStrategy->getSimulationResult();
+    TestImp::addSimulation(sim, simInfo, postProcessingStrategy);
+    this->divergentSim = sim;
+    this->divergentSimInfo = simInfo;
+    this->divergentPostProcessingStrategy = postProcessingStrategy;
+    this->divergentSimResults = divergentPostProcessingStrategy->getSimulationResult();
 }
 
 L2NormTestBetweenKernels::L2NormTestBetweenKernels(std::shared_ptr<ColorConsoleOutput> colorOutput, std::string dataToCalculate, unsigned int timeStep, std::string normalizeWith, std::shared_ptr<L2NormCalculatorFactory> factory)
-	: TestImp(colorOutput), timeStep(timeStep), dataToCalculate(dataToCalculate), normalizeData(normalizeWith)
+    : TestImp(colorOutput), timeStep(timeStep), dataToCalculate(dataToCalculate), normalizeData(normalizeWith)
 {
-	l2Normcalculator = factory->makeL2NormCalculator(normalizeWith);
+    l2Normcalculator = factory->makeL2NormCalculator(normalizeWith);
 }
 
 int L2NormTestBetweenKernels::calcTimeStepInResults(unsigned int timeStep)
 {
-	for (int i = 0; i < basicSimResults->getTimeSteps().size(); i++) {
-		if (timeStep == basicSimResults->getTimeSteps().at(i))
-			return basicSimResults->getTimeSteps().at(i);
-	}
+    for (int i = 0; i < basicSimResults->getTimeSteps().size(); i++) {
+        if (timeStep == basicSimResults->getTimeSteps().at(i))
+            return basicSimResults->getTimeSteps().at(i);
+    }
 }
 
 std::vector<std::string> L2NormTestBetweenKernels::buildTestOutput()
 {
-	std::vector<std::string> output = buildBasicTestOutput();
-	std::ostringstream oss;
+    std::vector<std::string> output = buildBasicTestOutput();
+    std::ostringstream oss;
 
-	oss << "L2Norm BasicKernel: " << basicL2Result;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "L2Norm BasicKernel: " << basicL2Result;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "L2Norm DivergentKernel: " << divergentL2Result;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "L2Norm DivergentKernel: " << divergentL2Result;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "L2NormDiff: " << resultL2ToBasicKernel;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "L2NormDiff: " << resultL2ToBasicKernel;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	return output;
+    return output;
 }
 
 std::vector<std::string> L2NormTestBetweenKernels::buildBasicTestOutput()
 {
-	std::vector<std::string> output;
-	std::ostringstream oss;
+    std::vector<std::string> output;
+    std::ostringstream oss;
 
-	output.push_back("L2 Norm Between Kernels Test");
+    output.push_back("L2 Norm Between Kernels Test");
 
-	oss << "Basic Kernel: " << basicSimInfo->getKernelName();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Basic Kernel: " << basicSimInfo->getKernelName();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "Divergent Kernel: " << divergentSimInfo->getKernelName();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Divergent Kernel: " << divergentSimInfo->getKernelName();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "Viscosity: " << basicSimInfo->getViscosity();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Viscosity: " << basicSimInfo->getViscosity();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	oss << basicSimInfo->getSimulationName();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << basicSimInfo->getSimulationName();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "L: " << basicSimInfo->getLx() << basicSimInfo->getSimulationParameterString();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "L: " << basicSimInfo->getLx() << basicSimInfo->getSimulationParameterString();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	oss << "DataToCalculate: " << dataToCalculate;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "DataToCalculate: " << dataToCalculate;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "NormalizeData: " << normalizeData;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "NormalizeData: " << normalizeData;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "TimeStep: " << timeStep;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "TimeStep: " << timeStep;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	return output;
+    return output;
 }
 
 std::vector<std::string> L2NormTestBetweenKernels::buildErrorTestOutput()
 {
-	std::vector<std::string> output = buildBasicTestOutput();
-	std::ostringstream oss;
+    std::vector<std::string> output = buildBasicTestOutput();
+    std::ostringstream oss;
 
-	oss << "Error Message: " << basicPostProcessingStrategy->getErrorMessage(normalizeData);
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Error Message: " << basicPostProcessingStrategy->getErrorMessage(normalizeData);
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	return output;
+    return output;
 }
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernels.h b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernels.h
index dff57b6bcc374092805ab9db7f086aeae11c257b..a0283ff1175ba3aaa38bde9f0cab65764bcde3a4 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernels.h
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernels.h
@@ -14,38 +14,38 @@ class SimulationResults;
 class L2NormTestBetweenKernels : public TestImp
 {
 public:
-	static std::shared_ptr<L2NormTestBetweenKernels> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, std::string dataToCalculate, unsigned int timeStep, std::string normalizeWith, std::shared_ptr<L2NormCalculatorFactory> factory);
+    static std::shared_ptr<L2NormTestBetweenKernels> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, std::string dataToCalculate, unsigned int timeStep, std::string normalizeWith, std::shared_ptr<L2NormCalculatorFactory> factory);
 
-	void update();
-	void evaluate();
-	std::string getLogFileOutput();
-	std::string getErrorLogFileOutput();
-	double getBasicL2Result();
+    void update();
+    void evaluate();
+    std::string getLogFileOutput();
+    std::string getErrorLogFileOutput();
+    double getBasicL2Result();
 
-	void setBasicSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> postProcessingStrategy);
-	void setDivergentKernelSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> postProcessingStrategy);
+    void setBasicSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> postProcessingStrategy);
+    void setDivergentKernelSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> postProcessingStrategy);
 
 private:
-	L2NormTestBetweenKernels(std::shared_ptr<ColorConsoleOutput> colorOutput, std::string dataToCalculate, unsigned int timeStep, std::string normalizeWith, std::shared_ptr<L2NormCalculatorFactory> factory);
-	int calcTimeStepInResults(unsigned int timeStep);
-	std::vector<std::string> buildTestOutput();
-	std::vector<std::string> buildBasicTestOutput();
-	std::vector<std::string> buildErrorTestOutput();
-
-	unsigned int timeStep;
-	std::string dataToCalculate;
-	std::shared_ptr<NumericalTestSimulation> basicSim;
-	std::shared_ptr<SimulationInfo> basicSimInfo;
-	std::shared_ptr<SimulationResults> basicSimResults;
-	std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> basicPostProcessingStrategy;
-	double basicL2Result;
-	std::shared_ptr<NumericalTestSimulation> divergentSim;
-	std::shared_ptr<SimulationInfo> divergentSimInfo;
-	std::shared_ptr<SimulationResults> divergentSimResults;
-	std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> divergentPostProcessingStrategy;
-	double divergentL2Result;
-	std::shared_ptr<L2NormCalculator> l2Normcalculator;
-	std::string normalizeData;
-	double resultL2ToBasicKernel;
+    L2NormTestBetweenKernels(std::shared_ptr<ColorConsoleOutput> colorOutput, std::string dataToCalculate, unsigned int timeStep, std::string normalizeWith, std::shared_ptr<L2NormCalculatorFactory> factory);
+    int calcTimeStepInResults(unsigned int timeStep);
+    std::vector<std::string> buildTestOutput();
+    std::vector<std::string> buildBasicTestOutput();
+    std::vector<std::string> buildErrorTestOutput();
+
+    unsigned int timeStep;
+    std::string dataToCalculate;
+    std::shared_ptr<NumericalTestSimulation> basicSim;
+    std::shared_ptr<SimulationInfo> basicSimInfo;
+    std::shared_ptr<SimulationResults> basicSimResults;
+    std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> basicPostProcessingStrategy;
+    double basicL2Result;
+    std::shared_ptr<NumericalTestSimulation> divergentSim;
+    std::shared_ptr<SimulationInfo> divergentSimInfo;
+    std::shared_ptr<SimulationResults> divergentSimResults;
+    std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> divergentPostProcessingStrategy;
+    double divergentL2Result;
+    std::shared_ptr<L2NormCalculator> l2Normcalculator;
+    std::string normalizeData;
+    double resultL2ToBasicKernel;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernelsParameterStruct.h b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernelsParameterStruct.h
index ce32b89274cfc96907a67871ffbff67d833e58bc..8293b718e4da91d78abd182516359f75b6bf4705 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernelsParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/L2NormTestBetweenKernelsParameterStruct.h
@@ -9,14 +9,14 @@
 
 struct L2NormTestBetweenKernelsParameterStruct
 {
-	std::shared_ptr<BasicTestParameterStruct> basicTestParameter;
+    std::shared_ptr<BasicTestParameterStruct> basicTestParameter;
 
-	std::string basicKernel;
+    std::string basicKernel;
 
-	std::vector<std::string> kernelsToTest;
-	std::vector<int> timeSteps;
+    std::vector<std::string> kernelsToTest;
+    std::vector<int> timeSteps;
 
-	std::vector<std::string> normalizeData;
+    std::vector<std::string> normalizeData;
 };
 
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/LogFileInformation/L2NormLogFileInformationBetweenKernels.cpp b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/LogFileInformation/L2NormLogFileInformationBetweenKernels.cpp
index c479b43c7ba06d4c1e851acd6407b819248be86e..c2aeeb28a43d61b6bbf61a57007aa804b897dfec 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/LogFileInformation/L2NormLogFileInformationBetweenKernels.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/LogFileInformation/L2NormLogFileInformationBetweenKernels.cpp
@@ -8,62 +8,62 @@
 
 std::shared_ptr<L2NormBetweenKernelsInformation> L2NormBetweenKernelsInformation::getNewInstance(std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::string> dataToCalcTests)
 {
-	return std::shared_ptr<L2NormBetweenKernelsInformation>(new L2NormBetweenKernelsInformation(tests, testPara, dataToCalcTests));
+    return std::shared_ptr<L2NormBetweenKernelsInformation>(new L2NormBetweenKernelsInformation(tests, testPara, dataToCalcTests));
 }
 
 std::string L2NormBetweenKernelsInformation::getOutput()
 {
-	std::ostringstream headName;
-	headName << "L2Norm Test Between Kernels";
-	makeCenterHead(headName.str());
+    std::ostringstream headName;
+    headName << "L2Norm Test Between Kernels";
+    makeCenterHead(headName.str());
 
-	oss << "BasicKernel_L2Norm_BK=" << basicKernel << std::endl;
-	oss << "DataToCalculate_L2Norm_BK=\"";
-	for (int i = 0; i < dataToCalc.size(); i++)
-		oss << dataToCalc.at(i) << " ";
-	deleteLastCharInOss();
-	oss << "\"" << std::endl;
-	oss << "TimeSteps_L2Norm_BK=\""; 
-	for (int i = 0; i < timeSteps.size(); i++)
-		oss << timeSteps.at(i) << " ";
-	deleteLastCharInOss();
-	oss << "\""<< std::endl << std::endl;
-	oss << "NormalizeWith_L2Norm_BK=\"";
-	for (int i = 0; i < normalizeData.size(); i++)
-		oss << normalizeData.at(i) << " ";
-	deleteLastCharInOss();
-	oss << "\"" << std::endl << std::endl;
+    oss << "BasicKernel_L2Norm_BK=" << basicKernel << std::endl;
+    oss << "DataToCalculate_L2Norm_BK=\"";
+    for (int i = 0; i < dataToCalc.size(); i++)
+        oss << dataToCalc.at(i) << " ";
+    deleteLastCharInOss();
+    oss << "\"" << std::endl;
+    oss << "TimeSteps_L2Norm_BK=\""; 
+    for (int i = 0; i < timeSteps.size(); i++)
+        oss << timeSteps.at(i) << " ";
+    deleteLastCharInOss();
+    oss << "\""<< std::endl << std::endl;
+    oss << "NormalizeWith_L2Norm_BK=\"";
+    for (int i = 0; i < normalizeData.size(); i++)
+        oss << normalizeData.at(i) << " ";
+    deleteLastCharInOss();
+    oss << "\"" << std::endl << std::endl;
 
-	std::ostringstream failMessage;
-	failMessage << "FailTests_L2Norm_BK=\"";
-	for (int i = 0; i < tests.size(); i++) {
-		if (tests.at(i)->getTestStatus() == passed || tests.at(i)->getTestStatus() == failed)
-			oss << tests.at(i)->getLogFileOutput();
-		if (tests.at(i)->getTestStatus() == test_error || tests.at(i)->getTestStatus() == simulationCrashed)
-			failMessage << tests.at(i)->getErrorLogFileOutput() << " ";
-	}
-	std::string fail = failMessage.str();
-	if (fail.back() == ' ')
-		fail = fail.substr(0, fail.size() - 1);
-	failMessage.str(std::string());
-	failMessage << fail << "\"";
-	oss << failMessage.str() << std::endl << std::endl;
+    std::ostringstream failMessage;
+    failMessage << "FailTests_L2Norm_BK=\"";
+    for (int i = 0; i < tests.size(); i++) {
+        if (tests.at(i)->getTestStatus() == passed || tests.at(i)->getTestStatus() == failed)
+            oss << tests.at(i)->getLogFileOutput();
+        if (tests.at(i)->getTestStatus() == test_error || tests.at(i)->getTestStatus() == simulationCrashed)
+            failMessage << tests.at(i)->getErrorLogFileOutput() << " ";
+    }
+    std::string fail = failMessage.str();
+    if (fail.back() == ' ')
+        fail = fail.substr(0, fail.size() - 1);
+    failMessage.str(std::string());
+    failMessage << fail << "\"";
+    oss << failMessage.str() << std::endl << std::endl;
 
-	return oss.str();
+    return oss.str();
 }
 
 L2NormBetweenKernelsInformation::L2NormBetweenKernelsInformation(std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::string> dataToCalcTests)
-	: tests(tests), dataToCalc(dataToCalcTests)
+    : tests(tests), dataToCalc(dataToCalcTests)
 {
-	basicKernel = testPara->basicKernel;
-	timeSteps = testPara->timeSteps;
-	normalizeData = testPara->normalizeData;
+    basicKernel = testPara->basicKernel;
+    timeSteps = testPara->timeSteps;
+    normalizeData = testPara->normalizeData;
 }
 
 void L2NormBetweenKernelsInformation::deleteLastCharInOss()
 {
-	std::string myString = oss.str().substr(0, oss.str().size() - 1);
-	oss.str("");
-	oss.clear();
-	oss << myString;
+    std::string myString = oss.str().substr(0, oss.str().size() - 1);
+    oss.str("");
+    oss.clear();
+    oss << myString;
 }
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/LogFileInformation/L2NormLogFileInformationBetweenKernels.h b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/LogFileInformation/L2NormLogFileInformationBetweenKernels.h
index 738d74f35876c3589564e9cc647fb0496cbe74de..1bfcdbfac8ae7e1dc9b916b5dea69cabec526fae 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/LogFileInformation/L2NormLogFileInformationBetweenKernels.h
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/LogFileInformation/L2NormLogFileInformationBetweenKernels.h
@@ -12,21 +12,21 @@ struct L2NormTestBetweenKernelsParameterStruct;
 class L2NormBetweenKernelsInformation : public TestLogFileInformation
 {
 public:
-	static std::shared_ptr<L2NormBetweenKernelsInformation> getNewInstance(std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
+    static std::shared_ptr<L2NormBetweenKernelsInformation> getNewInstance(std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
 
-	std::string getOutput();
+    std::string getOutput();
 
 private:
-	L2NormBetweenKernelsInformation() {};
-	L2NormBetweenKernelsInformation(std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
+    L2NormBetweenKernelsInformation() {};
+    L2NormBetweenKernelsInformation(std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
 
-	void deleteLastCharInOss();
+    void deleteLastCharInOss();
 
-	std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests;
+    std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests;
 
-	std::string basicKernel;
-	std::vector<int> timeSteps;
-	std::vector<std::string> dataToCalc;
-	std::vector<std::string> normalizeData;
+    std::string basicKernel;
+    std::vector<int> timeSteps;
+    std::vector<std::string> dataToCalc;
+    std::vector<std::string> normalizeData;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/PostProcessingStrategy/L2NormBetweenKernelPostProcessingStrategy.cpp b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/PostProcessingStrategy/L2NormBetweenKernelPostProcessingStrategy.cpp
index 9bdb6021b3961148a0fb71c99fd211308299c31b..b4c618feeeac450992eb6306388482af471399c6 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/PostProcessingStrategy/L2NormBetweenKernelPostProcessingStrategy.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/PostProcessingStrategy/L2NormBetweenKernelPostProcessingStrategy.cpp
@@ -9,95 +9,95 @@
 
 std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> L2NormBetweenKernelPostProcessingStrategy::getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests)
 {
-	return std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy>(new L2NormBetweenKernelPostProcessingStrategy(simResult, analyticalResult, testPara, factory, dataToCalcTests));
+    return std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy>(new L2NormBetweenKernelPostProcessingStrategy(simResult, analyticalResult, testPara, factory, dataToCalcTests));
 }
 
 void L2NormBetweenKernelPostProcessingStrategy::evaluate()
 {
-	if (!isEvaluated) {
-		analyticalResult->calc(simResult);
+    if (!isEvaluated) {
+        analyticalResult->calc(simResult);
 
-		l2Norm.resize(dataToCalculate.size());
-		for (int i = 0; i < dataToCalculate.size(); i++) {
-			l2Norm.at(i).resize(normalizeData.size());
-			for (int j = 0; j < normalizeData.size(); j++) {
-				l2Norm.at(i).at(j).resize(timeSteps.size());
-			}
-		}
+        l2Norm.resize(dataToCalculate.size());
+        for (int i = 0; i < dataToCalculate.size(); i++) {
+            l2Norm.at(i).resize(normalizeData.size());
+            for (int j = 0; j < normalizeData.size(); j++) {
+                l2Norm.at(i).at(j).resize(timeSteps.size());
+            }
+        }
 
-		for (int i = 0; i < dataToCalculate.size(); i++) {
-			for (int j = 0; j < normalizeData.size(); j++) {
-				for (int k = 0; k < timeSteps.size(); k++) {
-					int time = calcTimeStepInResults(timeSteps.at(k));
-					if (dataToCalculate.at(i) == "Vx")
-						l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getVx().at(time), simResult->getVx().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-					if (dataToCalculate.at(i) == "Vy")
-						l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getVy().at(time), simResult->getVy().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-					if (dataToCalculate.at(i) == "Vz")
-						l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getVz().at(time), simResult->getVz().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-					if (dataToCalculate.at(i) == "Press")
-						l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getPress().at(time), simResult->getPress().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-					if (dataToCalculate.at(i) == "Rho")
-						l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getRho().at(time), simResult->getRho().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
-				}
-			}
-		}
-		isEvaluated = true;
-	}	
+        for (int i = 0; i < dataToCalculate.size(); i++) {
+            for (int j = 0; j < normalizeData.size(); j++) {
+                for (int k = 0; k < timeSteps.size(); k++) {
+                    int time = calcTimeStepInResults(timeSteps.at(k));
+                    if (dataToCalculate.at(i) == "Vx")
+                        l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getVx().at(time), simResult->getVx().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                    if (dataToCalculate.at(i) == "Vy")
+                        l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getVy().at(time), simResult->getVy().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                    if (dataToCalculate.at(i) == "Vz")
+                        l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getVz().at(time), simResult->getVz().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                    if (dataToCalculate.at(i) == "Press")
+                        l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getPress().at(time), simResult->getPress().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                    if (dataToCalculate.at(i) == "Rho")
+                        l2Norm.at(i).at(j).at(k) = l2Normcalculator.at(j)->calc(analyticalResult->getRho().at(time), simResult->getRho().at(time), simResult->getLevels().at(time), analyticalResult->getNumberOfXNodes(), analyticalResult->getNumberOfZNodes(), analyticalResult->getL0());
+                }
+            }
+        }
+        isEvaluated = true;
+    }    
 }
 
 double L2NormBetweenKernelPostProcessingStrategy::getL2Norm(std::string aDataToCalc, std::string aNormalizeData, int aTimeStep)
 {
-	for (int i = 0; i < dataToCalculate.size(); i++) {
-		for (int j = 0; j < normalizeData.size(); j++) {
-			for (int k = 0; k < timeSteps.size(); k++) {
-				if (aDataToCalc == dataToCalculate.at(i) && aNormalizeData == normalizeData.at(j) && aTimeStep == timeSteps.at(k))
-					return l2Norm.at(i).at(j).at(k);
-			}
-		}
-	}
+    for (int i = 0; i < dataToCalculate.size(); i++) {
+        for (int j = 0; j < normalizeData.size(); j++) {
+            for (int k = 0; k < timeSteps.size(); k++) {
+                if (aDataToCalc == dataToCalculate.at(i) && aNormalizeData == normalizeData.at(j) && aTimeStep == timeSteps.at(k))
+                    return l2Norm.at(i).at(j).at(k);
+            }
+        }
+    }
 
-	return 0.0;
+    return 0.0;
 }
 
 std::string L2NormBetweenKernelPostProcessingStrategy::getErrorMessage(std::string aNormalizeData)
 {
-	for (int i = 0; i < normalizeData.size(); i++) {
-		if (aNormalizeData == normalizeData.at(i))
-			return l2Normcalculator.at(i)->getErrorMessage();
-	}
-	return std::string();
+    for (int i = 0; i < normalizeData.size(); i++) {
+        if (aNormalizeData == normalizeData.at(i))
+            return l2Normcalculator.at(i)->getErrorMessage();
+    }
+    return std::string();
 }
 
 std::shared_ptr<SimulationResults> L2NormBetweenKernelPostProcessingStrategy::getSimulationResult()
 {
-	return simResult;
+    return simResult;
 }
 
 L2NormBetweenKernelPostProcessingStrategy::L2NormBetweenKernelPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests)
-	: PostProcessingStrategyImp(simResult), analyticalResult(analyticalResult), dataToCalculate(dataToCalcTests)
+    : PostProcessingStrategyImp(simResult), analyticalResult(analyticalResult), dataToCalculate(dataToCalcTests)
 {
-	isEvaluated = false;
-	normalizeData = testPara->normalizeData;
-	timeSteps = testPara->timeSteps;
+    isEvaluated = false;
+    normalizeData = testPara->normalizeData;
+    timeSteps = testPara->timeSteps;
 
-	l2Norm.resize(dataToCalculate.size());
-	for (int i = 0; i < dataToCalculate.size(); i++) {
-		l2Norm.at(i).resize(normalizeData.size());
-		for (int j = 0; j < normalizeData.size(); j++) {
-			l2Norm.at(i).at(j).resize(timeSteps.size());
-		}
-	}
+    l2Norm.resize(dataToCalculate.size());
+    for (int i = 0; i < dataToCalculate.size(); i++) {
+        l2Norm.at(i).resize(normalizeData.size());
+        for (int j = 0; j < normalizeData.size(); j++) {
+            l2Norm.at(i).at(j).resize(timeSteps.size());
+        }
+    }
 
 
-	for (int i = 0; i < normalizeData.size(); i++)
-		l2Normcalculator.push_back(factory->makeL2NormCalculator(normalizeData.at(i)));
-	
+    for (int i = 0; i < normalizeData.size(); i++)
+        l2Normcalculator.push_back(factory->makeL2NormCalculator(normalizeData.at(i)));
+    
 }
 
 int L2NormBetweenKernelPostProcessingStrategy::calcPosInTimeStep(int time)
 {
-	for (int i = 0; i < timeSteps.size(); i++)
-		if (timeSteps.at(i) == time)
-			return i;
+    for (int i = 0; i < timeSteps.size(); i++)
+        if (timeSteps.at(i) == time)
+            return i;
 }
diff --git a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/PostProcessingStrategy/L2NormBetweenKernelPostProcessingStrategy.h b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/PostProcessingStrategy/L2NormBetweenKernelPostProcessingStrategy.h
index 8f8ee2e37a009b99fff7db5c089abbd21e338cea..1bf5617a685809080118226bfe9f3df21fabd746 100644
--- a/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/PostProcessingStrategy/L2NormBetweenKernelPostProcessingStrategy.h
+++ b/apps/gpu/tests/NumericalTests/Tests/L2NormTestBetweenKernels/PostProcessingStrategy/L2NormBetweenKernelPostProcessingStrategy.h
@@ -13,28 +13,28 @@ struct L2NormTestBetweenKernelsParameterStruct;
 class L2NormBetweenKernelPostProcessingStrategy : public PostProcessingStrategyImp
 {
 public:
-	static std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests);
-	void evaluate();
+    static std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests);
+    void evaluate();
 
-	double getL2Norm(std::string aDataToCalc, std::string aNormalizeData, int aTimeStep);
+    double getL2Norm(std::string aDataToCalc, std::string aNormalizeData, int aTimeStep);
 
-	std::string getErrorMessage(std::string aNormalizeData);
+    std::string getErrorMessage(std::string aNormalizeData);
 
-	virtual std::shared_ptr<SimulationResults> getSimulationResult();
+    virtual std::shared_ptr<SimulationResults> getSimulationResult();
 
 private:
-	L2NormBetweenKernelPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests);
+    L2NormBetweenKernelPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::shared_ptr<L2NormCalculatorFactory> factory, std::vector<std::string> dataToCalcTests);
 
-	int calcPosInTimeStep(int time);
+    int calcPosInTimeStep(int time);
 
-	std::shared_ptr<AnalyticalResults> analyticalResult;
-	std::vector<std::shared_ptr<L2NormCalculator> > l2Normcalculator;
-	std::vector<std::string> dataToCalculate;
-	std::vector<std::string> normalizeData;
-	std::vector<int> timeSteps;
+    std::shared_ptr<AnalyticalResults> analyticalResult;
+    std::vector<std::shared_ptr<L2NormCalculator> > l2Normcalculator;
+    std::vector<std::string> dataToCalculate;
+    std::vector<std::string> normalizeData;
+    std::vector<int> timeSteps;
 
-	std::vector<std::vector<std::vector<double> > > l2Norm;	
-	bool isEvaluated;
+    std::vector<std::vector<std::vector<double> > > l2Norm;    
+    bool isEvaluated;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/NyTest/LogFileInformation/NyTestLogFileInformation.cpp b/apps/gpu/tests/NumericalTests/Tests/NyTest/LogFileInformation/NyTestLogFileInformation.cpp
index 7d65d3d9f53aa3125420eee22e0de708cbe4c6ef..92107fed3dbf37a2715b65d8d1b7f779164973bf 100644
--- a/apps/gpu/tests/NumericalTests/Tests/NyTest/LogFileInformation/NyTestLogFileInformation.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/NyTest/LogFileInformation/NyTestLogFileInformation.cpp
@@ -9,128 +9,128 @@
 
 std::shared_ptr<NyTestLogFileInformation> NyTestLogFileInformation::getNewInstance(std::shared_ptr<NyTestParameterStruct> testPara)
 {
-	return std::shared_ptr<NyTestLogFileInformation>(new NyTestLogFileInformation(testPara));
+    return std::shared_ptr<NyTestLogFileInformation>(new NyTestLogFileInformation(testPara));
 }
 
 std::string NyTestLogFileInformation::getOutput()
 {
-	std::ostringstream headName;
-	headName <<"Ny Test";
-	makeCenterHead(headName.str());
-
-	oss << "StartTimeStepCalculation_NyTest=" << startTimeStepCalculation << std::endl;
-	oss << "EndTimeStepCalculation_NyTest=" << endTimeStepCalculation << std::endl;
-	oss << "DataToCalc_NyTest=\"";
-	for (int i = 0; i < testGroups.size(); i++) {
-		oss << testGroups.at(i).at(0)->getDataToCalculate();
-		if (i < testGroups.size() - 1)
-			oss << " ";
-		else
-			oss << "\"" << std::endl;
-	}
-	oss << std::endl;
-
-	std::ostringstream failMessageNy;
-	failMessageNy << "FailTests_Ny_NyTest=\"";
-	std::ostringstream failMessageOOA;
-	failMessageOOA << "FailTests_OOA_NyTest=\"";
-	for (int i = 0; i < testGroups.size(); i++) {
-		fillMyData(testGroups.at(i));
-		for (int j = 0; j < lxForErase.size(); j++) {
-			if (status.at(j) == passed || status.at(j) == failed) {
-				oss << "Ny_" << lxForErase.at(j) << "_" << dataToCalc.at(j) << "=" << ny.at(j) << std::endl;
-				oss << "NyDiff_" << lxForErase.at(j) << "_" << dataToCalc.at(j) << "=" << nyDiff.at(j) << std::endl;
-			}
-			else
-				failMessageNy << lxForErase.at(j) << "_" << dataToCalc.at(j) << " ";
-		}
-		oss << std::endl;
-		for (int j = 0; j < orderOfAccuracyNyDiff.size(); j++) {
-			if (status.at(j) == passed || status.at(j) == failed) {
-				oss << "OrderOfAccuracy_NyDiff_" << lx.at(2 * j) << "_" << lx.at(2 * j + 1) << "_" << dataToCalc.at(j) << "=" << orderOfAccuracyNyDiff.at(j) << std::endl;
-			}
-			else
-				failMessageOOA << lx.at(2 * j) << "_" << lx.at(2 * j + 1) << "_" << dataToCalc.at(j) << " ";
-		}
-		oss << std::endl;
-	}
-	std::string failNy = failMessageNy.str();
-	if (failNy.back() == ' ')
-		failNy = failNy.substr(0, failNy.size() - 1);
-	failMessageNy.str(std::string());
-	failMessageNy << failNy << "\"";
-	oss << failMessageNy.str() << std::endl << std::endl;
-
-	std::string failOOA = failMessageOOA.str();
-	if (failOOA.back() == ' ')
-		failOOA = failOOA.substr(0, failOOA.size() - 1);
-	failMessageOOA.str(std::string());
-	failMessageOOA << failOOA << "\"";
-	oss << failMessageOOA.str() << std::endl << std::endl;
-
-	return oss.str();
+    std::ostringstream headName;
+    headName <<"Ny Test";
+    makeCenterHead(headName.str());
+
+    oss << "StartTimeStepCalculation_NyTest=" << startTimeStepCalculation << std::endl;
+    oss << "EndTimeStepCalculation_NyTest=" << endTimeStepCalculation << std::endl;
+    oss << "DataToCalc_NyTest=\"";
+    for (int i = 0; i < testGroups.size(); i++) {
+        oss << testGroups.at(i).at(0)->getDataToCalculate();
+        if (i < testGroups.size() - 1)
+            oss << " ";
+        else
+            oss << "\"" << std::endl;
+    }
+    oss << std::endl;
+
+    std::ostringstream failMessageNy;
+    failMessageNy << "FailTests_Ny_NyTest=\"";
+    std::ostringstream failMessageOOA;
+    failMessageOOA << "FailTests_OOA_NyTest=\"";
+    for (int i = 0; i < testGroups.size(); i++) {
+        fillMyData(testGroups.at(i));
+        for (int j = 0; j < lxForErase.size(); j++) {
+            if (status.at(j) == passed || status.at(j) == failed) {
+                oss << "Ny_" << lxForErase.at(j) << "_" << dataToCalc.at(j) << "=" << ny.at(j) << std::endl;
+                oss << "NyDiff_" << lxForErase.at(j) << "_" << dataToCalc.at(j) << "=" << nyDiff.at(j) << std::endl;
+            }
+            else
+                failMessageNy << lxForErase.at(j) << "_" << dataToCalc.at(j) << " ";
+        }
+        oss << std::endl;
+        for (int j = 0; j < orderOfAccuracyNyDiff.size(); j++) {
+            if (status.at(j) == passed || status.at(j) == failed) {
+                oss << "OrderOfAccuracy_NyDiff_" << lx.at(2 * j) << "_" << lx.at(2 * j + 1) << "_" << dataToCalc.at(j) << "=" << orderOfAccuracyNyDiff.at(j) << std::endl;
+            }
+            else
+                failMessageOOA << lx.at(2 * j) << "_" << lx.at(2 * j + 1) << "_" << dataToCalc.at(j) << " ";
+        }
+        oss << std::endl;
+    }
+    std::string failNy = failMessageNy.str();
+    if (failNy.back() == ' ')
+        failNy = failNy.substr(0, failNy.size() - 1);
+    failMessageNy.str(std::string());
+    failMessageNy << failNy << "\"";
+    oss << failMessageNy.str() << std::endl << std::endl;
+
+    std::string failOOA = failMessageOOA.str();
+    if (failOOA.back() == ' ')
+        failOOA = failOOA.substr(0, failOOA.size() - 1);
+    failMessageOOA.str(std::string());
+    failMessageOOA << failOOA << "\"";
+    oss << failMessageOOA.str() << std::endl << std::endl;
+
+    return oss.str();
 }
 
 void NyTestLogFileInformation::addTestGroup(std::vector<std::shared_ptr<NyTest> > tests)
 {
-	testGroups.push_back(tests);
+    testGroups.push_back(tests);
 }
 
 void NyTestLogFileInformation::fillMyData(std::vector<std::shared_ptr<NyTest> > testGroup)
 {
-	lxForErase.resize(0);
-	lx.resize(0);
-	ny.resize(0);
-	nyDiff.resize(0);
-	orderOfAccuracyNyDiff.resize(0);
-	dataToCalc.resize(0);
-	status.resize(0);
-	for (int i = 0; i < testGroup.size(); i++) {
-		status.push_back(testGroup.at(i)->getTestStatus());
-		status.push_back(testGroup.at(i)->getTestStatus());
-
-		std::vector<int> myLx = testGroup.at(i)->getLx();
-		std::vector<double> myNy;
-		std::vector<double> myNyDiff;
-
-		if (testGroup.at(i)->getTestStatus() == simulationCrashed || testGroup.at(i)->getTestStatus() == test_error) {
-			for (int i = 0; i < myLx.size(); i++) {
-				myNy.push_back((double)0.0);
-				myNyDiff.push_back((double)0.0);
-			}
-				
-		}
-		else {
-			myNy = testGroup.at(i)->getNy();
-			myNyDiff = testGroup.at(i)->getNyDiff();
-		}
-		lx.insert(lx.end(), myLx.begin(), myLx.end());
-		lxForErase.insert(lxForErase.end(), myLx.begin(), myLx.end());
-		ny.insert(ny.end(), myNy.begin(), myNy.end());
-		nyDiff.insert(nyDiff.end(), myNyDiff.begin(), myNyDiff.end());
-		orderOfAccuracyNyDiff.push_back(testGroup.at(i)->getOrderOfAccuracyNyDiff());
-		dataToCalc.push_back(testGroup.at(i)->getDataToCalculate());
-		dataToCalc.push_back(testGroup.at(i)->getDataToCalculate());
-	}
-
-	for (int i = 0; i < lxForErase.size(); i++) 
-		for (int j = i + 1; j < lxForErase.size(); j++)
-			if (lxForErase.at(i) == lxForErase.at(j))
-				lxForErase.at(j) = -1;
-	
-	for (int i = lxForErase.size() - 1; i >= 0; i--) {
-		if (lxForErase.at(i) == -1) {
-			ny.erase(ny.begin() + i);
-			nyDiff.erase(nyDiff.begin() + i);
-			lxForErase.erase(lxForErase.begin() + i);
-		}
-	}
-
-	
+    lxForErase.resize(0);
+    lx.resize(0);
+    ny.resize(0);
+    nyDiff.resize(0);
+    orderOfAccuracyNyDiff.resize(0);
+    dataToCalc.resize(0);
+    status.resize(0);
+    for (int i = 0; i < testGroup.size(); i++) {
+        status.push_back(testGroup.at(i)->getTestStatus());
+        status.push_back(testGroup.at(i)->getTestStatus());
+
+        std::vector<int> myLx = testGroup.at(i)->getLx();
+        std::vector<double> myNy;
+        std::vector<double> myNyDiff;
+
+        if (testGroup.at(i)->getTestStatus() == simulationCrashed || testGroup.at(i)->getTestStatus() == test_error) {
+            for (int i = 0; i < myLx.size(); i++) {
+                myNy.push_back((double)0.0);
+                myNyDiff.push_back((double)0.0);
+            }
+                
+        }
+        else {
+            myNy = testGroup.at(i)->getNy();
+            myNyDiff = testGroup.at(i)->getNyDiff();
+        }
+        lx.insert(lx.end(), myLx.begin(), myLx.end());
+        lxForErase.insert(lxForErase.end(), myLx.begin(), myLx.end());
+        ny.insert(ny.end(), myNy.begin(), myNy.end());
+        nyDiff.insert(nyDiff.end(), myNyDiff.begin(), myNyDiff.end());
+        orderOfAccuracyNyDiff.push_back(testGroup.at(i)->getOrderOfAccuracyNyDiff());
+        dataToCalc.push_back(testGroup.at(i)->getDataToCalculate());
+        dataToCalc.push_back(testGroup.at(i)->getDataToCalculate());
+    }
+
+    for (int i = 0; i < lxForErase.size(); i++) 
+        for (int j = i + 1; j < lxForErase.size(); j++)
+            if (lxForErase.at(i) == lxForErase.at(j))
+                lxForErase.at(j) = -1;
+    
+    for (int i = lxForErase.size() - 1; i >= 0; i--) {
+        if (lxForErase.at(i) == -1) {
+            ny.erase(ny.begin() + i);
+            nyDiff.erase(nyDiff.begin() + i);
+            lxForErase.erase(lxForErase.begin() + i);
+        }
+    }
+
+    
 }
 
 NyTestLogFileInformation::NyTestLogFileInformation(std::shared_ptr<NyTestParameterStruct> testPara)
 {
-	startTimeStepCalculation = testPara->startTimeStepCalculation;
-	endTimeStepCalculation = testPara->endTimeStepCalculation;
+    startTimeStepCalculation = testPara->startTimeStepCalculation;
+    endTimeStepCalculation = testPara->endTimeStepCalculation;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/NyTest/LogFileInformation/NyTestLogFileInformation.h b/apps/gpu/tests/NumericalTests/Tests/NyTest/LogFileInformation/NyTestLogFileInformation.h
index b554ac96574ed719c1121a579ed8531cd754fcdf..250881d583d259a57a42fe8d13215a17b3eba11b 100644
--- a/apps/gpu/tests/NumericalTests/Tests/NyTest/LogFileInformation/NyTestLogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Tests/NyTest/LogFileInformation/NyTestLogFileInformation.h
@@ -13,24 +13,24 @@ struct NyTestParameterStruct;
 class NyTestLogFileInformation : public TestLogFileInformation
 {
 public:
-	static std::shared_ptr<NyTestLogFileInformation> getNewInstance(std::shared_ptr<NyTestParameterStruct> testPara);
+    static std::shared_ptr<NyTestLogFileInformation> getNewInstance(std::shared_ptr<NyTestParameterStruct> testPara);
 
-	std::string getOutput();
-	void addTestGroup(std::vector<std::shared_ptr<NyTest> > tests);
+    std::string getOutput();
+    void addTestGroup(std::vector<std::shared_ptr<NyTest> > tests);
 
 private:
-	NyTestLogFileInformation() {};
-	NyTestLogFileInformation(std::shared_ptr<NyTestParameterStruct> testPara);
-
-	void fillMyData(std::vector<std::shared_ptr<NyTest> > testGroup);
-
-	std::vector<std::vector<std::shared_ptr<NyTest> > > testGroups;
-	unsigned int startTimeStepCalculation, endTimeStepCalculation;
-	std::vector<int> lx;
-	std::vector<int> lxForErase;
-	std::vector<double> ny, nyDiff;
-	std::vector<double> orderOfAccuracyNyDiff;
-	std::vector<std::string> dataToCalc;
-	std::vector<TestStatus> status;
+    NyTestLogFileInformation() {};
+    NyTestLogFileInformation(std::shared_ptr<NyTestParameterStruct> testPara);
+
+    void fillMyData(std::vector<std::shared_ptr<NyTest> > testGroup);
+
+    std::vector<std::vector<std::shared_ptr<NyTest> > > testGroups;
+    unsigned int startTimeStepCalculation, endTimeStepCalculation;
+    std::vector<int> lx;
+    std::vector<int> lxForErase;
+    std::vector<double> ny, nyDiff;
+    std::vector<double> orderOfAccuracyNyDiff;
+    std::vector<std::string> dataToCalc;
+    std::vector<TestStatus> status;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTest.cpp b/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTest.cpp
index 474ea1a4f4a32d244958a305001acf71e1f515ef..3b5c76d38167e48e90d00406e228d3703512fa39 100644
--- a/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTest.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTest.cpp
@@ -12,195 +12,195 @@
 
 std::shared_ptr<NyTest> NyTest::getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<NyTestParameterStruct> testPara, std::string dataToCalculate)
 {
-	return std::shared_ptr<NyTest>(new NyTest(colorOutput, viscosity, testPara, dataToCalculate));
+    return std::shared_ptr<NyTest>(new NyTest(colorOutput, viscosity, testPara, dataToCalculate));
 }
 
 void NyTest::evaluate()
 {
-	for (int i = 0; i < postProStrategies.size(); i++)
-		ny.push_back(postProStrategies.at(i)->getNy(dataToCalculate));
-	
-	if (checkNy(ny)) {
-		nyDiff = calcNyDiff(ny);
-		orderOfAccuracy = calcOrderOfAccuracy(nyDiff);
-		testStatus = checkTestPassed(orderOfAccuracy);
-	}
-	else
-		testStatus = test_error;
-	
+    for (int i = 0; i < postProStrategies.size(); i++)
+        ny.push_back(postProStrategies.at(i)->getNy(dataToCalculate));
+    
+    if (checkNy(ny)) {
+        nyDiff = calcNyDiff(ny);
+        orderOfAccuracy = calcOrderOfAccuracy(nyDiff);
+        testStatus = checkTestPassed(orderOfAccuracy);
+    }
+    else
+        testStatus = test_error;
+    
 
-	makeConsoleOutput();
+    makeConsoleOutput();
 }
 
 void NyTest::update()
 {
-	TestImp::update();
+    TestImp::update();
 }
 
 void NyTest::addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<NyTestPostProcessingStrategy> postProStrategy)
 {
-	TestImp::addSimulation(sim, simInfo, postProStrategy);
-	postProStrategies.push_back(postProStrategy);
-	lx.push_back(postProStrategy->getNumberOfXNodes());
+    TestImp::addSimulation(sim, simInfo, postProStrategy);
+    postProStrategies.push_back(postProStrategy);
+    lx.push_back(postProStrategy->getNumberOfXNodes());
 }
 
 std::string NyTest::getDataToCalculate()
 {
-	return dataToCalculate;
+    return dataToCalculate;
 }
 
 std::vector<int> NyTest::getLx()
 {
-	std::vector<int> lxINT;
-	for (int i = 0; i < lx.size(); i++)
-		lxINT.push_back((int)lx.at(i));
-	return lxINT;
+    std::vector<int> lxINT;
+    for (int i = 0; i < lx.size(); i++)
+        lxINT.push_back((int)lx.at(i));
+    return lxINT;
 }
 
 std::vector<double> NyTest::getNy()
 {
-	return ny;
+    return ny;
 }
 
 std::vector<double> NyTest::getNyDiff()
 {
-	return nyDiff;
+    return nyDiff;
 }
 
 double NyTest::getOrderOfAccuracyNyDiff()
 {
-	return orderOfAccuracy;
+    return orderOfAccuracy;
 }
 
 NyTest::NyTest(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<NyTestParameterStruct> testPara, std::string dataToCalculate)
-	: TestImp(colorOutput), viscosity(viscosity), dataToCalculate(dataToCalculate)
+    : TestImp(colorOutput), viscosity(viscosity), dataToCalculate(dataToCalculate)
 {
-	minOrderOfAccuracy = testPara->minOrderOfAccuracy;
-	startStepCalculation = testPara->startTimeStepCalculation;
-	endStepCalculation = testPara->endTimeStepCalculation;
+    minOrderOfAccuracy = testPara->minOrderOfAccuracy;
+    startStepCalculation = testPara->startTimeStepCalculation;
+    endStepCalculation = testPara->endTimeStepCalculation;
 
-	lx.resize(0);
-	nyDiff.resize(0);
+    lx.resize(0);
+    nyDiff.resize(0);
 }
 
 double NyTest::calcOrderOfAccuracy(std::vector<double> data)
 {
-	double ooa = std::log(data.at(0) / data.at(1)) / std::log(lx.at(1) / lx.at(0));
-	
-	return ooa;
+    double ooa = std::log(data.at(0) / data.at(1)) / std::log(lx.at(1) / lx.at(0));
+    
+    return ooa;
 }
 
 TestStatus NyTest::checkTestPassed(double orderOfAccuracy)
 {
-	if (orderOfAccuracy > minOrderOfAccuracy)
-		return passed;
-	else
-		return failed;
+    if (orderOfAccuracy > minOrderOfAccuracy)
+        return passed;
+    else
+        return failed;
 }
 
 bool NyTest::checkNy(std::vector<double> ny)
 {
-	for(int i = 0; i < ny.size(); i++)
-		if(ny.at(i) < 0.0)
-			return false;
-	return true;
+    for(int i = 0; i < ny.size(); i++)
+        if(ny.at(i) < 0.0)
+            return false;
+    return true;
 }
 
 std::vector<double> NyTest::calcNyDiff(std::vector<double> ny)
 {
-	std::vector<double> results;
-	for (int i = 0; i < ny.size(); i++)
-		results.push_back(std::fabs((ny.at(i) - viscosity) / viscosity));
-	return results;
+    std::vector<double> results;
+    for (int i = 0; i < ny.size(); i++)
+        results.push_back(std::fabs((ny.at(i) - viscosity) / viscosity));
+    return results;
 }
 
 std::vector<std::string> NyTest::buildTestOutput()
 {
-	std::vector<std::string> output = buildBasicTestOutput();
-	std::ostringstream oss;
+    std::vector<std::string> output = buildBasicTestOutput();
+    std::ostringstream oss;
 
-	for (int i = 0; i < ny.size(); i++) {
-		oss << "Ny" << simInfos.at(i)->getLx() << ": " << ny.at(i);
-		output.push_back(oss.str());
-		oss.str(std::string());
+    for (int i = 0; i < ny.size(); i++) {
+        oss << "Ny" << simInfos.at(i)->getLx() << ": " << ny.at(i);
+        output.push_back(oss.str());
+        oss.str(std::string());
 
-		oss << "NyDiff" << simInfos.at(i)->getLx() << ": " << nyDiff.at(i);
-		output.push_back(oss.str());
-		oss.str(std::string());
-	}
-	oss << "OrderOfAccuracy: " << orderOfAccuracy;
-	output.push_back(oss.str());
-	oss.str(std::string());
+        oss << "NyDiff" << simInfos.at(i)->getLx() << ": " << nyDiff.at(i);
+        output.push_back(oss.str());
+        oss.str(std::string());
+    }
+    oss << "OrderOfAccuracy: " << orderOfAccuracy;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	return output;
+    return output;
 }
 
 std::vector<std::string> NyTest::buildBasicTestOutput()
 {
-	std::vector<std::string> output;
-	std::ostringstream oss;
+    std::vector<std::string> output;
+    std::ostringstream oss;
 
-	output.push_back("Ny Test");
+    output.push_back("Ny Test");
 
-	oss << "Kernel: " << simInfos.at(0)->getKernelName();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Kernel: " << simInfos.at(0)->getKernelName();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "Viscosity: " << simInfos.at(0)->getViscosity();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Viscosity: " << simInfos.at(0)->getViscosity();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	oss << simInfos.at(0)->getSimulationName();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << simInfos.at(0)->getSimulationName();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	for (int i = 0; i < simInfos.size(); i++) {
-		oss << "L: " << std::setfill(' ') << std::right << std::setw(4) << simInfos.at(i)->getLx() << simInfos.at(i)->getSimulationParameterString();
-		output.push_back(oss.str());
-		oss.str(std::string());
-	}
+    for (int i = 0; i < simInfos.size(); i++) {
+        oss << "L: " << std::setfill(' ') << std::right << std::setw(4) << simInfos.at(i)->getLx() << simInfos.at(i)->getSimulationParameterString();
+        output.push_back(oss.str());
+        oss.str(std::string());
+    }
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	oss << "DataToCalculate: " << dataToCalculate;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "DataToCalculate: " << dataToCalculate;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "StartTimeStep: " << startStepCalculation;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "StartTimeStep: " << startStepCalculation;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "EndTimeStep: " << endStepCalculation;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "EndTimeStep: " << endStepCalculation;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	return output;
+    return output;
 }
 
 std::vector<std::string> NyTest::buildErrorTestOutput()
 {
-	std::vector<std::string> output = buildBasicTestOutput();
-	std::ostringstream oss;
+    std::vector<std::string> output = buildBasicTestOutput();
+    std::ostringstream oss;
 
-	oss << "Error Message: Ny < 0";
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Error Message: Ny < 0";
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	return output;
+    return output;
 }
 
 std::vector<std::string> NyTest::buildSimulationFailedTestOutput()
 {
-	std::vector<std::string> output = buildBasicTestOutput();
-	std::ostringstream oss;
+    std::vector<std::string> output = buildBasicTestOutput();
+    std::ostringstream oss;
 
-	oss << "Simulation crashed!";
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Simulation crashed!";
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	return output;
+    return output;
 }
diff --git a/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTest.h b/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTest.h
index 2a6469fb0785db31b8a24d9fb6a090ec9c9a43a5..22899fc60312f07d49fd9cbb73b43eeb2d2ebdf8 100644
--- a/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTest.h
+++ b/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTest.h
@@ -14,40 +14,40 @@ struct NyTestParameterStruct;
 class NyTest : public TestImp 
 {
 public:
-	static std::shared_ptr<NyTest> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<NyTestParameterStruct> testPara, std::string dataToCalculate);
-	
-	void update();
-	void addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<NyTestPostProcessingStrategy> postProStrategy);
-	
-	void evaluate();
-
-	std::string getDataToCalculate();
-	std::vector<int> getLx();
-	std::vector<double> getNy();
-	std::vector<double> getNyDiff();
-	double getOrderOfAccuracyNyDiff();
+    static std::shared_ptr<NyTest> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<NyTestParameterStruct> testPara, std::string dataToCalculate);
+    
+    void update();
+    void addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<NyTestPostProcessingStrategy> postProStrategy);
+    
+    void evaluate();
+
+    std::string getDataToCalculate();
+    std::vector<int> getLx();
+    std::vector<double> getNy();
+    std::vector<double> getNyDiff();
+    double getOrderOfAccuracyNyDiff();
 
 private:
-	NyTest(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<NyTestParameterStruct> testPara, std::string dataToCalculate);
-	double calcOrderOfAccuracy(std::vector<double> data);
-	TestStatus checkTestPassed(double orderOfAccuracy);
-	bool checkNy(std::vector<double> ny);
-	std::vector<double> calcNyDiff(std::vector<double> ny);
-	std::vector<std::string> buildTestOutput();
-	std::vector<std::string> buildBasicTestOutput();
-	std::vector<std::string> buildErrorTestOutput();
-	std::vector<std::string> buildSimulationFailedTestOutput();
-
-
-	unsigned int startStepCalculation, endStepCalculation;
-	std::vector<double> lx;
-	std::vector<double> ny, nyDiff;
-	double orderOfAccuracy;
-	double minOrderOfAccuracy;
-	double viscosity;
-	std::string dataToCalculate;
-
-	std::vector<std::shared_ptr<NyTestPostProcessingStrategy> > postProStrategies;
+    NyTest(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<NyTestParameterStruct> testPara, std::string dataToCalculate);
+    double calcOrderOfAccuracy(std::vector<double> data);
+    TestStatus checkTestPassed(double orderOfAccuracy);
+    bool checkNy(std::vector<double> ny);
+    std::vector<double> calcNyDiff(std::vector<double> ny);
+    std::vector<std::string> buildTestOutput();
+    std::vector<std::string> buildBasicTestOutput();
+    std::vector<std::string> buildErrorTestOutput();
+    std::vector<std::string> buildSimulationFailedTestOutput();
+
+
+    unsigned int startStepCalculation, endStepCalculation;
+    std::vector<double> lx;
+    std::vector<double> ny, nyDiff;
+    double orderOfAccuracy;
+    double minOrderOfAccuracy;
+    double viscosity;
+    std::string dataToCalculate;
+
+    std::vector<std::shared_ptr<NyTestPostProcessingStrategy> > postProStrategies;
 
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTestParameterStruct.h b/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTestParameterStruct.h
index 577077d30b433791f4289fc79ed745687608f5d2..49e8f853aced24ad38acfc6f22a18095f1075642 100644
--- a/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTestParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Tests/NyTest/NyTestParameterStruct.h
@@ -7,10 +7,10 @@
 
 struct NyTestParameterStruct
 {
-	std::shared_ptr<BasicTestParameterStruct> basicTestParameter;
+    std::shared_ptr<BasicTestParameterStruct> basicTestParameter;
 
-	double minOrderOfAccuracy;
-	unsigned int startTimeStepCalculation;
-	unsigned int endTimeStepCalculation;
+    double minOrderOfAccuracy;
+    unsigned int startTimeStepCalculation;
+    unsigned int endTimeStepCalculation;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/NyTest/PostProcessingStrategy/NyTestPostProcessingStrategy.cpp b/apps/gpu/tests/NumericalTests/Tests/NyTest/PostProcessingStrategy/NyTestPostProcessingStrategy.cpp
index 4147d91533ec010f0ca0c0b8960abab420c77ad9..283855ecdac0c3235779839c23270211c9b447d7 100644
--- a/apps/gpu/tests/NumericalTests/Tests/NyTest/PostProcessingStrategy/NyTestPostProcessingStrategy.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/NyTest/PostProcessingStrategy/NyTestPostProcessingStrategy.cpp
@@ -9,66 +9,66 @@
 
 std::shared_ptr<NyTestPostProcessingStrategy> NyTestPostProcessingStrategy::getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<NyTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests)
 {
-	return std::shared_ptr<NyTestPostProcessingStrategy>(new NyTestPostProcessingStrategy(simResult, analyticalResult, testPara, dataToCalcTests));
+    return std::shared_ptr<NyTestPostProcessingStrategy>(new NyTestPostProcessingStrategy(simResult, analyticalResult, testPara, dataToCalcTests));
 }
 
 NyTestPostProcessingStrategy::NyTestPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<NyTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests)
-	: PostProcessingStrategyImp(simResult), analyticalResult(analyticalResult), dataToCalculate(dataToCalcTests)
+    : PostProcessingStrategyImp(simResult), analyticalResult(analyticalResult), dataToCalculate(dataToCalcTests)
 {
-	startTimeStepCalculation = testPara->startTimeStepCalculation;
-	endTimeStepCalculation = testPara->endTimeStepCalculation;
-	ny.resize(dataToCalculate.size());
+    startTimeStepCalculation = testPara->startTimeStepCalculation;
+    endTimeStepCalculation = testPara->endTimeStepCalculation;
+    ny.resize(dataToCalculate.size());
 
-	isEvaluated = false;
-	fftCalculator = FFTCalculator::getInstance();
+    isEvaluated = false;
+    fftCalculator = FFTCalculator::getInstance();
 }
 
 std::vector<std::vector<double> > NyTestPostProcessingStrategy::reduceDataToTimeSteps(std::vector<std::vector<double> > data, unsigned int startTimeStep, unsigned int endTimeStep)
 {
-	std::vector<int> timeStepsToDelete;
+    std::vector<int> timeStepsToDelete;
 
-	for (int i = simResult->getTimeSteps().size() - 1; i >= 0; i--) {
-		if (simResult->getTimeSteps().at(i) > endTimeStep)
-			timeStepsToDelete.push_back(i);
-		if (simResult->getTimeSteps().at(i) < startTimeStep)
-			timeStepsToDelete.push_back(i);
-	}
+    for (int i = simResult->getTimeSteps().size() - 1; i >= 0; i--) {
+        if (simResult->getTimeSteps().at(i) > endTimeStep)
+            timeStepsToDelete.push_back(i);
+        if (simResult->getTimeSteps().at(i) < startTimeStep)
+            timeStepsToDelete.push_back(i);
+    }
 
-	for (int i = 0; i < timeStepsToDelete.size(); i++)
-		data.erase(data.begin() + timeStepsToDelete.at(i));
+    for (int i = 0; i < timeStepsToDelete.size(); i++)
+        data.erase(data.begin() + timeStepsToDelete.at(i));
 
-	return data;
+    return data;
 }
 
 void NyTestPostProcessingStrategy::evaluate()
 {
-	if (!isEvaluated) {
-		for (int i = 0; i < dataToCalculate.size(); i++) {
-			if (dataToCalculate.at(i) == "Vx") {
-				ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVx(), startTimeStepCalculation, endTimeStepCalculation), false, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
-			}
-			if (dataToCalculate.at(i) == "Vy") {
-				ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVy(), startTimeStepCalculation, endTimeStepCalculation), false, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
-			}
-			if (dataToCalculate.at(i) == "Vz") {
-				ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVz(), startTimeStepCalculation, endTimeStepCalculation), true, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
-			}
-			if (dataToCalculate.at(i) == "Press") {
-				ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVy(), startTimeStepCalculation, endTimeStepCalculation), false, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
-			}
-			if (dataToCalculate.at(i) == "Rho") {
-				ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVz(), startTimeStepCalculation, endTimeStepCalculation), true, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
-			}
-		}
-		isEvaluated = true; 
-	}
+    if (!isEvaluated) {
+        for (int i = 0; i < dataToCalculate.size(); i++) {
+            if (dataToCalculate.at(i) == "Vx") {
+                ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVx(), startTimeStepCalculation, endTimeStepCalculation), false, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
+            }
+            if (dataToCalculate.at(i) == "Vy") {
+                ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVy(), startTimeStepCalculation, endTimeStepCalculation), false, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
+            }
+            if (dataToCalculate.at(i) == "Vz") {
+                ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVz(), startTimeStepCalculation, endTimeStepCalculation), true, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
+            }
+            if (dataToCalculate.at(i) == "Press") {
+                ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVy(), startTimeStepCalculation, endTimeStepCalculation), false, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
+            }
+            if (dataToCalculate.at(i) == "Rho") {
+                ny.at(i) = fftCalculator->calcNy(reduceDataToTimeSteps(simResult->getVz(), startTimeStepCalculation, endTimeStepCalculation), true, simResult->getNumberOfXNodes(), simResult->getNumberOfZNodes(), simResult->getTimeStepLength());
+            }
+        }
+        isEvaluated = true; 
+    }
 }
 
 double NyTestPostProcessingStrategy::getNy(std::string dataToCalculate)
 {
-	for (int i = 0; i < ny.size(); i++) {
-		if (dataToCalculate == this->dataToCalculate.at(i))
-			return ny.at(i);
-	}
+    for (int i = 0; i < ny.size(); i++) {
+        if (dataToCalculate == this->dataToCalculate.at(i))
+            return ny.at(i);
+    }
 }
-	
\ No newline at end of file
+    
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/NyTest/PostProcessingStrategy/NyTestPostProcessingStrategy.h b/apps/gpu/tests/NumericalTests/Tests/NyTest/PostProcessingStrategy/NyTestPostProcessingStrategy.h
index 92a8ad83369611be9cee455f62add49b52b5e42a..b699b6064b3e93921b4216d8b118e5c2337d03b8 100644
--- a/apps/gpu/tests/NumericalTests/Tests/NyTest/PostProcessingStrategy/NyTestPostProcessingStrategy.h
+++ b/apps/gpu/tests/NumericalTests/Tests/NyTest/PostProcessingStrategy/NyTestPostProcessingStrategy.h
@@ -12,22 +12,22 @@ struct NyTestParameterStruct;
 class NyTestPostProcessingStrategy : public PostProcessingStrategyImp
 {
 public:
-	static std::shared_ptr<NyTestPostProcessingStrategy> getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<NyTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
-	void evaluate();
+    static std::shared_ptr<NyTestPostProcessingStrategy> getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<NyTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
+    void evaluate();
 
-	double getNy(std::string dataToCalculate);
+    double getNy(std::string dataToCalculate);
 
 private:
-	NyTestPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<NyTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
-	
-	std::vector<std::vector<double> > reduceDataToTimeSteps(std::vector<std::vector<double> > data, unsigned int startTimeStep, unsigned int endTimeStep);
+    NyTestPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<NyTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
+    
+    std::vector<std::vector<double> > reduceDataToTimeSteps(std::vector<std::vector<double> > data, unsigned int startTimeStep, unsigned int endTimeStep);
 
-	std::shared_ptr<AnalyticalResults> analyticalResult;
-	std::vector<std::string> dataToCalculate;
-	std::shared_ptr<FFTCalculator> fftCalculator;
-	unsigned int startTimeStepCalculation;
-	unsigned int endTimeStepCalculation;
-	std::vector<double> ny;
-	bool isEvaluated;
+    std::shared_ptr<AnalyticalResults> analyticalResult;
+    std::vector<std::string> dataToCalculate;
+    std::shared_ptr<FFTCalculator> fftCalculator;
+    unsigned int startTimeStepCalculation;
+    unsigned int endTimeStepCalculation;
+    std::vector<double> ny;
+    bool isEvaluated;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/PhiTest/LogFileInformation/PhiTestLogFileInformation.cpp b/apps/gpu/tests/NumericalTests/Tests/PhiTest/LogFileInformation/PhiTestLogFileInformation.cpp
index c837b98d9d035a92085657a4d6513da7904e737e..381ed0722e7451dc3b4d8857991e1370062e2eb1 100644
--- a/apps/gpu/tests/NumericalTests/Tests/PhiTest/LogFileInformation/PhiTestLogFileInformation.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/PhiTest/LogFileInformation/PhiTestLogFileInformation.cpp
@@ -9,120 +9,120 @@
 
 std::shared_ptr<PhiTestLogFileInformation> PhiTestLogFileInformation::getNewInstance(std::shared_ptr<PhiTestParameterStruct> testPara)
 {
-	return std::shared_ptr<PhiTestLogFileInformation>(new PhiTestLogFileInformation(testPara));
+    return std::shared_ptr<PhiTestLogFileInformation>(new PhiTestLogFileInformation(testPara));
 }
 
 std::string PhiTestLogFileInformation::getOutput()
 {
-	std::ostringstream headName;
-	headName <<" Phi Test";
-	makeCenterHead(headName.str());
-
-	oss << "StartTimeStepCalculation_PhiTest=" << startTimeStepCalculation << std::endl;
-	oss << "EndTimeStepCalculation_PhiTest=" << endTimeStepCalculation << std::endl;
-	oss << "DataToCalc_PhiTest=\"";
-	for (int i = 0; i < testGroups.size(); i++) {
-		oss << testGroups.at(i).at(0)->getDataToCalculate();
-		if (i < testGroups.size() - 1)
-			oss << " ";
-		else
-			oss << "\"" << std::endl;
-	}
-	oss << std::endl;
-
-	std::ostringstream failMessagePhi;
-	failMessagePhi << "FailTests_Phi_PhiTest=\"";
-	std::ostringstream failMessageOOA;
-	failMessageOOA << "FailTests_OOA_PhiTest=\"";
-	for (int i = 0; i < testGroups.size(); i++) {
-		fillMyData(testGroups.at(i));
-		for (int j = 0; j < lxForErase.size(); j++) {
-			if (status.at(j) == passed || status.at(j) == failed) {
-				oss << "PhiDiff_" << lxForErase.at(j) << "_" << dataToCalc.at(j) << "=" << phiDiff.at(j) << std::endl;
-			}
-			else 
-				failMessagePhi << lxForErase.at(j) << "_" << dataToCalc.at(j) << " ";
-		}
-		oss << std::endl;
-		for (int j = 0; j < orderOfAccuracy.size(); j++) {
-			if (status.at(j) == passed || status.at(j) == failed) {
-				oss << "OrderOfAccuracy_PhiDiff_" << lx.at(2 * j) << "_" << lx.at(2 * j + 1) << "_" << dataToCalc.at(j) << "=" << orderOfAccuracy.at(j) << std::endl;
-			}
-			else
-				failMessageOOA << lx.at(2 * j) << "_" << lx.at(2 * j + 1) << "_" << dataToCalc.at(j) << " ";
-		}
-		oss << std::endl;
-			
-	}
-	std::string failPhi = failMessagePhi.str();
-	if (failPhi.back() == ' ')
-		failPhi = failPhi.substr(0, failPhi.size() - 1);
-	failMessagePhi.str(std::string());
-	failMessagePhi << failPhi << "\"";
-	oss << failMessagePhi.str() << std::endl << std::endl;
-
-	std::string failOOA = failMessageOOA.str();
-	if (failOOA.back() == ' ')
-		failOOA = failOOA.substr(0, failOOA.size() - 1);
-	failMessageOOA.str(std::string());
-	failMessageOOA << failOOA << "\"";
-	oss << failMessageOOA.str() << std::endl << std::endl;
-
-	return oss.str();
+    std::ostringstream headName;
+    headName <<" Phi Test";
+    makeCenterHead(headName.str());
+
+    oss << "StartTimeStepCalculation_PhiTest=" << startTimeStepCalculation << std::endl;
+    oss << "EndTimeStepCalculation_PhiTest=" << endTimeStepCalculation << std::endl;
+    oss << "DataToCalc_PhiTest=\"";
+    for (int i = 0; i < testGroups.size(); i++) {
+        oss << testGroups.at(i).at(0)->getDataToCalculate();
+        if (i < testGroups.size() - 1)
+            oss << " ";
+        else
+            oss << "\"" << std::endl;
+    }
+    oss << std::endl;
+
+    std::ostringstream failMessagePhi;
+    failMessagePhi << "FailTests_Phi_PhiTest=\"";
+    std::ostringstream failMessageOOA;
+    failMessageOOA << "FailTests_OOA_PhiTest=\"";
+    for (int i = 0; i < testGroups.size(); i++) {
+        fillMyData(testGroups.at(i));
+        for (int j = 0; j < lxForErase.size(); j++) {
+            if (status.at(j) == passed || status.at(j) == failed) {
+                oss << "PhiDiff_" << lxForErase.at(j) << "_" << dataToCalc.at(j) << "=" << phiDiff.at(j) << std::endl;
+            }
+            else 
+                failMessagePhi << lxForErase.at(j) << "_" << dataToCalc.at(j) << " ";
+        }
+        oss << std::endl;
+        for (int j = 0; j < orderOfAccuracy.size(); j++) {
+            if (status.at(j) == passed || status.at(j) == failed) {
+                oss << "OrderOfAccuracy_PhiDiff_" << lx.at(2 * j) << "_" << lx.at(2 * j + 1) << "_" << dataToCalc.at(j) << "=" << orderOfAccuracy.at(j) << std::endl;
+            }
+            else
+                failMessageOOA << lx.at(2 * j) << "_" << lx.at(2 * j + 1) << "_" << dataToCalc.at(j) << " ";
+        }
+        oss << std::endl;
+            
+    }
+    std::string failPhi = failMessagePhi.str();
+    if (failPhi.back() == ' ')
+        failPhi = failPhi.substr(0, failPhi.size() - 1);
+    failMessagePhi.str(std::string());
+    failMessagePhi << failPhi << "\"";
+    oss << failMessagePhi.str() << std::endl << std::endl;
+
+    std::string failOOA = failMessageOOA.str();
+    if (failOOA.back() == ' ')
+        failOOA = failOOA.substr(0, failOOA.size() - 1);
+    failMessageOOA.str(std::string());
+    failMessageOOA << failOOA << "\"";
+    oss << failMessageOOA.str() << std::endl << std::endl;
+
+    return oss.str();
 }
 
 void PhiTestLogFileInformation::addTestGroup(std::vector<std::shared_ptr<PhiTest> > tests)
 {
-	testGroups.push_back(tests);
+    testGroups.push_back(tests);
 }
 
 void PhiTestLogFileInformation::fillMyData(std::vector<std::shared_ptr<PhiTest> > testGroup)
 {
-	lxForErase.resize(0);
-	lx.resize(0);
-	phiDiff.resize(0);
-	orderOfAccuracy.resize(0);
-	dataToCalc.resize(0);
-	status.resize(0);
-	for (int i = 0; i < testGroup.size(); i++) {
-		status.push_back(testGroup.at(i)->getTestStatus());
-		status.push_back(testGroup.at(i)->getTestStatus());
-
-		std::vector<int> myLx = testGroup.at(i)->getLx();
-		std::vector<double> myPhiDiff;
-		if (testGroup.at(i)->getTestStatus() == simulationCrashed || testGroup.at(i)->getTestStatus() == test_error) {
-			for (int i = 0; i < myLx.size(); i++)
-				myPhiDiff.push_back((double)0.0);
-		}
-		else
-			myPhiDiff = testGroup.at(i)->getPhiDiff();
-
-		lx.insert(lx.end(), myLx.begin(), myLx.end());
-		lxForErase.insert(lxForErase.end(), myLx.begin(), myLx.end());
-		phiDiff.insert(phiDiff.end(), myPhiDiff.begin(), myPhiDiff.end());
-		orderOfAccuracy.push_back(testGroup.at(i)->getOrderOfAccuracy());
-		dataToCalc.push_back(testGroup.at(i)->getDataToCalculate());
-		dataToCalc.push_back(testGroup.at(i)->getDataToCalculate());
-		
-	}
-
-	for (int i = 0; i < lxForErase.size(); i++) 
-		for (int j = i + 1; j < lxForErase.size(); j++)
-			if (lxForErase.at(i) == lxForErase.at(j))
-				lxForErase.at(j) = -1;
-	
-	for (int i = lxForErase.size() - 1; i >= 0; i--) {
-		if (lxForErase.at(i) == -1) {
-			phiDiff.erase(phiDiff.begin() + i);
-			lxForErase.erase(lxForErase.begin() + i);
-		}
-	}
-
-	
+    lxForErase.resize(0);
+    lx.resize(0);
+    phiDiff.resize(0);
+    orderOfAccuracy.resize(0);
+    dataToCalc.resize(0);
+    status.resize(0);
+    for (int i = 0; i < testGroup.size(); i++) {
+        status.push_back(testGroup.at(i)->getTestStatus());
+        status.push_back(testGroup.at(i)->getTestStatus());
+
+        std::vector<int> myLx = testGroup.at(i)->getLx();
+        std::vector<double> myPhiDiff;
+        if (testGroup.at(i)->getTestStatus() == simulationCrashed || testGroup.at(i)->getTestStatus() == test_error) {
+            for (int i = 0; i < myLx.size(); i++)
+                myPhiDiff.push_back((double)0.0);
+        }
+        else
+            myPhiDiff = testGroup.at(i)->getPhiDiff();
+
+        lx.insert(lx.end(), myLx.begin(), myLx.end());
+        lxForErase.insert(lxForErase.end(), myLx.begin(), myLx.end());
+        phiDiff.insert(phiDiff.end(), myPhiDiff.begin(), myPhiDiff.end());
+        orderOfAccuracy.push_back(testGroup.at(i)->getOrderOfAccuracy());
+        dataToCalc.push_back(testGroup.at(i)->getDataToCalculate());
+        dataToCalc.push_back(testGroup.at(i)->getDataToCalculate());
+        
+    }
+
+    for (int i = 0; i < lxForErase.size(); i++) 
+        for (int j = i + 1; j < lxForErase.size(); j++)
+            if (lxForErase.at(i) == lxForErase.at(j))
+                lxForErase.at(j) = -1;
+    
+    for (int i = lxForErase.size() - 1; i >= 0; i--) {
+        if (lxForErase.at(i) == -1) {
+            phiDiff.erase(phiDiff.begin() + i);
+            lxForErase.erase(lxForErase.begin() + i);
+        }
+    }
+
+    
 }
 
 PhiTestLogFileInformation::PhiTestLogFileInformation(std::shared_ptr<PhiTestParameterStruct> testPara)
 {
-	startTimeStepCalculation = testPara->startTimeStepCalculation;
-	endTimeStepCalculation = testPara->endTimeStepCalculation;
+    startTimeStepCalculation = testPara->startTimeStepCalculation;
+    endTimeStepCalculation = testPara->endTimeStepCalculation;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/PhiTest/LogFileInformation/PhiTestLogFileInformation.h b/apps/gpu/tests/NumericalTests/Tests/PhiTest/LogFileInformation/PhiTestLogFileInformation.h
index f92b16a19f19bfbfabdf6985baf95d09090588fa..7ba0e269c7701c302b5d6275e710601d255d7282 100644
--- a/apps/gpu/tests/NumericalTests/Tests/PhiTest/LogFileInformation/PhiTestLogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Tests/PhiTest/LogFileInformation/PhiTestLogFileInformation.h
@@ -13,24 +13,24 @@ struct PhiTestParameterStruct;
 class PhiTestLogFileInformation : public TestLogFileInformation
 {
 public:
-	static std::shared_ptr<PhiTestLogFileInformation> getNewInstance(std::shared_ptr<PhiTestParameterStruct> testPara);
+    static std::shared_ptr<PhiTestLogFileInformation> getNewInstance(std::shared_ptr<PhiTestParameterStruct> testPara);
 
-	std::string getOutput();
-	void addTestGroup(std::vector<std::shared_ptr<PhiTest> > tests);
+    std::string getOutput();
+    void addTestGroup(std::vector<std::shared_ptr<PhiTest> > tests);
 
 private:
-	PhiTestLogFileInformation() {};
-	PhiTestLogFileInformation(std::shared_ptr<PhiTestParameterStruct> testPara);
-
-	void fillMyData(std::vector<std::shared_ptr<PhiTest> > testGroup);
-
-	std::vector<std::vector<std::shared_ptr<PhiTest> > > testGroups;
-	unsigned int startTimeStepCalculation, endTimeStepCalculation;
-	std::vector<int> lx;
-	std::vector<int> lxForErase;
-	std::vector<double> phiDiff;
-	std::vector<double> orderOfAccuracy;
-	std::vector<std::string> dataToCalc;
-	std::vector<TestStatus> status;
+    PhiTestLogFileInformation() {};
+    PhiTestLogFileInformation(std::shared_ptr<PhiTestParameterStruct> testPara);
+
+    void fillMyData(std::vector<std::shared_ptr<PhiTest> > testGroup);
+
+    std::vector<std::vector<std::shared_ptr<PhiTest> > > testGroups;
+    unsigned int startTimeStepCalculation, endTimeStepCalculation;
+    std::vector<int> lx;
+    std::vector<int> lxForErase;
+    std::vector<double> phiDiff;
+    std::vector<double> orderOfAccuracy;
+    std::vector<std::string> dataToCalc;
+    std::vector<TestStatus> status;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.cpp b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.cpp
index a8a4a4df2e4d04564dbeb2a881cebd95ce6a1a9f..43414be681caa56a373d453b32924014c07d9064 100644
--- a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.cpp
@@ -12,152 +12,152 @@
 
 std::shared_ptr<PhiTest> PhiTest::getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<PhiTestParameterStruct> testPara, std::string dataToCalculate)
 {
-	return std::shared_ptr<PhiTest>(new PhiTest(colorOutput, viscosity, testPara, dataToCalculate));
+    return std::shared_ptr<PhiTest>(new PhiTest(colorOutput, viscosity, testPara, dataToCalculate));
 }
 
 void PhiTest::evaluate()
 {
-	for (uint i = 0; i < postProStrategies.size(); i++)
-		phiDiff.push_back(postProStrategies.at(i)->getPhiDiff(dataToCalculate));
-	
-	orderOfAccuracy = calcOrderOfAccuracy(phiDiff);
-	testStatus = checkTestPassed(orderOfAccuracy);
-	
-	makeConsoleOutput();
+    for (uint i = 0; i < postProStrategies.size(); i++)
+        phiDiff.push_back(postProStrategies.at(i)->getPhiDiff(dataToCalculate));
+    
+    orderOfAccuracy = calcOrderOfAccuracy(phiDiff);
+    testStatus = checkTestPassed(orderOfAccuracy);
+    
+    makeConsoleOutput();
 }
 
 void PhiTest::update()
 {
-	TestImp::update();
+    TestImp::update();
 }
 
 void PhiTest::addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<PhiTestPostProcessingStrategy> postProStrategy)
 {
-	TestImp::addSimulation(sim, simInfo, postProStrategy);
-	postProStrategies.push_back(postProStrategy);
-	lx.push_back(postProStrategy->getNumberOfXNodes());
+    TestImp::addSimulation(sim, simInfo, postProStrategy);
+    postProStrategies.push_back(postProStrategy);
+    lx.push_back(postProStrategy->getNumberOfXNodes());
 }
 
 std::string PhiTest::getDataToCalculate()
 {
-	return dataToCalculate;
+    return dataToCalculate;
 }
 
 std::vector<int> PhiTest::getLx()
 {
-	std::vector<int> lxINT;
-	for (uint i = 0; i < lx.size(); i++)
-		lxINT.push_back((int)lx.at(i));
-	return lxINT;
+    std::vector<int> lxINT;
+    for (uint i = 0; i < lx.size(); i++)
+        lxINT.push_back((int)lx.at(i));
+    return lxINT;
 }
 
 std::vector<double> PhiTest::getPhiDiff()
 {
-	return phiDiff;
+    return phiDiff;
 }
 
 double PhiTest::getOrderOfAccuracy()
 {
-	return orderOfAccuracy;
+    return orderOfAccuracy;
 }
 
 PhiTest::PhiTest(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<PhiTestParameterStruct> testPara, std::string dataToCalculate)
-	: TestImp(colorOutput), dataToCalculate(dataToCalculate)
+    : TestImp(colorOutput), dataToCalculate(dataToCalculate)
 {
-	minOrderOfAccuracy = testPara->minOrderOfAccuracy;
-	startStepCalculation = testPara->startTimeStepCalculation;
-	endStepCalculation = testPara->endTimeStepCalculation;
+    minOrderOfAccuracy = testPara->minOrderOfAccuracy;
+    startStepCalculation = testPara->startTimeStepCalculation;
+    endStepCalculation = testPara->endTimeStepCalculation;
 
-	lx.resize(0);
-	phiDiff.resize(0);
+    lx.resize(0);
+    phiDiff.resize(0);
 }
 
 double PhiTest::calcOrderOfAccuracy(std::vector<double> data)
 {
-	double ooa = std::log(data.at(0) / data.at(1)) / std::log(lx.at(1) / lx.at(0));
-	
-	return ooa;
+    double ooa = std::log(data.at(0) / data.at(1)) / std::log(lx.at(1) / lx.at(0));
+    
+    return ooa;
 }
 
 TestStatus PhiTest::checkTestPassed(double orderOfAccuracy)
 {
-	if (orderOfAccuracy > minOrderOfAccuracy)
-		return passed;
-	else
-		return failed;
+    if (orderOfAccuracy > minOrderOfAccuracy)
+        return passed;
+    else
+        return failed;
 }
 
 std::vector<std::string> PhiTest::buildTestOutput()
 {
-	std::vector<std::string> output = buildBasicTestOutput();
-	std::ostringstream oss;
-
-	for (uint i = 0; i < phiDiff.size(); i++) {
-		oss << "PhiDiff" << simInfos.at(i)->getLx() << ": " << phiDiff.at(i);
-		output.push_back(oss.str());
-		oss.str(std::string());
-	}
-	oss << "OrderOfAccuracy: " << orderOfAccuracy;
-	output.push_back(oss.str());
-	oss.str(std::string());
-
-	return output;
+    std::vector<std::string> output = buildBasicTestOutput();
+    std::ostringstream oss;
+
+    for (uint i = 0; i < phiDiff.size(); i++) {
+        oss << "PhiDiff" << simInfos.at(i)->getLx() << ": " << phiDiff.at(i);
+        output.push_back(oss.str());
+        oss.str(std::string());
+    }
+    oss << "OrderOfAccuracy: " << orderOfAccuracy;
+    output.push_back(oss.str());
+    oss.str(std::string());
+
+    return output;
 }
 
 std::vector<std::string> PhiTest::buildBasicTestOutput()
 {
-	std::vector<std::string> output;
-	std::ostringstream oss;
+    std::vector<std::string> output;
+    std::ostringstream oss;
 
-	output.push_back("Phi Test");
+    output.push_back("Phi Test");
 
-	oss << "Kernel: " << simInfos.at(0)->getKernelName();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Kernel: " << simInfos.at(0)->getKernelName();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "Viscosity: " << simInfos.at(0)->getViscosity();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Viscosity: " << simInfos.at(0)->getViscosity();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	oss << simInfos.at(0)->getSimulationName();
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << simInfos.at(0)->getSimulationName();
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	for (uint i = 0; i < simInfos.size(); i++) {
-		oss << "L: " << std::setfill(' ') << std::right << std::setw(4) << simInfos.at(i)->getLx() << simInfos.at(i)->getSimulationParameterString();
-		output.push_back(oss.str());
-		oss.str(std::string());
-	}
+    for (uint i = 0; i < simInfos.size(); i++) {
+        oss << "L: " << std::setfill(' ') << std::right << std::setw(4) << simInfos.at(i)->getLx() << simInfos.at(i)->getSimulationParameterString();
+        output.push_back(oss.str());
+        oss.str(std::string());
+    }
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	oss << "DataToCalculate: " << dataToCalculate;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "DataToCalculate: " << dataToCalculate;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "StartTimeStep: " << startStepCalculation;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "StartTimeStep: " << startStepCalculation;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	oss << "EndTimeStep: " << endStepCalculation;
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "EndTimeStep: " << endStepCalculation;
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	output.push_back(oss.str());
+    output.push_back(oss.str());
 
-	return output;
+    return output;
 }
 
 std::vector<std::string> PhiTest::buildErrorTestOutput()
 {
-	std::vector<std::string> output = buildBasicTestOutput();
-	std::ostringstream oss;
+    std::vector<std::string> output = buildBasicTestOutput();
+    std::ostringstream oss;
 
-	oss << "Error Message: ";
-	output.push_back(oss.str());
-	oss.str(std::string());
+    oss << "Error Message: ";
+    output.push_back(oss.str());
+    oss.str(std::string());
 
-	return output;
+    return output;
 }
diff --git a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.h b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.h
index 4bf1c02f85e35b9cf1766642b6a0e9b58e6b4d07..513bfd693806cc8b84917e6e16080617ed74a3ba 100644
--- a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.h
+++ b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.h
@@ -14,35 +14,35 @@ struct PhiTestParameterStruct;
 class PhiTest : public TestImp 
 {
 public:
-	static std::shared_ptr<PhiTest> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<PhiTestParameterStruct> testPara, std::string dataToCalculate);
-	
-	void update();
-	void addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<PhiTestPostProcessingStrategy> postProStrategy);
-	void evaluate();
+    static std::shared_ptr<PhiTest> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<PhiTestParameterStruct> testPara, std::string dataToCalculate);
+    
+    void update();
+    void addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<PhiTestPostProcessingStrategy> postProStrategy);
+    void evaluate();
 
-	std::string getDataToCalculate();
-	std::vector<int> getLx();
-	std::vector<double> getPhiDiff();
-	double getOrderOfAccuracy();
+    std::string getDataToCalculate();
+    std::vector<int> getLx();
+    std::vector<double> getPhiDiff();
+    double getOrderOfAccuracy();
 
 
 
 private:
-	PhiTest(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<PhiTestParameterStruct> testPara, std::string dataToCalculate);
-	double calcOrderOfAccuracy(std::vector<double> data);
-	TestStatus checkTestPassed(double orderOfAccuracy);
-	std::vector<std::string> buildTestOutput();
-	std::vector<std::string> buildBasicTestOutput();
-	std::vector<std::string> buildErrorTestOutput();
-
-	unsigned int startStepCalculation, endStepCalculation;
-	std::vector<double> lx;
-	std::vector<double> phiDiff;
-	double orderOfAccuracy;
-	double minOrderOfAccuracy;
-	std::string dataToCalculate;
-
-	std::vector<std::shared_ptr<PhiTestPostProcessingStrategy> > postProStrategies;
+    PhiTest(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<PhiTestParameterStruct> testPara, std::string dataToCalculate);
+    double calcOrderOfAccuracy(std::vector<double> data);
+    TestStatus checkTestPassed(double orderOfAccuracy);
+    std::vector<std::string> buildTestOutput();
+    std::vector<std::string> buildBasicTestOutput();
+    std::vector<std::string> buildErrorTestOutput();
+
+    unsigned int startStepCalculation, endStepCalculation;
+    std::vector<double> lx;
+    std::vector<double> phiDiff;
+    double orderOfAccuracy;
+    double minOrderOfAccuracy;
+    std::string dataToCalculate;
+
+    std::vector<std::shared_ptr<PhiTestPostProcessingStrategy> > postProStrategies;
 
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTestParameterStruct.h b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTestParameterStruct.h
index d46b0d6ab41ef5e69b85290cdfd00a8cee956f34..93b71bccbe368719f1760b19bc74d7513fc27ea5 100644
--- a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTestParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTestParameterStruct.h
@@ -7,10 +7,10 @@
 
 struct PhiTestParameterStruct
 {
-	std::shared_ptr<BasicTestParameterStruct> basicTestParameter;
+    std::shared_ptr<BasicTestParameterStruct> basicTestParameter;
 
-	double minOrderOfAccuracy;
-	unsigned int startTimeStepCalculation;
-	unsigned int endTimeStepCalculation;
+    double minOrderOfAccuracy;
+    unsigned int startTimeStepCalculation;
+    unsigned int endTimeStepCalculation;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PostProcessingStrategy/PhiTestPostProcessingStrategy.cpp b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PostProcessingStrategy/PhiTestPostProcessingStrategy.cpp
index 53cee6c1113cfc8c313ec73bbac212015f2c1ccc..39d935d419bd13365b355084c2f4dfe76a643b5f 100644
--- a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PostProcessingStrategy/PhiTestPostProcessingStrategy.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PostProcessingStrategy/PhiTestPostProcessingStrategy.cpp
@@ -8,68 +8,68 @@
 
 std::shared_ptr<PhiTestPostProcessingStrategy> PhiTestPostProcessingStrategy::getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<PhiTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests)
 {
-	return std::shared_ptr<PhiTestPostProcessingStrategy>(new PhiTestPostProcessingStrategy(simResult, analyticalResult, testPara, dataToCalcTests));
+    return std::shared_ptr<PhiTestPostProcessingStrategy>(new PhiTestPostProcessingStrategy(simResult, analyticalResult, testPara, dataToCalcTests));
 }
 
 PhiTestPostProcessingStrategy::PhiTestPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<PhiTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests)
-	: PostProcessingStrategyImp(simResult), analyticalResult(analyticalResult), dataToCalculate(dataToCalcTests)
+    : PostProcessingStrategyImp(simResult), analyticalResult(analyticalResult), dataToCalculate(dataToCalcTests)
 {
-	startTimeStepCalculation = testPara->startTimeStepCalculation;
-	endTimeStepCalculation = testPara->endTimeStepCalculation;
-	phiDiff.resize(dataToCalculate.size());
+    startTimeStepCalculation = testPara->startTimeStepCalculation;
+    endTimeStepCalculation = testPara->endTimeStepCalculation;
+    phiDiff.resize(dataToCalculate.size());
 
-	isEvaluated = false;
-	fftCalculator = FFTCalculator::getInstance();
+    isEvaluated = false;
+    fftCalculator = FFTCalculator::getInstance();
 }
 
 std::vector<std::vector<double> > PhiTestPostProcessingStrategy::reduceDataToTimeSteps(std::vector<std::vector<double> > data)
 {
-	std::vector<int> timeStepsToDelete;
+    std::vector<int> timeStepsToDelete;
 
-	for (int i = simResult->getTimeSteps().size() - 1; i >= 0; i--) {
-		if (simResult->getTimeSteps().at(i) > endTimeStepCalculation)
-			timeStepsToDelete.push_back(i);
-		if (simResult->getTimeSteps().at(i) < startTimeStepCalculation)
-			timeStepsToDelete.push_back(i);
-	}
+    for (int i = simResult->getTimeSteps().size() - 1; i >= 0; i--) {
+        if (simResult->getTimeSteps().at(i) > endTimeStepCalculation)
+            timeStepsToDelete.push_back(i);
+        if (simResult->getTimeSteps().at(i) < startTimeStepCalculation)
+            timeStepsToDelete.push_back(i);
+    }
 
-	for (int i = 0; i < timeStepsToDelete.size(); i++)
-		data.erase(data.begin() + timeStepsToDelete.at(i));
+    for (int i = 0; i < timeStepsToDelete.size(); i++)
+        data.erase(data.begin() + timeStepsToDelete.at(i));
 
-	return data;
+    return data;
 }
 
 void PhiTestPostProcessingStrategy::evaluate()
 {
-	if (!isEvaluated) {
-		bool transpose = false;
-		int xNodes = simResult->getNumberOfXNodes();
-		int zNodes = simResult->getNumberOfZNodes();
-		int timeStepLength = simResult->getTimeStepLength();
-		for (int i = 0; i < dataToCalculate.size(); i++) {
-			std::vector<std::vector<double>> basicData;
-			if (dataToCalculate.at(i) == "Vx")
-				basicData = simResult->getVx();
-			if (dataToCalculate.at(i) == "Vy")
-				basicData = simResult->getVy();
-			if (dataToCalculate.at(i) == "Vz") 
-				basicData = simResult->getVz();
-			if (dataToCalculate.at(i) == "Press")
-				basicData = simResult->getPress();
-			if (dataToCalculate.at(i) == "Rho")
-				basicData = simResult->getRho();
+    if (!isEvaluated) {
+        bool transpose = false;
+        int xNodes = simResult->getNumberOfXNodes();
+        int zNodes = simResult->getNumberOfZNodes();
+        int timeStepLength = simResult->getTimeStepLength();
+        for (int i = 0; i < dataToCalculate.size(); i++) {
+            std::vector<std::vector<double>> basicData;
+            if (dataToCalculate.at(i) == "Vx")
+                basicData = simResult->getVx();
+            if (dataToCalculate.at(i) == "Vy")
+                basicData = simResult->getVy();
+            if (dataToCalculate.at(i) == "Vz") 
+                basicData = simResult->getVz();
+            if (dataToCalculate.at(i) == "Press")
+                basicData = simResult->getPress();
+            if (dataToCalculate.at(i) == "Rho")
+                basicData = simResult->getRho();
 
-			std::vector<std::vector<double>> dataForCalculation;
-			dataForCalculation = reduceDataToTimeSteps(basicData);
-			phiDiff.at(i) = fftCalculator->calcPhiDiff(dataForCalculation, transpose, xNodes, zNodes, timeStepLength);
-		}
-		isEvaluated = true;
-	}
+            std::vector<std::vector<double>> dataForCalculation;
+            dataForCalculation = reduceDataToTimeSteps(basicData);
+            phiDiff.at(i) = fftCalculator->calcPhiDiff(dataForCalculation, transpose, xNodes, zNodes, timeStepLength);
+        }
+        isEvaluated = true;
+    }
 }
 
 double PhiTestPostProcessingStrategy::getPhiDiff(std::string dataToCalc)
 {
-	for (int i = 0; i < dataToCalculate.size(); i++)
-		if(dataToCalculate.at(i) == dataToCalc)
-			return phiDiff.at(i);
+    for (int i = 0; i < dataToCalculate.size(); i++)
+        if(dataToCalculate.at(i) == dataToCalc)
+            return phiDiff.at(i);
 }
diff --git a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PostProcessingStrategy/PhiTestPostProcessingStrategy.h b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PostProcessingStrategy/PhiTestPostProcessingStrategy.h
index 1f8ab77135dd42a8724874a73d2d82f2567fa23a..e0d5596ab870756437ecd6ad4ee88f005db56a4d 100644
--- a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PostProcessingStrategy/PhiTestPostProcessingStrategy.h
+++ b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PostProcessingStrategy/PhiTestPostProcessingStrategy.h
@@ -12,22 +12,22 @@ struct PhiTestParameterStruct;
 class PhiTestPostProcessingStrategy : public PostProcessingStrategyImp
 {
 public:
-	static std::shared_ptr<PhiTestPostProcessingStrategy> getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<PhiTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
-	void evaluate();
+    static std::shared_ptr<PhiTestPostProcessingStrategy> getNewInstance(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<PhiTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
+    void evaluate();
 
-	double getPhiDiff(std::string dataToCalc);
+    double getPhiDiff(std::string dataToCalc);
 
 private:
-	PhiTestPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<PhiTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
-	
-	std::vector<std::vector<double> > reduceDataToTimeSteps(std::vector<std::vector<double> > data);
+    PhiTestPostProcessingStrategy(std::shared_ptr<SimulationResults> simResult, std::shared_ptr<AnalyticalResults> analyticalResult, std::shared_ptr<PhiTestParameterStruct> testPara, std::vector<std::string> dataToCalcTests);
+    
+    std::vector<std::vector<double> > reduceDataToTimeSteps(std::vector<std::vector<double> > data);
 
-	std::shared_ptr<AnalyticalResults> analyticalResult;
-	std::vector<std::string> dataToCalculate;
-	std::shared_ptr<FFTCalculator> fftCalculator;
-	unsigned int startTimeStepCalculation;
-	unsigned int endTimeStepCalculation;
-	std::vector<double> phiDiff;
-	bool isEvaluated;
+    std::shared_ptr<AnalyticalResults> analyticalResult;
+    std::vector<std::string> dataToCalculate;
+    std::shared_ptr<FFTCalculator> fftCalculator;
+    unsigned int startTimeStepCalculation;
+    unsigned int endTimeStepCalculation;
+    std::vector<double> phiDiff;
+    bool isEvaluated;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/AlmostEquals.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/AlmostEquals.h
index fd467aaa9ec710d909d4537aba3da7d9921bb59a..4a942afe7f8db1629d7184de7fff5e3c55f806be 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/AlmostEquals.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/AlmostEquals.h
@@ -60,21 +60,21 @@
 template <size_t size>
 class TypeWithSize {
 public:
-	// This prevents the user from using TypeWithSize<N> with incorrect
-	// values of N.
-	typedef void UInt;
+    // This prevents the user from using TypeWithSize<N> with incorrect
+    // values of N.
+    typedef void UInt;
 };
 
 // The specialization for size 4.
 template <>
 class TypeWithSize<4> {
 public:
-	// unsigned int has size 4 in both gcc and MSVC.
-	//
-	// As base/basictypes.h doesn't compile on Windows, we cannot use
-	// uint32, uint64, and etc here.
-	typedef int Int;
-	typedef unsigned int UInt;
+    // unsigned int has size 4 in both gcc and MSVC.
+    //
+    // As base/basictypes.h doesn't compile on Windows, we cannot use
+    // uint32, uint64, and etc here.
+    typedef int Int;
+    typedef unsigned int UInt;
 };
 
 // The specialization for size 8.
@@ -82,11 +82,11 @@ template <>
 class TypeWithSize<8> {
 public:
 #if _MSC_VER
-	typedef __int64 Int;
-	typedef unsigned __int64 UInt;
+    typedef __int64 Int;
+    typedef unsigned __int64 UInt;
 #else
-	typedef long long Int;  // NOLINT
-	typedef unsigned long long UInt;  // NOLINT
+    typedef long long Int;  // NOLINT
+    typedef unsigned long long UInt;  // NOLINT
 #endif  // _MSC_VER
 };
 
@@ -122,152 +122,152 @@ public:
 template <typename RawType>
 class FloatingPoint {
 public:
-	// Defines the unsigned integer type that has the same size as the
-	// floating point number.
-	typedef typename TypeWithSize<sizeof(RawType)>::UInt Bits;
-
-	// Constants.
-
-	// # of bits in a number.
-	static const size_t kBitCount = 8 * sizeof(RawType);
-
-	// # of fraction bits in a number.
-	static const size_t kFractionBitCount =
-		std::numeric_limits<RawType>::digits - 1;
-
-	// # of exponent bits in a number.
-	static const size_t kExponentBitCount = kBitCount - 1 - kFractionBitCount;
-
-	// The mask for the sign bit.
-	static const Bits kSignBitMask = static_cast<Bits>(1) << (kBitCount - 1);
-
-	// The mask for the fraction bits.
-	static const Bits kFractionBitMask =
-		~static_cast<Bits>(0) >> (kExponentBitCount + 1);
-
-	// The mask for the exponent bits.
-	static const Bits kExponentBitMask = ~(kSignBitMask | kFractionBitMask);
-
-	// How many ULP's (Units in the Last Place) we want to tolerate when
-	// comparing two numbers.  The larger the value, the more error we
-	// allow.  A 0 value means that two numbers must be exactly the same
-	// to be considered equal.
-	//
-	// The maximum error of a single floating-point operation is 0.5
-	// units in the last place.  On Intel CPU's, all floating-point
-	// calculations are done with 80-bit precision, while double has 64
-	// bits.  Therefore, 4 should be enough for ordinary use.
-	//
-	// See the following article for more details on ULP:
-	// http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
-	static const size_t kMaxUlps = 4;
-
-	// Constructs a FloatingPoint from a raw floating-point number.
-	//
-	// On an Intel CPU, passing a non-normalized NAN (Not a Number)
-	// around may change its bits, although the new value is guaranteed
-	// to be also a NAN.  Therefore, don't expect this constructor to
-	// preserve the bits in x when x is a NAN.
-	explicit FloatingPoint(const RawType& x) { u_.value_ = x; }
-
-	// Static methods
-
-	// Reinterprets a bit pattern as a floating-point number.
-	//
-	// This function is needed to test the AlmostEquals() method.
-	static RawType ReinterpretBits(const Bits bits) {
-		FloatingPoint fp(0);
-		fp.u_.bits_ = bits;
-		return fp.u_.value_;
-	}
-
-	// Returns the floating-point number that represent positive infinity.
-	static RawType Infinity() {
-		return ReinterpretBits(kExponentBitMask);
-	}
-
-	// Returns the maximum representable finite floating-point number.
-	static RawType Max();
-
-	// Non-static methods
-
-	// Returns the bits that represents this number.
-	const Bits &bits() const { return u_.bits_; }
-
-	// Returns the exponent bits of this number.
-	Bits exponent_bits() const { return kExponentBitMask & u_.bits_; }
-
-	// Returns the fraction bits of this number.
-	Bits fraction_bits() const { return kFractionBitMask & u_.bits_; }
-
-	// Returns the sign bit of this number.
-	Bits sign_bit() const { return kSignBitMask & u_.bits_; }
-
-	// Returns true iff this is NAN (not a number).
-	bool is_nan() const {
-		// It's a NAN if the exponent bits are all ones and the fraction
-		// bits are not entirely zeros.
-		return (exponent_bits() == kExponentBitMask) && (fraction_bits() != 0);
-	}
-
-	// Returns true iff this number is at most kMaxUlps ULP's away from
-	// rhs.  In particular, this function:
-	//
-	//   - returns false if either number is (or both are) NAN.
-	//   - treats really large numbers as almost equal to infinity.
-	//   - thinks +0.0 and -0.0 are 0 DLP's apart.
-	bool AlmostEquals(const FloatingPoint& rhs) const {
-		// The IEEE standard says that any comparison operation involving
-		// a NAN must return false.
-		if (is_nan() || rhs.is_nan()) return false;
-
-		return DistanceBetweenSignAndMagnitudeNumbers(u_.bits_, rhs.u_.bits_)
-			<= kMaxUlps;
-	}
+    // Defines the unsigned integer type that has the same size as the
+    // floating point number.
+    typedef typename TypeWithSize<sizeof(RawType)>::UInt Bits;
+
+    // Constants.
+
+    // # of bits in a number.
+    static const size_t kBitCount = 8 * sizeof(RawType);
+
+    // # of fraction bits in a number.
+    static const size_t kFractionBitCount =
+        std::numeric_limits<RawType>::digits - 1;
+
+    // # of exponent bits in a number.
+    static const size_t kExponentBitCount = kBitCount - 1 - kFractionBitCount;
+
+    // The mask for the sign bit.
+    static const Bits kSignBitMask = static_cast<Bits>(1) << (kBitCount - 1);
+
+    // The mask for the fraction bits.
+    static const Bits kFractionBitMask =
+        ~static_cast<Bits>(0) >> (kExponentBitCount + 1);
+
+    // The mask for the exponent bits.
+    static const Bits kExponentBitMask = ~(kSignBitMask | kFractionBitMask);
+
+    // How many ULP's (Units in the Last Place) we want to tolerate when
+    // comparing two numbers.  The larger the value, the more error we
+    // allow.  A 0 value means that two numbers must be exactly the same
+    // to be considered equal.
+    //
+    // The maximum error of a single floating-point operation is 0.5
+    // units in the last place.  On Intel CPU's, all floating-point
+    // calculations are done with 80-bit precision, while double has 64
+    // bits.  Therefore, 4 should be enough for ordinary use.
+    //
+    // See the following article for more details on ULP:
+    // http://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
+    static const size_t kMaxUlps = 4;
+
+    // Constructs a FloatingPoint from a raw floating-point number.
+    //
+    // On an Intel CPU, passing a non-normalized NAN (Not a Number)
+    // around may change its bits, although the new value is guaranteed
+    // to be also a NAN.  Therefore, don't expect this constructor to
+    // preserve the bits in x when x is a NAN.
+    explicit FloatingPoint(const RawType& x) { u_.value_ = x; }
+
+    // Static methods
+
+    // Reinterprets a bit pattern as a floating-point number.
+    //
+    // This function is needed to test the AlmostEquals() method.
+    static RawType ReinterpretBits(const Bits bits) {
+        FloatingPoint fp(0);
+        fp.u_.bits_ = bits;
+        return fp.u_.value_;
+    }
+
+    // Returns the floating-point number that represent positive infinity.
+    static RawType Infinity() {
+        return ReinterpretBits(kExponentBitMask);
+    }
+
+    // Returns the maximum representable finite floating-point number.
+    static RawType Max();
+
+    // Non-static methods
+
+    // Returns the bits that represents this number.
+    const Bits &bits() const { return u_.bits_; }
+
+    // Returns the exponent bits of this number.
+    Bits exponent_bits() const { return kExponentBitMask & u_.bits_; }
+
+    // Returns the fraction bits of this number.
+    Bits fraction_bits() const { return kFractionBitMask & u_.bits_; }
+
+    // Returns the sign bit of this number.
+    Bits sign_bit() const { return kSignBitMask & u_.bits_; }
+
+    // Returns true iff this is NAN (not a number).
+    bool is_nan() const {
+        // It's a NAN if the exponent bits are all ones and the fraction
+        // bits are not entirely zeros.
+        return (exponent_bits() == kExponentBitMask) && (fraction_bits() != 0);
+    }
+
+    // Returns true iff this number is at most kMaxUlps ULP's away from
+    // rhs.  In particular, this function:
+    //
+    //   - returns false if either number is (or both are) NAN.
+    //   - treats really large numbers as almost equal to infinity.
+    //   - thinks +0.0 and -0.0 are 0 DLP's apart.
+    bool AlmostEquals(const FloatingPoint& rhs) const {
+        // The IEEE standard says that any comparison operation involving
+        // a NAN must return false.
+        if (is_nan() || rhs.is_nan()) return false;
+
+        return DistanceBetweenSignAndMagnitudeNumbers(u_.bits_, rhs.u_.bits_)
+            <= kMaxUlps;
+    }
 
 private:
-	// The data type used to store the actual floating-point number.
-	union FloatingPointUnion {
-		RawType value_;  // The raw floating-point number.
-		Bits bits_;      // The bits that represent the number.
-	};
-
-	// Converts an integer from the sign-and-magnitude representation to
-	// the biased representation.  More precisely, let N be 2 to the
-	// power of (kBitCount - 1), an integer x is represented by the
-	// unsigned number x + N.
-	//
-	// For instance,
-	//
-	//   -N + 1 (the most negative number representable using
-	//          sign-and-magnitude) is represented by 1;
-	//   0      is represented by N; and
-	//   N - 1  (the biggest number representable using
-	//          sign-and-magnitude) is represented by 2N - 1.
-	//
-	// Read http://en.wikipedia.org/wiki/Signed_number_representations
-	// for more details on signed number representations.
-	static Bits SignAndMagnitudeToBiased(const Bits &sam) {
-		if (kSignBitMask & sam) {
-			// sam represents a negative number.
-			return ~sam + 1;
-		}
-		else {
-			// sam represents a positive number.
-			return kSignBitMask | sam;
-		}
-	}
-
-	// Given two numbers in the sign-and-magnitude representation,
-	// returns the distance between them as an unsigned number.
-	static Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits &sam1,
-		const Bits &sam2) {
-		const Bits biased1 = SignAndMagnitudeToBiased(sam1);
-		const Bits biased2 = SignAndMagnitudeToBiased(sam2);
-		return (biased1 >= biased2) ? (biased1 - biased2) : (biased2 - biased1);
-	}
-
-	FloatingPointUnion u_;
+    // The data type used to store the actual floating-point number.
+    union FloatingPointUnion {
+        RawType value_;  // The raw floating-point number.
+        Bits bits_;      // The bits that represent the number.
+    };
+
+    // Converts an integer from the sign-and-magnitude representation to
+    // the biased representation.  More precisely, let N be 2 to the
+    // power of (kBitCount - 1), an integer x is represented by the
+    // unsigned number x + N.
+    //
+    // For instance,
+    //
+    //   -N + 1 (the most negative number representable using
+    //          sign-and-magnitude) is represented by 1;
+    //   0      is represented by N; and
+    //   N - 1  (the biggest number representable using
+    //          sign-and-magnitude) is represented by 2N - 1.
+    //
+    // Read http://en.wikipedia.org/wiki/Signed_number_representations
+    // for more details on signed number representations.
+    static Bits SignAndMagnitudeToBiased(const Bits &sam) {
+        if (kSignBitMask & sam) {
+            // sam represents a negative number.
+            return ~sam + 1;
+        }
+        else {
+            // sam represents a positive number.
+            return kSignBitMask | sam;
+        }
+    }
+
+    // Given two numbers in the sign-and-magnitude representation,
+    // returns the distance between them as an unsigned number.
+    static Bits DistanceBetweenSignAndMagnitudeNumbers(const Bits &sam1,
+        const Bits &sam2) {
+        const Bits biased1 = SignAndMagnitudeToBiased(sam1);
+        const Bits biased2 = SignAndMagnitudeToBiased(sam2);
+        return (biased1 >= biased2) ? (biased1 - biased2) : (biased2 - biased1);
+    }
+
+    FloatingPointUnion u_;
 };
 
 // We cannot use std::numeric_limits<T>::max() as it clashes with the max()
@@ -280,8 +280,8 @@ inline double FloatingPoint<double>::Max() { return DBL_MAX; }
 template <typename T>
 bool AlmostEquals(T first, T second)
 {
-	FloatingPoint<T> firstAsFloatingPoint(first);
-	FloatingPoint<T> secondAsFloatingPoint(second);
+    FloatingPoint<T> firstAsFloatingPoint(first);
+    FloatingPoint<T> secondAsFloatingPoint(second);
 
-	return firstAsFloatingPoint.AlmostEquals(secondAsFloatingPoint);
+    return firstAsFloatingPoint.AlmostEquals(secondAsFloatingPoint);
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/FFTCalculator/FFTCalculator.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/FFTCalculator/FFTCalculator.h
index 7af2896f2d9ac2f98e29916db37fcd4e45b8e4cd..25e8119c54f2173a17838413b873c2a58c0f1415 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/FFTCalculator/FFTCalculator.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/FFTCalculator/FFTCalculator.h
@@ -13,34 +13,34 @@ class PhiAndNuTest;
 class FFTCalculator
 {
 public:
-	static std::shared_ptr<FFTCalculator> getInstance();
-	
-	double calcNy(std::vector<std::vector<double> > data, bool transposeData, int lx, int lz, int timeStepLength);
-	double calcPhiDiff(std::vector<std::vector<double> > data, bool transposeData, int lx, int lz, int timeStepLength);
+    static std::shared_ptr<FFTCalculator> getInstance();
+    
+    double calcNy(std::vector<std::vector<double> > data, bool transposeData, int lx, int lz, int timeStepLength);
+    double calcPhiDiff(std::vector<std::vector<double> > data, bool transposeData, int lx, int lz, int timeStepLength);
 
-	double calcAmplitudeForTimeStep(std::vector<double> data, bool transposeData, int lx, int lz);
+    double calcAmplitudeForTimeStep(std::vector<double> data, bool transposeData, int lx, int lz);
 
 private:
-	FFTCalculator();
-	void init();
-	double calcNy();
-	double calcPhiDiff();
-	std::vector<double> calcPhiForAllSteps();
-	std::vector<double> calcLinReg(std::vector<double> y);
-	std::vector<double> calcLogAmplitudeForAllSteps();
-	std::vector<double> calcAmplitudeForAllSteps();
-	void calcFFT2D(unsigned int step);
-	std::vector<std::vector<double> > transpose(std::vector<std::vector<double> >);
-	void initDataForFFT(fftw_complex* input, unsigned int step);
-	void setFFTResults(fftw_complex* result, unsigned int step);
+    FFTCalculator();
+    void init();
+    double calcNy();
+    double calcPhiDiff();
+    std::vector<double> calcPhiForAllSteps();
+    std::vector<double> calcLinReg(std::vector<double> y);
+    std::vector<double> calcLogAmplitudeForAllSteps();
+    std::vector<double> calcAmplitudeForAllSteps();
+    void calcFFT2D(unsigned int step);
+    std::vector<std::vector<double> > transpose(std::vector<std::vector<double> >);
+    void initDataForFFT(fftw_complex* input, unsigned int step);
+    void setFFTResults(fftw_complex* result, unsigned int step);
 
-	std::vector<std::vector<double> > data;
-	std::vector<std::vector<double> > fftResultsIm;
-	std::vector<std::vector<double> > fftResultsRe;
-	
-	bool fftCalculated;
-	bool transposeData;
-	double lx, lz;
-	double timeStepLength;
+    std::vector<std::vector<double> > data;
+    std::vector<std::vector<double> > fftResultsIm;
+    std::vector<std::vector<double> > fftResultsRe;
+    
+    bool fftCalculated;
+    bool transposeData;
+    double lx, lz;
+    double timeStepLength;
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithAmplitude/L2CalculatorNormalizeWithAmplitude.cpp b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithAmplitude/L2CalculatorNormalizeWithAmplitude.cpp
index 0ef35604920afd0d323ce389a169004d0d12ce23..0db4e6a0d7297061d0d7c7f5f1dd4ffcbb7434a8 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithAmplitude/L2CalculatorNormalizeWithAmplitude.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithAmplitude/L2CalculatorNormalizeWithAmplitude.cpp
@@ -6,20 +6,20 @@
 
 std::shared_ptr<L2NormCalculator> L2CalculatorNormalizeWithAmplitude::getInstance()
 {
-	static std::shared_ptr<L2NormCalculator> uniqueInstance;
-	if (!uniqueInstance)
-		uniqueInstance = std::shared_ptr<L2NormCalculator>(new L2CalculatorNormalizeWithAmplitude());
-	return uniqueInstance;
+    static std::shared_ptr<L2NormCalculator> uniqueInstance;
+    if (!uniqueInstance)
+        uniqueInstance = std::shared_ptr<L2NormCalculator>(new L2CalculatorNormalizeWithAmplitude());
+    return uniqueInstance;
 }
 
 double L2CalculatorNormalizeWithAmplitude::calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0)
 {
-	std::shared_ptr<FFTCalculator> fftCalc = FFTCalculator::getInstance();
-	double amplitude = fftCalc->calcAmplitudeForTimeStep(basicData, false, lx, lz) * lx / l0;
-	if (equalDouble(amplitude, 0.0))
-		return -1.0;
-	double counter = calcCounter(basicData, divergentData, level, lx, lz);
-	return std::sqrt(counter / (amplitude * amplitude));
+    std::shared_ptr<FFTCalculator> fftCalc = FFTCalculator::getInstance();
+    double amplitude = fftCalc->calcAmplitudeForTimeStep(basicData, false, lx, lz) * lx / l0;
+    if (equalDouble(amplitude, 0.0))
+        return -1.0;
+    double counter = calcCounter(basicData, divergentData, level, lx, lz);
+    return std::sqrt(counter / (amplitude * amplitude));
 }
 
 L2CalculatorNormalizeWithAmplitude::L2CalculatorNormalizeWithAmplitude() : L2NormCalculatorImp("Test could not run. Amplitude is zero. Normalization of the data is not possible.")
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithAmplitude/L2CalculatorNormalizeWithAmplitude.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithAmplitude/L2CalculatorNormalizeWithAmplitude.h
index fd8416d0ae446facf8738e5f96627d65cfc85b94..43d97ade4a1e9c6a005bf98f3af3920cc3f058aa 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithAmplitude/L2CalculatorNormalizeWithAmplitude.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithAmplitude/L2CalculatorNormalizeWithAmplitude.h
@@ -6,11 +6,11 @@
 class L2CalculatorNormalizeWithAmplitude : public L2NormCalculatorImp
 {
 public:
-	static std::shared_ptr<L2NormCalculator> getInstance();
+    static std::shared_ptr<L2NormCalculator> getInstance();
 
-	double calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0);
+    double calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0);
 
 private:
-	L2CalculatorNormalizeWithAmplitude();
+    L2CalculatorNormalizeWithAmplitude();
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithBasicData/L2CalculatorNormalizeWithBasicData.cpp b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithBasicData/L2CalculatorNormalizeWithBasicData.cpp
index 012c7fcf63a2210561d01b2ea05ed6b04d2fd44c..b3f819e321708846ebaf7faff3797d8289ffe77c 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithBasicData/L2CalculatorNormalizeWithBasicData.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithBasicData/L2CalculatorNormalizeWithBasicData.cpp
@@ -4,24 +4,24 @@
 
 std::shared_ptr<L2NormCalculator> L2CalculatorNormalizeWithBasicData::getInstance()
 {
-	static std::shared_ptr<L2NormCalculator> uniqueInstance;
-	if (!uniqueInstance)
-		uniqueInstance = std::shared_ptr<L2NormCalculator>(new L2CalculatorNormalizeWithBasicData());
-	return uniqueInstance;
+    static std::shared_ptr<L2NormCalculator> uniqueInstance;
+    if (!uniqueInstance)
+        uniqueInstance = std::shared_ptr<L2NormCalculator>(new L2CalculatorNormalizeWithBasicData());
+    return uniqueInstance;
 }
 
 double L2CalculatorNormalizeWithBasicData::calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0)
 {
-	double counter = calcCounter(basicData, divergentData, level, lx, lz);
-	double denominator = 0.0;
-	for (int i = 0; i < basicData.size(); i++) {
-		double area = (1 / std::pow(2.0, level.at(i))) * (1 / std::pow(2.0, level.at(i)));
-		denominator += (basicData.at(i)*basicData.at(i)) * area;
-	}
-	if (equalDouble(denominator, 0.0))
-		return -1.0;
+    double counter = calcCounter(basicData, divergentData, level, lx, lz);
+    double denominator = 0.0;
+    for (int i = 0; i < basicData.size(); i++) {
+        double area = (1 / std::pow(2.0, level.at(i))) * (1 / std::pow(2.0, level.at(i)));
+        denominator += (basicData.at(i)*basicData.at(i)) * area;
+    }
+    if (equalDouble(denominator, 0.0))
+        return -1.0;
 
-	return std::sqrt(counter / denominator);
+    return std::sqrt(counter / denominator);
 }
 
 L2CalculatorNormalizeWithBasicData::L2CalculatorNormalizeWithBasicData() : L2NormCalculatorImp("Test could not run. BasicData is zero. Normalization of the data is not possible.")
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithBasicData/L2CalculatorNormalizeWithBasicData.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithBasicData/L2CalculatorNormalizeWithBasicData.h
index 2adfe9e4a6a56ab667e93224d63f97eb333dea81..3b824a171432e778ae13cca318e2e77a8bd86ec3 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithBasicData/L2CalculatorNormalizeWithBasicData.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2CalculatorNormalizeWithBasicData/L2CalculatorNormalizeWithBasicData.h
@@ -6,11 +6,11 @@
 class L2CalculatorNormalizeWithBasicData : public L2NormCalculatorImp
 {
 public:
-	static std::shared_ptr<L2NormCalculator> getInstance();
+    static std::shared_ptr<L2NormCalculator> getInstance();
 
-	double calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0);
+    double calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0);
 
 private:
-	L2CalculatorNormalizeWithBasicData();
+    L2CalculatorNormalizeWithBasicData();
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculator.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculator.h
index 5c90fa1ae0fe1332608d2932f2fa40435bb21fc5..37ec7a3787396f8b651c6c5050270982f1257749 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculator.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculator.h
@@ -8,9 +8,9 @@
 class L2NormCalculator
 {
 public:
-	virtual ~L2NormCalculator() = default;
-	virtual double calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0) = 0;
-	virtual std::string getErrorMessage() = 0;
+    virtual ~L2NormCalculator() = default;
+    virtual double calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0) = 0;
+    virtual std::string getErrorMessage() = 0;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactory.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactory.h
index ffd1030cfa2abf8fb8b82699fe209dcf4e2416de..7372d2e8dd580282dec65ebfc8a27d0090a67e24 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactory.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactory.h
@@ -9,8 +9,8 @@ class L2NormCalculator;
 class L2NormCalculatorFactory
 {
 public:
-	virtual ~L2NormCalculatorFactory() = default;
-	virtual std::shared_ptr<L2NormCalculator> makeL2NormCalculator(std::string type) = 0;
+    virtual ~L2NormCalculatorFactory() = default;
+    virtual std::shared_ptr<L2NormCalculator> makeL2NormCalculator(std::string type) = 0;
 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactoryImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactoryImp.cpp
index e30ff286f1bc67c7ee6311fa6b48ccbf1e031c97..ac5b812b9323390ecad734d87e97e7d28170c131 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactoryImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactoryImp.cpp
@@ -5,18 +5,18 @@
 
 std::shared_ptr<L2NormCalculatorFactory> L2NormCalculatorFactoryImp::getInstance()
 {
-	static std::shared_ptr<L2NormCalculatorFactory> uniqueInstance;
-	if (!uniqueInstance)
-		uniqueInstance = std::shared_ptr<L2NormCalculatorFactory>(new L2NormCalculatorFactoryImp());
-	return uniqueInstance;
+    static std::shared_ptr<L2NormCalculatorFactory> uniqueInstance;
+    if (!uniqueInstance)
+        uniqueInstance = std::shared_ptr<L2NormCalculatorFactory>(new L2NormCalculatorFactoryImp());
+    return uniqueInstance;
 }
 
 std::shared_ptr<L2NormCalculator> L2NormCalculatorFactoryImp::makeL2NormCalculator(std::string type)
 {
-	if(type == "Amplitude")
-		return L2CalculatorNormalizeWithAmplitude::getInstance();
-	if (type == "BasicData")
-		return L2CalculatorNormalizeWithBasicData::getInstance();
+    if(type == "Amplitude")
+        return L2CalculatorNormalizeWithAmplitude::getInstance();
+    if (type == "BasicData")
+        return L2CalculatorNormalizeWithBasicData::getInstance();
 }
 
 L2NormCalculatorFactoryImp::L2NormCalculatorFactoryImp()
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactoryImp.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactoryImp.h
index 11739a697180296735d1427701dceb3d212e448a..34319d555c403bf84d37256779a7491951d6c6d8 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactoryImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactoryImp.h
@@ -6,11 +6,11 @@
 class L2NormCalculatorFactoryImp : public L2NormCalculatorFactory
 {
 public:
-	static std::shared_ptr<L2NormCalculatorFactory> getInstance();
+    static std::shared_ptr<L2NormCalculatorFactory> getInstance();
 
-	std::shared_ptr<L2NormCalculator> makeL2NormCalculator(std::string type);
+    std::shared_ptr<L2NormCalculator> makeL2NormCalculator(std::string type);
 
 private:
-	L2NormCalculatorFactoryImp();
+    L2NormCalculatorFactoryImp();
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorImp.cpp
index 86059f259c42094cd635232db13b5e22dcde0276..d7f68520685a4dadc18b67d2f3b064775401389e 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorImp.cpp
@@ -12,29 +12,29 @@ L2NormCalculatorImp::L2NormCalculatorImp(std::string errorMessage) : errorMessag
 
 bool L2NormCalculatorImp::equalDouble(double num1, double num2)
 {
-	const FloatingPoint<double> lhs(num1), rhs(num2);
+    const FloatingPoint<double> lhs(num1), rhs(num2);
 
-	if (lhs.AlmostEquals(rhs))
-		return true;
-	return false;
+    if (lhs.AlmostEquals(rhs))
+        return true;
+    return false;
 }
 
 double L2NormCalculatorImp::calcCounter(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz)
 {
-	double counter = 0.0;
-	for (int i = 0; i < basicData.size(); i++) {
-		double area = (1 / pow(2.0, level.at(i))) * (1 / pow(2.0, level.at(i)));
-		counter += ((divergentData.at(i) - basicData.at(i))*(divergentData.at(i) - basicData.at(i))) * area;
-	}
-	return counter;
+    double counter = 0.0;
+    for (int i = 0; i < basicData.size(); i++) {
+        double area = (1 / pow(2.0, level.at(i))) * (1 / pow(2.0, level.at(i)));
+        counter += ((divergentData.at(i) - basicData.at(i))*(divergentData.at(i) - basicData.at(i))) * area;
+    }
+    return counter;
 }
 
 std::string L2NormCalculatorImp::getErrorMessage()
 {
-	return errorMessage;
+    return errorMessage;
 }
 
 L2NormCalculatorImp::L2NormCalculatorImp()
 {
-	
+    
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorImp.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorImp.h
index de078439f7761b02d7ac3bbee4b375d857dfc5f0..eeef24233f857e35ca9eb141f5f0d411afd3d207 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorImp.h
@@ -10,18 +10,18 @@ class FFTCalculator;
 class L2NormCalculatorImp : public L2NormCalculator
 {
 public:
-	virtual double calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0) = 0;
-	std::string getErrorMessage();
+    virtual double calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0) = 0;
+    std::string getErrorMessage();
 
 protected:
-	L2NormCalculatorImp(std::string errorMessage);
+    L2NormCalculatorImp(std::string errorMessage);
 
-	bool equalDouble(double num1, double num2);
-	double calcCounter(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz);
+    bool equalDouble(double num1, double num2);
+    double calcCounter(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz);
 
-	std::string errorMessage;
+    std::string errorMessage;
 
 private:
-	L2NormCalculatorImp();
+    L2NormCalculatorImp();
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutput.h b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutput.h
index 5c9f03658f40e77cdd9d8ce8f82d3cd08e2c02d6..699c09dcf9b195ed3cfd0a8a93f3572316085604 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutput.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutput.h
@@ -12,10 +12,10 @@ class SimulationInfo;
 class ColorConsoleOutput
 {
 public:
-	virtual ~ColorConsoleOutput() = default;
-	virtual void makeSimulationHeadOutput(std::shared_ptr<SimulationInfo> simInfo) = 0;
-	virtual void makeTestOutput(std::vector<std::string> testOutput, TestStatus status) = 0;
-	virtual void makeFinalTestOutputHead(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest) = 0;
-	virtual void makeFinalTestOutputFoot(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest) = 0;
+    virtual ~ColorConsoleOutput() = default;
+    virtual void makeSimulationHeadOutput(std::shared_ptr<SimulationInfo> simInfo) = 0;
+    virtual void makeTestOutput(std::vector<std::string> testOutput, TestStatus status) = 0;
+    virtual void makeFinalTestOutputHead(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest) = 0;
+    virtual void makeFinalTestOutputFoot(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest) = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.cpp
index 577b392c593e94813aea64c16a2217ce8ee53141..56dd2be8af7cde3591cf4f470ebe5534cf7855c4 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.cpp
@@ -13,177 +13,177 @@ void log(const char* fmt) {
 
 std::shared_ptr<ColorConsoleOutput> ColorConsoleOutputImp::getInstance()
 {
-	static std::shared_ptr<ColorConsoleOutput> uniqueInstance;
-	if (!uniqueInstance)
-		uniqueInstance = std::shared_ptr<ColorConsoleOutput>(new ColorConsoleOutputImp());
-	return uniqueInstance;
+    static std::shared_ptr<ColorConsoleOutput> uniqueInstance;
+    if (!uniqueInstance)
+        uniqueInstance = std::shared_ptr<ColorConsoleOutput>(new ColorConsoleOutputImp());
+    return uniqueInstance;
 }
 
 void ColorConsoleOutputImp::makeSimulationHeadOutput(std::shared_ptr<SimulationInfo> simInfo)
 {
-	std::ostringstream ossLine0;
-	ossLine0 << "# Simulation Number " << simInfo->getSimulationID() << " of " << simInfo->getNumberOfSimulations();
-	int length = 49 - ossLine0.str().size();
-	ossLine0 << std::setfill(' ') << std::right << std::setw(length) << "#";
+    std::ostringstream ossLine0;
+    ossLine0 << "# Simulation Number " << simInfo->getSimulationID() << " of " << simInfo->getNumberOfSimulations();
+    int length = 49 - ossLine0.str().size();
+    ossLine0 << std::setfill(' ') << std::right << std::setw(length) << "#";
 
-	std::ostringstream ossLine1;
-	ossLine1 << "# Kernel: " << std::setfill(' ') << std::left << std::setw(38) << simInfo->getKernelName() << "#";
+    std::ostringstream ossLine1;
+    ossLine1 << "# Kernel: " << std::setfill(' ') << std::left << std::setw(38) << simInfo->getKernelName() << "#";
 
-	std::ostringstream ossLine2;
-	ossLine2 << "# Viscosity: " << std::setfill(' ') << std::left << std::setw(35) << simInfo->getViscosity() << "#";
+    std::ostringstream ossLine2;
+    ossLine2 << "# Viscosity: " << std::setfill(' ') << std::left << std::setw(35) << simInfo->getViscosity() << "#";
 
-	std::ostringstream ossLine3;
-	ossLine3 << "# SIMULATION: " << std::setfill(' ') << std::left << std::setw(34) << simInfo->getSimulationName() << "#";
+    std::ostringstream ossLine3;
+    ossLine3 << "# SIMULATION: " << std::setfill(' ') << std::left << std::setw(34) << simInfo->getSimulationName() << "#";
 
-	std::ostringstream ossLine4;
-	ossLine4 << std::setfill(' ') << std::left << std::setw(14) << "#" << std::setw(34) << simInfo->getSimulationParameterString() << "#";
+    std::ostringstream ossLine4;
+    ossLine4 << std::setfill(' ') << std::left << std::setw(14) << "#" << std::setw(34) << simInfo->getSimulationParameterString() << "#";
 
-	std::ostringstream ossLine5;
-	ossLine5 << "# L: " << std::setfill(' ') << std::left << std::setw(43) << simInfo->getLx() << "#";
+    std::ostringstream ossLine5;
+    ossLine5 << "# L: " << std::setfill(' ') << std::left << std::setw(43) << simInfo->getLx() << "#";
 
-	std::ostringstream ossLine6;
-	time_t now;
-	struct tm nowLocal;
-	now = time(NULL);
-	nowLocal = *localtime(&now);
-	ossLine6 << "# DATE: " << std::setfill('0') << std::setw(2) << nowLocal.tm_mday << "." << std::setw(2) << nowLocal.tm_mon + 1 << "." << nowLocal.tm_year + 1900 << "   TIME: " << std::setw(2) << nowLocal.tm_hour << ":" << std::setw(2) << nowLocal.tm_min << ":" << std::setw(2) << nowLocal.tm_sec << "\t" << "\t#";
+    std::ostringstream ossLine6;
+    time_t now;
+    struct tm nowLocal;
+    now = time(NULL);
+    nowLocal = *localtime(&now);
+    ossLine6 << "# DATE: " << std::setfill('0') << std::setw(2) << nowLocal.tm_mday << "." << std::setw(2) << nowLocal.tm_mon + 1 << "." << nowLocal.tm_year + 1900 << "   TIME: " << std::setw(2) << nowLocal.tm_hour << ":" << std::setw(2) << nowLocal.tm_min << ":" << std::setw(2) << nowLocal.tm_sec << "\t" << "\t#";
 
-	printGreenHashLine();
-	printGreen(ossLine0.str());
-	printGreen(ossLine1.str());
-	printGreen(ossLine2.str());
-	printGreen(ossLine3.str());
-	printGreen(ossLine4.str());
-	printGreen(ossLine5.str());
-	printGreen(ossLine6.str());
-	printGreenHashLine();
+    printGreenHashLine();
+    printGreen(ossLine0.str());
+    printGreen(ossLine1.str());
+    printGreen(ossLine2.str());
+    printGreen(ossLine3.str());
+    printGreen(ossLine4.str());
+    printGreen(ossLine5.str());
+    printGreen(ossLine6.str());
+    printGreenHashLine();
 }
 
 void ColorConsoleOutputImp::makeTestOutput(std::vector<std::string> testOutput, TestStatus status)
 {
-	setColor(status);
-	printTestStart();
+    setColor(status);
+    printTestStart();
 
-	printColor("");
-	printColor(testOutput.at(0));
-	printColor("");
+    printColor("");
+    printColor(testOutput.at(0));
+    printColor("");
 
-	for (uint i = 1; i < testOutput.size(); i++)
-		print(testOutput.at(i));
+    for (uint i = 1; i < testOutput.size(); i++)
+        print(testOutput.at(i));
 
-	printColor("");
-	printColor(testOutput.at(0));
-	printColor("");
+    printColor("");
+    printColor(testOutput.at(0));
+    printColor("");
 
-	printTestEnd(status);
+    printTestEnd(status);
 }
 
 void ColorConsoleOutputImp::makeFinalTestOutputHead(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest)
 {
-	setColor(numberOfTests == numberOfPassedTest);
-	printTestPassed(numberOfTests, numberOfExecutedTest, numberOfPassedTest, numberOfFailedTest, numberOfErrorTest, numberOfNotExecutedTest);
-	printLine();
+    setColor(numberOfTests == numberOfPassedTest);
+    printTestPassed(numberOfTests, numberOfExecutedTest, numberOfPassedTest, numberOfFailedTest, numberOfErrorTest, numberOfNotExecutedTest);
+    printLine();
 }
 
 void ColorConsoleOutputImp::makeFinalTestOutputFoot(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest)
 {
-	setColor(numberOfTests == numberOfPassedTest);
-	printLine();
-	printTestPassed(numberOfTests, numberOfExecutedTest, numberOfPassedTest, numberOfFailedTest, numberOfErrorTest, numberOfNotExecutedTest);
+    setColor(numberOfTests == numberOfPassedTest);
+    printLine();
+    printTestPassed(numberOfTests, numberOfExecutedTest, numberOfPassedTest, numberOfFailedTest, numberOfErrorTest, numberOfNotExecutedTest);
 }
 
 void ColorConsoleOutputImp::printTestStart()
 {
-	log( "[-----------]");
-	log( "[Run Test   ]");
-	log( "[TestInfo   ]");
+    log( "[-----------]");
+    log( "[Run Test   ]");
+    log( "[TestInfo   ]");
 }
 
 void ColorConsoleOutputImp::printTestEnd(TestStatus status)
 {
-	log( "[   TestInfo]");
-	switch (status)
-	{
-	case passed: log( "[     PASSED]");
-		break;
-	case failed: log( "[     FAILED]");
-		break;
-	case test_error: log( "[      ERROR]");
-		break;
-	case simulationCrashed: log( "[Sim crashed]");
-		break;
-	default:
-		break;
-	}
-
-	log( "[-----------]");
+    log( "[   TestInfo]");
+    switch (status)
+    {
+    case passed: log( "[     PASSED]");
+        break;
+    case failed: log( "[     FAILED]");
+        break;
+    case test_error: log( "[      ERROR]");
+        break;
+    case simulationCrashed: log( "[Sim crashed]");
+        break;
+    default:
+        break;
+    }
+
+    log( "[-----------]");
 }
 
 void ColorConsoleOutputImp::print(std::string output)
 {
-	log("[           ] ");
-	log(output.c_str());
+    log("[           ] ");
+    log(output.c_str());
 }
 
 void ColorConsoleOutputImp::printColor(std::string output)
 {
-	log("[-----------] ");
-	log(output.c_str());
+    log("[-----------] ");
+    log(output.c_str());
 }
 
 void ColorConsoleOutputImp::setColor(TestStatus status)
 {
-	switch (status)
-	{
-	case passed: color = "green";
-		break;
-	case failed: color = "red";
-		break;
-	case test_error: color = "yellow";
-		break;
-	case simulationCrashed: color = "yellow";
-		break;
-	default:
-		break;
-	}
+    switch (status)
+    {
+    case passed: color = "green";
+        break;
+    case failed: color = "red";
+        break;
+    case test_error: color = "yellow";
+        break;
+    case simulationCrashed: color = "yellow";
+        break;
+    default:
+        break;
+    }
 }
 
 void ColorConsoleOutputImp::setColor(bool passed)
 {
-	if (passed)
-		color = "green";
-	else
-		color = "red";
+    if (passed)
+        color = "green";
+    else
+        color = "red";
 }
 
 void ColorConsoleOutputImp::printTestPassed(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest)
 {
-	std::ostringstream test;
-	test << "[-----------]" << std::endl;
-	test << "[-----------] Test Summary" << std::endl;
-	test << "[-----------] " << numberOfTests << " initialized Tests" << std::endl;
-	test << "[-----------]" << std::endl;
-	test << "[-----------] " << numberOfExecutedTest << " out of " << numberOfTests << " Tests executed" << std::endl;
-	test << "[-----------] " << numberOfErrorTest << " out of " << numberOfTests << " Tests executed and completed with error" << std::endl;
-	test << "[-----------] " << numberOfNotExecutedTest << " out of " << numberOfTests << " Tests not executed" << std::endl;
-	test << "[-----------]" << std::endl;
-	test << "[-----------] " << numberOfPassedTest << " out of " << numberOfExecutedTest << " executed Tests passed" << std::endl;
-	test << "[-----------] " << numberOfFailedTest << " out of " << numberOfExecutedTest << " executed Tests failed" << std::endl;
-	test << "[-----------]" << std::endl;
-	log(test.str().c_str());
+    std::ostringstream test;
+    test << "[-----------]" << std::endl;
+    test << "[-----------] Test Summary" << std::endl;
+    test << "[-----------] " << numberOfTests << " initialized Tests" << std::endl;
+    test << "[-----------]" << std::endl;
+    test << "[-----------] " << numberOfExecutedTest << " out of " << numberOfTests << " Tests executed" << std::endl;
+    test << "[-----------] " << numberOfErrorTest << " out of " << numberOfTests << " Tests executed and completed with error" << std::endl;
+    test << "[-----------] " << numberOfNotExecutedTest << " out of " << numberOfTests << " Tests not executed" << std::endl;
+    test << "[-----------]" << std::endl;
+    test << "[-----------] " << numberOfPassedTest << " out of " << numberOfExecutedTest << " executed Tests passed" << std::endl;
+    test << "[-----------] " << numberOfFailedTest << " out of " << numberOfExecutedTest << " executed Tests failed" << std::endl;
+    test << "[-----------]" << std::endl;
+    log(test.str().c_str());
 }
 
 void ColorConsoleOutputImp::printLine()
 {
-	log("----------------------------------------------------------------------");
+    log("----------------------------------------------------------------------");
 }
 
 void ColorConsoleOutputImp::printGreen(std::string output)
 {
-	log(output.c_str());
+    log(output.c_str());
 }
 
 void ColorConsoleOutputImp::printGreenHashLine()
 {
-	log("#################################################");
+    log("#################################################");
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.h b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.h
index 96b33663195a6982e140a78cf3dd64730a0019ec..57dbbfdb601881f6b37bfc50dcaab4499e454b1b 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutputImp.h
@@ -10,26 +10,26 @@
 class ColorConsoleOutputImp : public ColorConsoleOutput
 {
 public:
-	static std::shared_ptr<ColorConsoleOutput> getInstance();
+    static std::shared_ptr<ColorConsoleOutput> getInstance();
 
-	void makeSimulationHeadOutput(std::shared_ptr<SimulationInfo> simInfo);
-	void makeTestOutput(std::vector<std::string> testOutput, TestStatus status);
-	void makeFinalTestOutputHead(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest);
-	void makeFinalTestOutputFoot(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest);
+    void makeSimulationHeadOutput(std::shared_ptr<SimulationInfo> simInfo);
+    void makeTestOutput(std::vector<std::string> testOutput, TestStatus status);
+    void makeFinalTestOutputHead(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest);
+    void makeFinalTestOutputFoot(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest);
 
 private:
-	ColorConsoleOutputImp() {};
-	void printTestStart();
-	void printTestEnd(TestStatus status);
-	void print(std::string output);
-	void printColor(std::string output);
-	void setColor(TestStatus status);
-	void setColor(bool passed);
-	void printTestPassed(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest);
-	void printLine();
-
-	void printGreen(std::string output);
-	void printGreenHashLine();
+    ColorConsoleOutputImp() {};
+    void printTestStart();
+    void printTestEnd(TestStatus status);
+    void print(std::string output);
+    void printColor(std::string output);
+    void setColor(TestStatus status);
+    void setColor(bool passed);
+    void printTestPassed(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest);
+    void printLine();
+
+    void printGreen(std::string output);
+    void printGreenHashLine();
 
     // not used at the moment
     std::string color;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriter.h b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriter.h
index a6e1eecf4a976e8c8e6a34c34f8b1e5e08887fd1..96f34172054f59ec47b78990565eab2ca6b9027e 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriter.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriter.h
@@ -10,8 +10,8 @@ class AnalyticalResults;
 class AnalyticalResults2DToVTKWriter
 {
 public:
-	virtual ~AnalyticalResults2DToVTKWriter() = default;
-	virtual void writeAnalyticalResult(std::shared_ptr<Parameter> para, std::shared_ptr<AnalyticalResults> analyticalResult) = 0;
+    virtual ~AnalyticalResults2DToVTKWriter() = default;
+    virtual void writeAnalyticalResult(std::shared_ptr<Parameter> para, std::shared_ptr<AnalyticalResults> analyticalResult) = 0;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriterImp.h b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriterImp.h
index 12f8f3583eb989e7c02c11126f403edcc4ba4f2b..34ebef276d1f366d4dae8575c499e1190c674955 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriterImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriterImp.h
@@ -9,19 +9,19 @@
 class AnalyticalResults2DToVTKWriterImp : public AnalyticalResults2DToVTKWriter
 {
 public:
-	static std::shared_ptr<AnalyticalResults2DToVTKWriterImp> getInstance(bool writeAnalyticalResults);
+    static std::shared_ptr<AnalyticalResults2DToVTKWriterImp> getInstance(bool writeAnalyticalResults);
 
-	void writeAnalyticalResult(std::shared_ptr<Parameter> para, std::shared_ptr<AnalyticalResults> analyticalResult);
+    void writeAnalyticalResult(std::shared_ptr<Parameter> para, std::shared_ptr<AnalyticalResults> analyticalResult);
 
 private:
-	AnalyticalResults2DToVTKWriterImp() {};
-	AnalyticalResults2DToVTKWriterImp(bool writeAnalyticalResults);
+    AnalyticalResults2DToVTKWriterImp() {};
+    AnalyticalResults2DToVTKWriterImp(bool writeAnalyticalResults);
 
-	void writeTimeStep(std::shared_ptr<Parameter> para, std::shared_ptr<AnalyticalResults> analyticalResult, int level, std::vector<std::string> & fname, int timeStep);
-	int CoordResults2DTo1D(int x, int z);
+    void writeTimeStep(std::shared_ptr<Parameter> para, std::shared_ptr<AnalyticalResults> analyticalResult, int level, std::vector<std::string> & fname, int timeStep);
+    int CoordResults2DTo1D(int x, int z);
 
-	std::shared_ptr<Parameter> para;
-	int maxX, maxY, maxZ;
-	bool writeAnalyticalResults;
+    std::shared_ptr<Parameter> para;
+    int maxX, maxY, maxZ;
+    bool writeAnalyticalResults;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/ToVectorWriter.cpp b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/ToVectorWriter.cpp
index 078bc7297679c6761ce387739735ace9805cc368..4f8ec6bd347a272b8a57c72b864992849bcac390 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/ToVectorWriter.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/ToVectorWriter.cpp
@@ -11,36 +11,36 @@
 
 ToVectorWriter::ToVectorWriter(std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int timeStepLength)
 {
-	this->startTimeVectorWriter = vectorWriterInfo->startTimeVectorWriter;
-	this->writeVTKFiles = vectorWriterInfo->writeVTKFiles;
-	this->startTimeVTKWriter = vectorWriterInfo->startTimeVTKDataWriter;
+    this->startTimeVectorWriter = vectorWriterInfo->startTimeVectorWriter;
+    this->writeVTKFiles = vectorWriterInfo->writeVTKFiles;
+    this->startTimeVTKWriter = vectorWriterInfo->startTimeVTKDataWriter;
 
-	this->vtkFileWriter = std::shared_ptr<FileWriter> (new FileWriter());
+    this->vtkFileWriter = std::shared_ptr<FileWriter> (new FileWriter());
 
-	this->timeStepLength = timeStepLength;
+    this->timeStepLength = timeStepLength;
 }
 
 void ToVectorWriter::writeInit(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemoryManager> cudaManager)
 {
-	if (startTimeVectorWriter == 0) {
-		for (int level = para->getCoarse(); level <= para->getFine(); level++)
-			cudaManager->cudaCopyPrint(level);
-		writeTimestep(para, 0);
-	}
-		
-	if (writeVTKFiles && startTimeVTKWriter == 0)
-		vtkFileWriter->writeTimestep(para, 0);
+    if (startTimeVectorWriter == 0) {
+        for (int level = para->getCoarse(); level <= para->getFine(); level++)
+            cudaManager->cudaCopyPrint(level);
+        writeTimestep(para, 0);
+    }
+        
+    if (writeVTKFiles && startTimeVTKWriter == 0)
+        vtkFileWriter->writeTimestep(para, 0);
 }
 
 void ToVectorWriter::writeTimestep(std::shared_ptr<Parameter> para, unsigned int t)
 {
-	if (startTimeVectorWriter <= t)
-	{
-		for (int level = para->getCoarse(); level <= para->getFine(); level++)				
-			writeTimestep(para, t, level);
-	}
-	if (writeVTKFiles && startTimeVTKWriter < t)
-		vtkFileWriter->writeTimestep(para, t);
+    if (startTimeVectorWriter <= t)
+    {
+        for (int level = para->getCoarse(); level <= para->getFine(); level++)                
+            writeTimestep(para, t, level);
+    }
+    if (writeVTKFiles && startTimeVTKWriter < t)
+        vtkFileWriter->writeTimestep(para, t);
 }
 
 ToVectorWriter::ToVectorWriter()
diff --git a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/ToVectorWriter.h b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/ToVectorWriter.h
index 1123a36a35e0de5971ce892058c0a62659edfb24..724fa8a65324308589e6c080652624483cff0389 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/ToVectorWriter.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/ToVectorWriter.h
@@ -10,17 +10,17 @@ struct VectorWriterInformationStruct;
 class ToVectorWriter : public DataWriter
 {
 public:
-	void writeInit(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemoryManager> cudaManager);
-	void writeTimestep(std::shared_ptr<Parameter> para, unsigned int t);
-	
+    void writeInit(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemoryManager> cudaManager);
+    void writeTimestep(std::shared_ptr<Parameter> para, unsigned int t);
+    
 protected:
-	ToVectorWriter();
-	ToVectorWriter(std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int timeStepLength);
-	virtual void writeTimestep(std::shared_ptr<Parameter> para, unsigned int t, int level) = 0;
+    ToVectorWriter();
+    ToVectorWriter(std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int timeStepLength);
+    virtual void writeTimestep(std::shared_ptr<Parameter> para, unsigned int t, int level) = 0;
 
-	std::shared_ptr<FileWriter> vtkFileWriter;
-	bool writeVTKFiles;
-	unsigned int timeStepLength;
-	unsigned int startTimeVectorWriter, startTimeVTKWriter;
+    std::shared_ptr<FileWriter> vtkFileWriter;
+    bool writeVTKFiles;
+    unsigned int timeStepLength;
+    unsigned int startTimeVectorWriter, startTimeVTKWriter;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/Y2dSliceToResults/Y2dSliceToResults.h b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/Y2dSliceToResults/Y2dSliceToResults.h
index 87214e6be0c62291dcd6191551bdc53150e5da33..2676e8a93a1639d6807d75174a26f37978827154 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/Y2dSliceToResults/Y2dSliceToResults.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/Y2dSliceToResults/Y2dSliceToResults.h
@@ -13,19 +13,19 @@ struct VectorWriterInformationStruct;
 class Y2dSliceToResults : public ToVectorWriter
 {
 public:
-	static std::shared_ptr<Y2dSliceToResults> getNewInstance(std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int timeStepLength, std::shared_ptr<SimulationResults> simResults, unsigned int ySliceForCalculation);
+    static std::shared_ptr<Y2dSliceToResults> getNewInstance(std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int timeStepLength, std::shared_ptr<SimulationResults> simResults, unsigned int ySliceForCalculation);
 
-	
+    
 private:
-	Y2dSliceToResults();
-	Y2dSliceToResults(std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int timeStepLength, std::shared_ptr<SimulationResults> simResults, unsigned int ySliceForCalculation);
-	
-	void writeTimestep(std::shared_ptr<Parameter> para, unsigned int t, int level);
-	int CoordPara3DTo1D(int x, int y, int z);
-	int CoordResults2DTo1D(int x, int z);
+    Y2dSliceToResults();
+    Y2dSliceToResults(std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int timeStepLength, std::shared_ptr<SimulationResults> simResults, unsigned int ySliceForCalculation);
+    
+    void writeTimestep(std::shared_ptr<Parameter> para, unsigned int t, int level);
+    int CoordPara3DTo1D(int x, int y, int z);
+    int CoordResults2DTo1D(int x, int z);
 
-	std::shared_ptr<SimulationResults> simResults;
-	unsigned int ySliceForCalculation;
-	unsigned int maxX, maxY, maxZ;
+    std::shared_ptr<SimulationResults> simResults;
+    unsigned int ySliceForCalculation;
+    unsigned int maxX, maxY, maxZ;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialCondition.h b/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialCondition.h
index 62cead9311e1ab581091e7eceb660dbd6200c1cc..8eeb67bd173369cdf10a64517385c088c9ca2485 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialCondition.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialCondition.h
@@ -11,14 +11,14 @@ class Parameter;
 class InitialCondition
 {
 public:
-	virtual ~InitialCondition() = default;
-	virtual void setParameter(std::shared_ptr<Parameter> para) = 0;
-	virtual void init(const int level) = 0;
-	virtual real getInitVX(int i, int level) = 0;
-	virtual real getInitVY(int i, int level) = 0;
-	virtual real getInitVZ(int i, int level) = 0;
-	virtual real getInitROH(int i, int level) = 0;
-	virtual real getInitPRESS(int i, int level) = 0;
+    virtual ~InitialCondition() = default;
+    virtual void setParameter(std::shared_ptr<Parameter> para) = 0;
+    virtual void init(const int level) = 0;
+    virtual real getInitVX(int i, int level) = 0;
+    virtual real getInitVY(int i, int level) = 0;
+    virtual real getInitVZ(int i, int level) = 0;
+    virtual real getInitROH(int i, int level) = 0;
+    virtual real getInitPRESS(int i, int level) = 0;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialConditionImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialConditionImp.cpp
index 60b37a5be4fb0afc01509467c22b50e220f106f8..456747a414af2bd29bcc534b1a4d73bb4fcb3bf2 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialConditionImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialConditionImp.cpp
@@ -4,27 +4,27 @@
 
 void InitialConditionImp::setParameter(std::shared_ptr<Parameter> para)
 {
-	this->para = para;
+    this->para = para;
 }
 
 void InitialConditionImp::init(const int level)
 {
-	XCoordStopNode = para->getGridX().at(level) - 1.0 + 0.5;
-	YCoordStopNode = para->getGridY().at(level) - 1.0 + 0.5;
-	ZCoordStopNode = para->getGridZ().at(level) - 1.0 + 0.5;
+    XCoordStopNode = para->getGridX().at(level) - 1.0 + 0.5;
+    YCoordStopNode = para->getGridY().at(level) - 1.0 + 0.5;
+    ZCoordStopNode = para->getGridZ().at(level) - 1.0 + 0.5;
 }
 
 real InitialConditionImp::getXCoord(int i, int level)
 {
-	return para->getParH(level)->coordinateX[i] - 1.0;
+    return para->getParH(level)->coordinateX[i] - 1.0;
 }
 
 real InitialConditionImp::getYCoord(int i, int level)
 {
-	return para->getParH(level)->coordinateY[i] - 1.0;
+    return para->getParH(level)->coordinateY[i] - 1.0;
 }
 
 real InitialConditionImp::getZCoord(int i, int level)
 {
-	return para->getParH(level)->coordinateZ[i] - 1.0;
+    return para->getParH(level)->coordinateZ[i] - 1.0;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialConditionImp.h b/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialConditionImp.h
index f82ad6a9f2f6a690917c2710e40950c7d607faae..94dd945c6ebe22c1d3c913b10e7449ce5b69536d 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialConditionImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialConditionImp.h
@@ -11,22 +11,22 @@ class Parameter;
 class InitialConditionImp : public InitialCondition
 {
 public:
-	void setParameter(std::shared_ptr<Parameter> para);
-	void init(const int level);
-	virtual real getInitVX(int i, int level) = 0;
-	virtual real getInitVY(int i, int level) = 0;
-	virtual real getInitVZ(int i, int level) = 0;
-	virtual real getInitROH(int i, int level) = 0;
-	virtual real getInitPRESS(int i, int level) = 0;
+    void setParameter(std::shared_ptr<Parameter> para);
+    void init(const int level);
+    virtual real getInitVX(int i, int level) = 0;
+    virtual real getInitVY(int i, int level) = 0;
+    virtual real getInitVZ(int i, int level) = 0;
+    virtual real getInitROH(int i, int level) = 0;
+    virtual real getInitPRESS(int i, int level) = 0;
 
 protected:
-	InitialConditionImp() {};
-	real getXCoord(int i, int level);
-	real getYCoord(int i, int level);
-	real getZCoord(int i, int level);
+    InitialConditionImp() {};
+    real getXCoord(int i, int level);
+    real getYCoord(int i, int level);
+    real getZCoord(int i, int level);
 
-	std::shared_ptr<Parameter> para;
-	real XCoordStopNode, YCoordStopNode, ZCoordStopNode;
+    std::shared_ptr<Parameter> para;
+    real XCoordStopNode, YCoordStopNode, ZCoordStopNode;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfiguration.h b/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfiguration.h
index 7407fe4cc33da0a929d090a30878b8fe628f03bf..16b71e771c6d0fea73b0657a05cc222939366d99 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfiguration.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfiguration.h
@@ -9,11 +9,11 @@ class KernelConfiguration
 public:
     virtual ~KernelConfiguration() = default;
     virtual std::string getMainKernel() = 0;
-	virtual bool getMultiKernelOn() = 0;
-	virtual	std::vector<int> getMultiKernelLevel() = 0;
+    virtual bool getMultiKernelOn() = 0;
+    virtual    std::vector<int> getMultiKernelLevel() = 0;
     virtual std::vector<std::string> getMultiKernel() = 0;
 
-private:	
+private:    
 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfigurationImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfigurationImp.cpp
index 303fee85953e09dd7a2d20d2ac2e67eb7706716c..f7b22e1ede8a1b92493acc12b4bb50b421104730 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfigurationImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfigurationImp.cpp
@@ -1,45 +1,45 @@
 #include "KernelConfigurationImp.h"
 
 std::string KernelConfigurationImp::getMainKernel() {
-	return mainKernel;
+    return mainKernel;
 }
 
 bool KernelConfigurationImp::getMultiKernelOn()
 {
-	return multiKernelOn;
+    return multiKernelOn;
 }
 
 std::vector<int> KernelConfigurationImp::getMultiKernelLevel()
 {
-	return multiKernelLevel;
+    return multiKernelLevel;
 }
 
 std::vector<std::string> KernelConfigurationImp::getMultiKernel() {
-	return multiKernel;
+    return multiKernel;
 }
 
 std::shared_ptr<KernelConfigurationImp> KernelConfigurationImp::getNewInstance(std::string kernelName)
 {
-	return std::shared_ptr<KernelConfigurationImp>(new KernelConfigurationImp(kernelName));
+    return std::shared_ptr<KernelConfigurationImp>(new KernelConfigurationImp(kernelName));
 }
 
 std::shared_ptr<KernelConfigurationImp> KernelConfigurationImp::getNewInstance(std::string kernel, std::vector<int> multiKernelLevel, std::vector<std::string> multiKernelName)
 {
-	return std::shared_ptr<KernelConfigurationImp>(new KernelConfigurationImp(kernel, multiKernelLevel, multiKernelName));
+    return std::shared_ptr<KernelConfigurationImp>(new KernelConfigurationImp(kernel, multiKernelLevel, multiKernelName));
 }
 
 KernelConfigurationImp::KernelConfigurationImp(std::string kernel)
 {
-	this->mainKernel = kernel;
-	multiKernelOn = false;
-	multiKernelLevel.resize(0);
-	multiKernel.resize(0);
+    this->mainKernel = kernel;
+    multiKernelOn = false;
+    multiKernelLevel.resize(0);
+    multiKernel.resize(0);
 }
 
 KernelConfigurationImp::KernelConfigurationImp(std::string mainKernel, std::vector<int> multiKernelLevel, std::vector<std::string> multiKernel)
 {
-	this->mainKernel = mainKernel;
-	multiKernelOn = true;
-	this->multiKernelLevel = multiKernelLevel;
-	this->multiKernel = multiKernel;
+    this->mainKernel = mainKernel;
+    multiKernelOn = true;
+    this->multiKernelLevel = multiKernelLevel;
+    this->multiKernel = multiKernel;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfigurationImp.h b/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfigurationImp.h
index 7e8ad9feedff3b51d0c90553f95aa6b4a9630c6b..a676810f1bc245e56ccf8ebc48e1e7eb90d6385c 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfigurationImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfigurationImp.h
@@ -9,21 +9,21 @@ class KernelConfigurationImp : public KernelConfiguration
 {
 public:
     std::string getMainKernel();
-	bool getMultiKernelOn();
-	std::vector<int> getMultiKernelLevel();
+    bool getMultiKernelOn();
+    std::vector<int> getMultiKernelLevel();
     std::vector<std::string> getMultiKernel();
 
-	static std::shared_ptr<KernelConfigurationImp> getNewInstance(std::string kernel);
-	static std::shared_ptr<KernelConfigurationImp> getNewInstance(std::string kernel, std::vector<int> multiKernelLevel, std::vector<std::string> multiKernel);
+    static std::shared_ptr<KernelConfigurationImp> getNewInstance(std::string kernel);
+    static std::shared_ptr<KernelConfigurationImp> getNewInstance(std::string kernel, std::vector<int> multiKernelLevel, std::vector<std::string> multiKernel);
 
 private:
     KernelConfigurationImp(std::string kernel);
     KernelConfigurationImp(std::string kernel, std::vector<int> multiKernelLevel, std::vector<std::string> multiKernel);
-	KernelConfigurationImp() {};
+    KernelConfigurationImp() {};
 
-	std::string mainKernel;
-	bool multiKernelOn;
-	std::vector<int> multiKernelLevel;
+    std::string mainKernel;
+    bool multiKernelOn;
+    std::vector<int> multiKernelLevel;
     std::vector<std::string> multiKernel;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.cpp b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.cpp
index f01dccf5cfb2c127ac3a250f2a3269d19c0be5c8..c0a76a5dc90424006cfcab72ce46730bcdbf249b 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.cpp
@@ -2,22 +2,22 @@
 
 std::shared_ptr<BasicSimulationInfo> BasicSimulationInfo::getNewInstance(int numberOfTimeSteps, double viscosity, int basicTimeStepLength, std::string kernel)
 {
-	return std::shared_ptr<BasicSimulationInfo>(new BasicSimulationInfo(numberOfTimeSteps, viscosity, basicTimeStepLength, kernel));
+    return std::shared_ptr<BasicSimulationInfo>(new BasicSimulationInfo(numberOfTimeSteps, viscosity, basicTimeStepLength, kernel));
 }
 
 std::string BasicSimulationInfo::getOutput()
 {
-	makeCenterHead("Basic Simulation Information");
-	oss << "Kernel=" << kernelName << std::endl;
-	oss << "NumberOfTimeSteps=" << numberOfTimeSteps << std::endl;
-	oss << "Viscosity=" << viscosity << std::endl;
-	oss << "BasisTimeStepLength=" << basicTimeStepLength << std::endl;
-	oss << std::endl;
-	return oss.str();
+    makeCenterHead("Basic Simulation Information");
+    oss << "Kernel=" << kernelName << std::endl;
+    oss << "NumberOfTimeSteps=" << numberOfTimeSteps << std::endl;
+    oss << "Viscosity=" << viscosity << std::endl;
+    oss << "BasisTimeStepLength=" << basicTimeStepLength << std::endl;
+    oss << std::endl;
+    return oss.str();
 }
 
 BasicSimulationInfo::BasicSimulationInfo(int numberOfTimeSteps, double viscosity, int basicTimeStepLength, std::string kernel)
   : numberOfTimeSteps(numberOfTimeSteps), viscosity(viscosity), basicTimeStepLength(basicTimeStepLength)
 {
-	kernelName = kernel;
+    kernelName = kernel;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.h
index a8f14cab134f821b5dd46116e2b690779cab8176..530ee93f1b016091bc11278efdb5404ff8d96e5c 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.h
@@ -8,16 +8,16 @@
 class BasicSimulationInfo : public LogFileInformationImp
 {
 public:
-	static std::shared_ptr<BasicSimulationInfo> getNewInstance(int numberOfTimeSteps, double viscosity, int basicTimeStepLength, std::string kernel);
-	std::string getOutput();
+    static std::shared_ptr<BasicSimulationInfo> getNewInstance(int numberOfTimeSteps, double viscosity, int basicTimeStepLength, std::string kernel);
+    std::string getOutput();
 
 private:
-	BasicSimulationInfo() = default;
+    BasicSimulationInfo() = default;
     BasicSimulationInfo(int numberOfTimeSteps, double viscosity, int basicTimeStepLength, std::string kernel);
 
-	int numberOfTimeSteps;
-	int basicTimeStepLength;
-	double viscosity;
-	std::string kernelName;
+    int numberOfTimeSteps;
+    int basicTimeStepLength;
+    double viscosity;
+    std::string kernelName;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicTestLogFileInformation/BasicTestLogFileInformation.cpp b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicTestLogFileInformation/BasicTestLogFileInformation.cpp
index 13e0989fc23a9defb716fd736850a58106e60bfa..bb6799b7bd033a04304744a6b695bdf4ef6df405 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicTestLogFileInformation/BasicTestLogFileInformation.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicTestLogFileInformation/BasicTestLogFileInformation.cpp
@@ -2,38 +2,38 @@
 
 std::shared_ptr<BasicTestLogFileInformation> BasicTestLogFileInformation::getNewInstance()
 {
-	return std::shared_ptr<BasicTestLogFileInformation>(new BasicTestLogFileInformation());;
+    return std::shared_ptr<BasicTestLogFileInformation>(new BasicTestLogFileInformation());;
 }
 
 std::string BasicTestLogFileInformation::getOutput()
 {
-	if (!outputBuild) {
-		buildOutput();
-		outputBuild = true;
-	}
-	return oss.str();
+    if (!outputBuild) {
+        buildOutput();
+        outputBuild = true;
+    }
+    return oss.str();
 }
 
 void BasicTestLogFileInformation::addTest(std::string testName, bool testRun)
 {
-	this->testName.push_back(testName);
-	this->testRun.push_back(testRun);
+    this->testName.push_back(testName);
+    this->testRun.push_back(testRun);
 }
 
 BasicTestLogFileInformation::BasicTestLogFileInformation()
 {
-	testName.resize(0);
-	testRun.resize(0);
-	outputBuild = false;
+    testName.resize(0);
+    testRun.resize(0);
+    outputBuild = false;
 }
 
 void BasicTestLogFileInformation::buildOutput()
 {
-	makeCenterHead("Basic Test Information");
+    makeCenterHead("Basic Test Information");
 
-	for (int i = 0; i < testName.size(); i++)
-		oss << testName.at(i) << "=" << std::boolalpha << testRun.at(i) << std::endl;
-	oss << std::endl;
+    for (int i = 0; i < testName.size(); i++)
+        oss << testName.at(i) << "=" << std::boolalpha << testRun.at(i) << std::endl;
+    oss << std::endl;
 
-	outputBuild = true;
+    outputBuild = true;
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicTestLogFileInformation/BasicTestLogFileInformation.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicTestLogFileInformation/BasicTestLogFileInformation.h
index 635724af3f9356675138d46c6c319db61ba6a610..4152527371e2b01c042c2a990d7b2adf16f788b6 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicTestLogFileInformation/BasicTestLogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicTestLogFileInformation/BasicTestLogFileInformation.h
@@ -10,18 +10,18 @@
 class BasicTestLogFileInformation : public LogFileInformationImp
 {
 public:
-	static std::shared_ptr<BasicTestLogFileInformation> getNewInstance();
+    static std::shared_ptr<BasicTestLogFileInformation> getNewInstance();
 
-	std::string getOutput();
-	void addTest(std::string testName, bool testRun);
+    std::string getOutput();
+    void addTest(std::string testName, bool testRun);
 
 private:
-	BasicTestLogFileInformation();
+    BasicTestLogFileInformation();
 
-	void buildOutput();
+    void buildOutput();
 
-	bool outputBuild;
-	std::vector<std::string> testName;
-	std::vector<bool> testRun;
+    bool outputBuild;
+    std::vector<std::string> testName;
+    std::vector<bool> testRun;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileHead/LogFileHead.cpp b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileHead/LogFileHead.cpp
index 40a7e7d9902db2d6278e09476832973923eb71e0..84ae8d6c3145c96d2b809cc842cfe910f88f6ad1 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileHead/LogFileHead.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileHead/LogFileHead.cpp
@@ -9,39 +9,39 @@
 
 std::shared_ptr<LogFileHead> LogFileHead::getNewInstance(std::vector<int> devices)
 {
-	return std::shared_ptr<LogFileHead>(new LogFileHead(devices));
+    return std::shared_ptr<LogFileHead>(new LogFileHead(devices));
 }
 
 std::string LogFileHead::getOutput()
 {
-	calcDateAndTime();
-
-	makeCenterHead("LogFile Information");
-	oss << "Date=" << std::setw(2) << std::setfill('0') << nowLocal.tm_mday << "." << std::setw(2) << nowLocal.tm_mon + 1 << "." << nowLocal.tm_year + 1900 << std::endl;
-	oss << "Time=" << std::setw(2) << std::setfill('0') << nowLocal.tm_hour << ":" << std::setw(2) << nowLocal.tm_min << ":" << std::setw(2) << nowLocal.tm_sec << std::endl;
-	oss << std::endl;
-
-	oss << "GPU_Devices=\"";
-	for (int i = 0; i < devices.size(); i++) {
-		cudaDeviceProp prop;
-		cudaGetDeviceProperties(&prop, devices.at(i));
-		std::string deviceName = prop.name;
-		deviceName.assign(deviceName.begin(), remove_if(deviceName.begin(), deviceName.end(), &isspace));
-		oss << deviceName;
-		if (i < devices.size() - 1)
-			oss << " ";
-		else
-			oss << "\"" << std::endl;
-	}
-	oss << std::endl;
-
-	return oss.str();
+    calcDateAndTime();
+
+    makeCenterHead("LogFile Information");
+    oss << "Date=" << std::setw(2) << std::setfill('0') << nowLocal.tm_mday << "." << std::setw(2) << nowLocal.tm_mon + 1 << "." << nowLocal.tm_year + 1900 << std::endl;
+    oss << "Time=" << std::setw(2) << std::setfill('0') << nowLocal.tm_hour << ":" << std::setw(2) << nowLocal.tm_min << ":" << std::setw(2) << nowLocal.tm_sec << std::endl;
+    oss << std::endl;
+
+    oss << "GPU_Devices=\"";
+    for (int i = 0; i < devices.size(); i++) {
+        cudaDeviceProp prop;
+        cudaGetDeviceProperties(&prop, devices.at(i));
+        std::string deviceName = prop.name;
+        deviceName.assign(deviceName.begin(), remove_if(deviceName.begin(), deviceName.end(), &isspace));
+        oss << deviceName;
+        if (i < devices.size() - 1)
+            oss << " ";
+        else
+            oss << "\"" << std::endl;
+    }
+    oss << std::endl;
+
+    return oss.str();
 }
 
 void LogFileHead::calcDateAndTime()
 {
-	now = time(NULL);
-	nowLocal = *localtime(&now);
+    now = time(NULL);
+    nowLocal = *localtime(&now);
 }
 
 LogFileHead::LogFileHead(std::vector<int> devices) : devices(devices)
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileHead/LogFileHead.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileHead/LogFileHead.h
index c574c0322cb5e0f8f3f3c7609a181c1340699709..b3282676f6ade005a3323d78696b2795a8adfb80 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileHead/LogFileHead.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileHead/LogFileHead.h
@@ -9,16 +9,16 @@
 class LogFileHead : public LogFileInformationImp
 {
 public:
-	static std::shared_ptr<LogFileHead> getNewInstance(std::vector<int> devices);
-	std::string getOutput();
+    static std::shared_ptr<LogFileHead> getNewInstance(std::vector<int> devices);
+    std::string getOutput();
 
 private:
-	void calcDateAndTime();
-	LogFileHead() {};
-	LogFileHead(std::vector<int> devices);
+    void calcDateAndTime();
+    LogFileHead() {};
+    LogFileHead(std::vector<int> devices);
 
-	std::vector<int> devices;
-	time_t now;
-	struct tm nowLocal;
+    std::vector<int> devices;
+    time_t now;
+    struct tm nowLocal;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformation.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformation.h
index b234c86551603df780613da31b07aa5836f528d0..ffc62e45c77da2b61fe96d553c97db0b37d84ed1 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformation.h
@@ -6,8 +6,8 @@
 class LogFileInformation
 {
 public:
-	virtual ~LogFileInformation() = default;
-	virtual std::string getOutput() = 0;
+    virtual ~LogFileInformation() = default;
+    virtual std::string getOutput() = 0;
 
 private:
 
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.cpp
index b0dca4201f1fdfec3a5c2aca8020be8a2f59ed9f..81dc83699e8fa1f2e4cfc948b60697168989b4bb 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.cpp
@@ -4,12 +4,12 @@
 
 void LogFileInformationImp::makeHashLine()
 {
-	oss << "#################################################" << std::endl;
+    oss << "#################################################" << std::endl;
 }
 
 void LogFileInformationImp::makeCenterHead(std::string head)
 {
-	makeHashLine();
-	oss << "#" << std::setfill(' ') << std::right << std::setw(24 + head.length() / 2) << head << std::setw(24 - head.length() / 2) << "#" << std::endl;
-	makeHashLine();
+    makeHashLine();
+    oss << "#" << std::setfill(' ') << std::right << std::setw(24 + head.length() / 2) << head << std::setw(24 - head.length() / 2) << "#" << std::endl;
+    makeHashLine();
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.h
index c89decfe90014d2090a6d9a89ec3b8d79d49ce8d..1290f4a7c8ffa4da8c7e1fdb1ece3e9dfa0a04c2 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.h
@@ -8,15 +8,15 @@
 class LogFileInformationImp : public LogFileInformation
 {
 public:
-	LogFileInformationImp() = default;
-	virtual std::string getOutput() = 0;
+    LogFileInformationImp() = default;
+    virtual std::string getOutput() = 0;
 
 protected:
-	void makeCenterHead(std::string head);
+    void makeCenterHead(std::string head);
 
-	std::ostringstream oss;
+    std::ostringstream oss;
 private:
-	void makeHashLine();
+    void makeHashLine();
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileTimeInformation/LogFileTimeInformation.cpp b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileTimeInformation/LogFileTimeInformation.cpp
index 1deafc51f9bcb19c9052d01e3852b96b02ca9825..686acb7a93cff24710f65b00952e1baf222fa449 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileTimeInformation/LogFileTimeInformation.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileTimeInformation/LogFileTimeInformation.cpp
@@ -6,17 +6,17 @@
 
 std::shared_ptr<LogFileTimeInformation> LogFileTimeInformation::getNewInstance(std::vector<std::shared_ptr<SimulationInfo> > simInfo, bool fileWriting)
 {
-	return std::shared_ptr<LogFileTimeInformation>(new LogFileTimeInformation(simInfo, fileWriting));
+    return std::shared_ptr<LogFileTimeInformation>(new LogFileTimeInformation(simInfo, fileWriting));
 }
 
 std::string LogFileTimeInformation::getOutput()
 {
-	makeCenterHead("Simulation Time Information");
-	oss << "VTKFileWriting=" << std::boolalpha << fileWriting <<std::endl << std::endl;
-	for (int i = 0; i < simInfo.size(); i++) {
-		oss << simInfo.at(i)->getRunTimeOutput() << std::endl;
-	}
-	return oss.str();
+    makeCenterHead("Simulation Time Information");
+    oss << "VTKFileWriting=" << std::boolalpha << fileWriting <<std::endl << std::endl;
+    for (int i = 0; i < simInfo.size(); i++) {
+        oss << simInfo.at(i)->getRunTimeOutput() << std::endl;
+    }
+    return oss.str();
 }
 
 LogFileTimeInformation::LogFileTimeInformation(std::vector<std::shared_ptr<SimulationInfo> > simInfo, bool fileWriting) : simInfo(simInfo), fileWriting(fileWriting)
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileTimeInformation/LogFileTimeInformation.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileTimeInformation/LogFileTimeInformation.h
index 172c74343c173cb06c496a806e30d33a9bce2ced..0f17a548717f051b9697294f8d3747bc91c4176d 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileTimeInformation/LogFileTimeInformation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileTimeInformation/LogFileTimeInformation.h
@@ -11,14 +11,14 @@ class SimulationInfo;
 class LogFileTimeInformation : public LogFileInformationImp
 {
 public:
-	static std::shared_ptr<LogFileTimeInformation> getNewInstance(std::vector<std::shared_ptr<SimulationInfo> > simInfo, bool fileWriting);
-	std::string getOutput();
+    static std::shared_ptr<LogFileTimeInformation> getNewInstance(std::vector<std::shared_ptr<SimulationInfo> > simInfo, bool fileWriting);
+    std::string getOutput();
 
 private:
-	LogFileTimeInformation();
-	LogFileTimeInformation(std::vector<std::shared_ptr<SimulationInfo> > simInfo, bool fileWriting);
+    LogFileTimeInformation();
+    LogFileTimeInformation(std::vector<std::shared_ptr<SimulationInfo> > simInfo, bool fileWriting);
 
-	std::vector<std::shared_ptr<SimulationInfo> > simInfo;
-	bool fileWriting;
+    std::vector<std::shared_ptr<SimulationInfo> > simInfo;
+    bool fileWriting;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/SimulationLogFileInformation/SimulationLogFileInformation.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/SimulationLogFileInformation/SimulationLogFileInformation.h
index 45a41cc1f43eae3d1fa6fb17457b77a83826e7d6..a6c579b77111aa32d40995749aea0796aad559fb 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/SimulationLogFileInformation/SimulationLogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/SimulationLogFileInformation/SimulationLogFileInformation.h
@@ -9,10 +9,10 @@
 class SimulationLogFileInformation : public LogFileInformationImp
 {
 public:
-	virtual ~SimulationLogFileInformation() = default;
-	virtual std::string getOutput() = 0;
+    virtual ~SimulationLogFileInformation() = default;
+    virtual std::string getOutput() = 0;
 
-	virtual std::vector<std::string> getFilePathExtension() = 0;
+    virtual std::vector<std::string> getFilePathExtension() = 0;
 
 private:
 
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/TestLogFileInformation/TestLogFileInformation.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/TestLogFileInformation/TestLogFileInformation.h
index f4724fe3c1ee036977b6b5ef1b212ed7a30360d5..621226cfcdca6c2849fc5af6a7259b44251efe36 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/TestLogFileInformation/TestLogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/TestLogFileInformation/TestLogFileInformation.h
@@ -8,7 +8,7 @@
 class TestLogFileInformation : public LogFileInformationImp
 {
 public:
-	virtual std::string getOutput() = 0;
+    virtual std::string getOutput() = 0;
 
 private:
 
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueue.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueue.h
index 013d553901a93328fbd5f44c0b035ecd24b49d3e..e0116cb0b0cff38610348debd908c03af84d72ae 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueue.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueue.h
@@ -4,8 +4,8 @@
 class LogFileQueue
 {
 public:
-	virtual ~LogFileQueue() = default;
-	virtual void writeLogFiles() = 0;
+    virtual ~LogFileQueue() = default;
+    virtual void writeLogFiles() = 0;
 
 private:
 
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.cpp
index fa6b0b2b5a6c7e296dd4dc3b9034c027c416cbc5..e91e3cb28ac276e5dae79aa62811e08e0ca543f2 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.cpp
@@ -8,35 +8,35 @@
 
 std::shared_ptr<LogFileQueueImp> LogFileQueueImp::getNewInstance(std::string basicLogFilePath)
 {
-	return std::shared_ptr<LogFileQueueImp>(new LogFileQueueImp(basicLogFilePath));
+    return std::shared_ptr<LogFileQueueImp>(new LogFileQueueImp(basicLogFilePath));
 }
 
 void LogFileQueueImp::writeLogFiles()
 {
-	for (uint i = 0; i < logFileWriter.size(); i++){
-		logFileWriter.at(i)->writeLogFile(basicLogFilePath);
-	}
+    for (uint i = 0; i < logFileWriter.size(); i++){
+        logFileWriter.at(i)->writeLogFile(basicLogFilePath);
+    }
 }
 
 void LogFileQueueImp::addLogFileWriter(std::shared_ptr<LogFileWriter> aLogFileWriter)
 {
-	logFileWriter.push_back(aLogFileWriter);
+    logFileWriter.push_back(aLogFileWriter);
 }
 
 LogFileQueueImp::LogFileQueueImp(std::string basicLogFilePath)
 {
-	logFileWriter.resize(0);
+    logFileWriter.resize(0);
 
-	std::ostringstream oss;
-	oss << basicLogFilePath << "/NumericalTestLogFiles/";
-	this->basicLogFilePath = oss.str();
+    std::ostringstream oss;
+    oss << basicLogFilePath << "/NumericalTestLogFiles/";
+    this->basicLogFilePath = oss.str();
 }
 
 std::string LogFileQueueImp::calcDateAndTime()
 {
-	std::ostringstream oss;
-	now = time(NULL);
-	nowLocal = *localtime(&now);
-	oss << std::setfill('0') << nowLocal.tm_year + 1900 << std::setw(2) << nowLocal.tm_mon + 1 << std::setw(2) << nowLocal.tm_mday << "_" << std::setw(2) << nowLocal.tm_hour << std::setw(2) << nowLocal.tm_min << std::setw(2) << nowLocal.tm_sec;
-	return oss.str();
+    std::ostringstream oss;
+    now = time(NULL);
+    nowLocal = *localtime(&now);
+    oss << std::setfill('0') << nowLocal.tm_year + 1900 << std::setw(2) << nowLocal.tm_mon + 1 << std::setw(2) << nowLocal.tm_mday << "_" << std::setw(2) << nowLocal.tm_hour << std::setw(2) << nowLocal.tm_min << std::setw(2) << nowLocal.tm_sec;
+    return oss.str();
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.h
index 133924382995d2a91abfbb51185bccdd7fe33e63..3967609b4f141950099fe76d30edf24a8bd6b221 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.h
@@ -12,20 +12,20 @@ class LogFileWriter;
 class LogFileQueueImp : public LogFileQueue 
 {
 public:
-	static std::shared_ptr<LogFileQueueImp> getNewInstance(std::string basicLogFilePath);
+    static std::shared_ptr<LogFileQueueImp> getNewInstance(std::string basicLogFilePath);
 
-	void writeLogFiles() override;
-	void addLogFileWriter(std::shared_ptr<LogFileWriter> aLogFileWriter);
+    void writeLogFiles() override;
+    void addLogFileWriter(std::shared_ptr<LogFileWriter> aLogFileWriter);
 
 private:
-	LogFileQueueImp() = default;
-	LogFileQueueImp(std::string basicLogFilePath);
+    LogFileQueueImp() = default;
+    LogFileQueueImp(std::string basicLogFilePath);
 
-	std::string calcDateAndTime();
+    std::string calcDateAndTime();
 
-	std::string basicLogFilePath;
-	std::vector<std::shared_ptr<LogFileWriter> > logFileWriter;
-	time_t now;
-	struct tm nowLocal;
+    std::string basicLogFilePath;
+    std::vector<std::shared_ptr<LogFileWriter> > logFileWriter;
+    time_t now;
+    struct tm nowLocal;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriter.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriter.h
index 396deec9d1a771fd74e9ca7f3e23910a6c9c7fcb..355d88b12a7c130c01bcf0b9be6c037852d73f5a 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriter.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriter.h
@@ -6,9 +6,9 @@
 class LogFileWriter
 {
 public:
-	virtual ~LogFileWriter() = default;
-	virtual void writeLogFile(std::string basicFilePath) = 0;
-	
+    virtual ~LogFileWriter() = default;
+    virtual void writeLogFile(std::string basicFilePath) = 0;
+    
 private:
 
 };
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriterImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriterImp.cpp
index 4d9154563cdd7b46d9a987f46fddf669320f2a50..899c4b1fb4892123c807c8633aa1d7a06a215122 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriterImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriterImp.cpp
@@ -14,53 +14,53 @@
 
 LogFileWriterImp::LogFileWriterImp(std::shared_ptr<LogFileHead> logFileHead, std::shared_ptr<BasicSimulationInfo> basicSimInfo, std::shared_ptr<BasicTestLogFileInformation> basicTestInfo, std::vector<std::shared_ptr<TestLogFileInformation> > testLogFiles, std::shared_ptr<LogFileTimeInformation> logFileTimeInfo, std::shared_ptr<SimulationLogFileInformation> simLogInfo, std::string kernel, double viscosity) : viscosity(viscosity)
 {
-	kernelName = kernel;
+    kernelName = kernel;
 
-	logFileInfo.push_back(logFileHead);
-	logFileInfo.push_back(basicSimInfo);
-	this->simLogInfo = simLogInfo;
-	logFileInfo.push_back(simLogInfo);
-	logFileInfo.push_back(logFileTimeInfo);
-	logFileInfo.push_back(basicTestInfo);
-	for (int i = 0; i < testLogFiles.size(); i++)
-		logFileInfo.push_back(testLogFiles.at(i));
+    logFileInfo.push_back(logFileHead);
+    logFileInfo.push_back(basicSimInfo);
+    this->simLogInfo = simLogInfo;
+    logFileInfo.push_back(simLogInfo);
+    logFileInfo.push_back(logFileTimeInfo);
+    logFileInfo.push_back(basicTestInfo);
+    for (int i = 0; i < testLogFiles.size(); i++)
+        logFileInfo.push_back(testLogFiles.at(i));
 }
 
 std::shared_ptr<LogFileWriterImp> LogFileWriterImp::getNewInstance(std::shared_ptr<LogFileHead> logFileHead, std::shared_ptr<BasicSimulationInfo> basicSimInfo, std::shared_ptr<BasicTestLogFileInformation> basicTestInfo, std::vector<std::shared_ptr<TestLogFileInformation> > testLogFiles, std::shared_ptr<LogFileTimeInformation> logFileTimeInfo, std::shared_ptr<SimulationLogFileInformation> simLogInfo, std::string kernel, double viscosity)
 {
-	return std::shared_ptr<LogFileWriterImp>(new LogFileWriterImp(logFileHead, basicSimInfo, basicTestInfo, testLogFiles, logFileTimeInfo, simLogInfo, kernel, viscosity));
+    return std::shared_ptr<LogFileWriterImp>(new LogFileWriterImp(logFileHead, basicSimInfo, basicTestInfo, testLogFiles, logFileTimeInfo, simLogInfo, kernel, viscosity));
 }
 
 void LogFileWriterImp::writeLogFile(std::string basicFilePath)
 {
-	logFilePath = buildFilePath(basicFilePath);
-	logFile.open(logFilePath, std::ios::out);
+    logFilePath = buildFilePath(basicFilePath);
+    logFile.open(logFilePath, std::ios::out);
 
-	for (int i = 0; i < logFileInfo.size(); i++)
-		logFile << logFileInfo.at(i)->getOutput();	
+    for (int i = 0; i < logFileInfo.size(); i++)
+        logFile << logFileInfo.at(i)->getOutput();    
 
-	logFile.close();
+    logFile.close();
 }
 
 
 std::string LogFileWriterImp::calcDateAndTime()
 {
-	std::ostringstream oss;
-	now = time(NULL);
-	nowLocal = *localtime(&now);
-	oss << std::setfill('0')  << nowLocal.tm_year + 1900 << std::setw(2) << nowLocal.tm_mon + 1 << std::setw(2) << nowLocal.tm_mday << "_" << std::setw(2) << nowLocal.tm_hour << std::setw(2) << nowLocal.tm_min << std::setw(2) << nowLocal.tm_sec;
-	return oss.str();
+    std::ostringstream oss;
+    now = time(NULL);
+    nowLocal = *localtime(&now);
+    oss << std::setfill('0')  << nowLocal.tm_year + 1900 << std::setw(2) << nowLocal.tm_mon + 1 << std::setw(2) << nowLocal.tm_mday << "_" << std::setw(2) << nowLocal.tm_hour << std::setw(2) << nowLocal.tm_min << std::setw(2) << nowLocal.tm_sec;
+    return oss.str();
 }
 
 std::string LogFileWriterImp::buildFilePath(std::string basicFilePath)
 {
-	std::ostringstream filePath;
-	filePath << basicFilePath << simLogInfo->getFilePathExtension().at(0) << "/viscosity_" << viscosity << "/" << simLogInfo->getFilePathExtension().at(1) << "/" << kernelName;
-	
-	std::filesystem::path dir(filePath.str());
-	if (!(std::filesystem::exists(dir)))
-		std::filesystem::create_directories(dir);
+    std::ostringstream filePath;
+    filePath << basicFilePath << simLogInfo->getFilePathExtension().at(0) << "/viscosity_" << viscosity << "/" << simLogInfo->getFilePathExtension().at(1) << "/" << kernelName;
+    
+    std::filesystem::path dir(filePath.str());
+    if (!(std::filesystem::exists(dir)))
+        std::filesystem::create_directories(dir);
 
-	filePath << "/logfile_" << calcDateAndTime() << "_" << kernelName << "_vis_" << viscosity << ".txt";
-	return filePath.str();
+    filePath << "/logfile_" << calcDateAndTime() << "_" << kernelName << "_vis_" << viscosity << ".txt";
+    return filePath.str();
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriterImp.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriterImp.h
index f810e90a9ea1de416f925b81bca645f5aa89396f..5672baaf80e1824dd91cc7110f37bad2da64c9d5 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriterImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriterImp.h
@@ -18,25 +18,25 @@ class TestLogFileInformation;
 class LogFileWriterImp : public LogFileWriter
 {
 public:
-	static std::shared_ptr<LogFileWriterImp> getNewInstance(std::shared_ptr<LogFileHead> logFileHead, std::shared_ptr<BasicSimulationInfo> basicSimInfo, std::shared_ptr<BasicTestLogFileInformation> basicTestInfo, std::vector<std::shared_ptr<TestLogFileInformation> > testLogFiles,
-														std::shared_ptr<LogFileTimeInformation> logFileTimeInfo,
-														std::shared_ptr<SimulationLogFileInformation> simLogInfo, 
-														std::string kernel, double viscosity);
-	void writeLogFile(std::string basicFilePath);
-	
+    static std::shared_ptr<LogFileWriterImp> getNewInstance(std::shared_ptr<LogFileHead> logFileHead, std::shared_ptr<BasicSimulationInfo> basicSimInfo, std::shared_ptr<BasicTestLogFileInformation> basicTestInfo, std::vector<std::shared_ptr<TestLogFileInformation> > testLogFiles,
+                                                        std::shared_ptr<LogFileTimeInformation> logFileTimeInfo,
+                                                        std::shared_ptr<SimulationLogFileInformation> simLogInfo, 
+                                                        std::string kernel, double viscosity);
+    void writeLogFile(std::string basicFilePath);
+    
 
 private:
-	LogFileWriterImp(std::shared_ptr<LogFileHead> logFileHead, std::shared_ptr<BasicSimulationInfo> basicSimInfo, std::shared_ptr<BasicTestLogFileInformation> basicTestInfo, std::vector<std::shared_ptr<TestLogFileInformation> > testLogFiles, std::shared_ptr<LogFileTimeInformation> logFileTimeInfo, std::shared_ptr<SimulationLogFileInformation> simLogInfo, std::string kernel, double viscosity);
-	std::string calcDateAndTime();
-	std::string buildFilePath(std::string basicFilePath);
+    LogFileWriterImp(std::shared_ptr<LogFileHead> logFileHead, std::shared_ptr<BasicSimulationInfo> basicSimInfo, std::shared_ptr<BasicTestLogFileInformation> basicTestInfo, std::vector<std::shared_ptr<TestLogFileInformation> > testLogFiles, std::shared_ptr<LogFileTimeInformation> logFileTimeInfo, std::shared_ptr<SimulationLogFileInformation> simLogInfo, std::string kernel, double viscosity);
+    std::string calcDateAndTime();
+    std::string buildFilePath(std::string basicFilePath);
 
-	std::fstream logFile;
-	std::string logFilePath;
-	time_t now;
-	struct tm nowLocal;
-	std::string kernelName;
-	double viscosity;
-	std::vector<std::shared_ptr<LogFileInformation> > logFileInfo;
-	std::shared_ptr<SimulationLogFileInformation> simLogInfo;
+    std::fstream logFile;
+    std::string logFilePath;
+    time_t now;
+    struct tm nowLocal;
+    std::string kernelName;
+    double viscosity;
+    std::vector<std::shared_ptr<LogFileInformation> > logFileInfo;
+    std::shared_ptr<SimulationLogFileInformation> simLogInfo;
 };
 #endif 
diff --git a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactory.h b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactory.h
index d21deb7bda97df58830ec9f4dc3dcb8445915911..2296d51ea97500dc8ae0bfd765f6e0aa98f6c8b3 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactory.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactory.h
@@ -12,10 +12,10 @@ class LogFileQueue;
 class NumericalTestFactory
 {
 public:
-	virtual ~NumericalTestFactory() = default;
-	virtual std::vector<std::shared_ptr<TestSimulation> > getTestSimulations() = 0;
-	virtual std::shared_ptr<TestQueue> getTestQueue() = 0;
-	virtual std::shared_ptr<LogFileQueue> getLogFileQueue() = 0;
+    virtual ~NumericalTestFactory() = default;
+    virtual std::vector<std::shared_ptr<TestSimulation> > getTestSimulations() = 0;
+    virtual std::shared_ptr<TestQueue> getTestQueue() = 0;
+    virtual std::shared_ptr<LogFileQueue> getLogFileQueue() = 0;
 private:
 
 };
diff --git a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp
index 95e8331882282d86f25848e87df1327b77748085..deab118b87410856f293578eea9a35896e2a1164 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.cpp
@@ -62,428 +62,428 @@
 
 std::shared_ptr<NumericalTestFactoryImp> NumericalTestFactoryImp::getNewInstance(std::shared_ptr<ConfigDataStruct> configFileData)
 {
-	return std::shared_ptr<NumericalTestFactoryImp>(new NumericalTestFactoryImp(configFileData));
+    return std::shared_ptr<NumericalTestFactoryImp>(new NumericalTestFactoryImp(configFileData));
 }
 
 NumericalTestFactoryImp::NumericalTestFactoryImp(std::shared_ptr<ConfigDataStruct> configFileData)
 {
-	colorOutput = ColorConsoleOutputImp::getInstance();
-	myTestQueue = TestQueueImp::getNewInstance(colorOutput);
-	myLogFileWriterQueue = LogFileQueueImp::getNewInstance(configFileData->logFilePath);
-	anaResultWriter = AnalyticalResults2DToVTKWriterImp::getInstance(configFileData->writeAnalyticalToVTK);
-	l2NormCalculatorFactory = L2NormCalculatorFactoryImp::getInstance();
-	l2NormTestsBetweenKernels.resize(0);
-	init(configFileData);
+    colorOutput = ColorConsoleOutputImp::getInstance();
+    myTestQueue = TestQueueImp::getNewInstance(colorOutput);
+    myLogFileWriterQueue = LogFileQueueImp::getNewInstance(configFileData->logFilePath);
+    anaResultWriter = AnalyticalResults2DToVTKWriterImp::getInstance(configFileData->writeAnalyticalToVTK);
+    l2NormCalculatorFactory = L2NormCalculatorFactoryImp::getInstance();
+    l2NormTestsBetweenKernels.resize(0);
+    init(configFileData);
 }
 
 std::vector<std::shared_ptr<TestSimulation> > NumericalTestFactoryImp::getTestSimulations()
 {
-	return myTestSimulations;
+    return myTestSimulations;
 }
 
 std::shared_ptr<TestQueue> NumericalTestFactoryImp::getTestQueue()
 {
-	return myTestQueue;
+    return myTestQueue;
 }
 
 std::shared_ptr<LogFileQueue> NumericalTestFactoryImp::getLogFileQueue()
 {
-	return myLogFileWriterQueue;
+    return myLogFileWriterQueue;
 }
 
 void NumericalTestFactoryImp::init(std::shared_ptr<ConfigDataStruct> configFileData)
 {
-	simID = 1;
-	numberOfSimulations = configFileData->numberOfSimulations;
-
-	for (size_t i = 0; i < configFileData->kernelsToTest.size(); i++) {
-		for (size_t j = 0; j < configFileData->viscosity.size(); j++) {
-			for (size_t k = 0; k < configFileData->taylorGreenVortexUxParameter.size(); k++) {
-				std::shared_ptr<SimulationDataStruct> simDataStruct = makeTaylorGreenUxSimulationData(configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUxParameter.at(k), configFileData->taylorGreenVortexUxGridInformation);
-				if (simDataStruct->simGroupRun) {
-					std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUxParameter.at(k)->basicTimeStepLength);
-					addNumericalTestStruct(numericalTestStruct);
-				}
-			}
-
-			for (size_t k = 0; k < configFileData->taylorGreenVortexUzParameter.size(); k++) {
-				std::shared_ptr<SimulationDataStruct> simDataStruct = makeTaylorGreenUzSimulationData(configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUzParameter.at(k), configFileData->taylorGreenVortexUzGridInformation);
-				if (simDataStruct->simGroupRun) {
-					std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUzParameter.at(k)->basicTimeStepLength);
-					addNumericalTestStruct(numericalTestStruct);
-				}
-			}
-
-			for (size_t k = 0; k < configFileData->shearWaveParameter.size(); k++) {
-				std::shared_ptr<SimulationDataStruct> simDataStruct = makeShearWaveSimulationData(configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->shearWaveParameter.at(k), configFileData->shearWaveGridInformation);
-				if (simDataStruct->simGroupRun) {
-					std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->shearWaveParameter.at(k)->basicTimeStepLength);
-					addNumericalTestStruct(numericalTestStruct);
-				}
-
-			}
-			
-		}
-	}
+    simID = 1;
+    numberOfSimulations = configFileData->numberOfSimulations;
+
+    for (size_t i = 0; i < configFileData->kernelsToTest.size(); i++) {
+        for (size_t j = 0; j < configFileData->viscosity.size(); j++) {
+            for (size_t k = 0; k < configFileData->taylorGreenVortexUxParameter.size(); k++) {
+                std::shared_ptr<SimulationDataStruct> simDataStruct = makeTaylorGreenUxSimulationData(configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUxParameter.at(k), configFileData->taylorGreenVortexUxGridInformation);
+                if (simDataStruct->simGroupRun) {
+                    std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUxParameter.at(k)->basicTimeStepLength);
+                    addNumericalTestStruct(numericalTestStruct);
+                }
+            }
+
+            for (size_t k = 0; k < configFileData->taylorGreenVortexUzParameter.size(); k++) {
+                std::shared_ptr<SimulationDataStruct> simDataStruct = makeTaylorGreenUzSimulationData(configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUzParameter.at(k), configFileData->taylorGreenVortexUzGridInformation);
+                if (simDataStruct->simGroupRun) {
+                    std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->taylorGreenVortexUzParameter.at(k)->basicTimeStepLength);
+                    addNumericalTestStruct(numericalTestStruct);
+                }
+            }
+
+            for (size_t k = 0; k < configFileData->shearWaveParameter.size(); k++) {
+                std::shared_ptr<SimulationDataStruct> simDataStruct = makeShearWaveSimulationData(configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->shearWaveParameter.at(k), configFileData->shearWaveGridInformation);
+                if (simDataStruct->simGroupRun) {
+                    std::shared_ptr<NumericalTestStruct> numericalTestStruct = makeNumericalTestStruct(configFileData, simDataStruct, configFileData->kernelsToTest.at(i), configFileData->viscosity.at(j), configFileData->shearWaveParameter.at(k)->basicTimeStepLength);
+                    addNumericalTestStruct(numericalTestStruct);
+                }
+
+            }
+            
+        }
+    }
 }
 
 std::shared_ptr<NumericalTestStruct> NumericalTestFactoryImp::makeNumericalTestStruct(std::shared_ptr<ConfigDataStruct> configFileData, std::shared_ptr<SimulationDataStruct> simDataStruct, std::string kernel, double viscosity, int basicTimeStepLength)
 {
-	std::shared_ptr<NumericalTestStruct> numTestStruct = std::shared_ptr<NumericalTestStruct>(new NumericalTestStruct);
+    std::shared_ptr<NumericalTestStruct> numTestStruct = std::shared_ptr<NumericalTestStruct>(new NumericalTestStruct);
 
-	std::vector<std::shared_ptr<TestSimulationImp> > testSim = makeTestSimulations(simDataStruct->testSimData, configFileData->vectorWriterInfo, configFileData->ySliceForCalculation);
-	numTestStruct->testSimulations = testSim;
-	std::shared_ptr<BasicTestLogFileInformation> basicTestLogFileInfo = BasicTestLogFileInformation::getNewInstance();
-	std::vector<std::shared_ptr<TestLogFileInformation> > testLogFileInfo;
-	
-	std::shared_ptr<TestStruct> phiTestStruct = makePhiTestsStructs(configFileData->phiTestParameter, testSim, viscosity);
-	initTestStruct(phiTestStruct, numTestStruct, testLogFileInfo, basicTestLogFileInfo);
+    std::vector<std::shared_ptr<TestSimulationImp> > testSim = makeTestSimulations(simDataStruct->testSimData, configFileData->vectorWriterInfo, configFileData->ySliceForCalculation);
+    numTestStruct->testSimulations = testSim;
+    std::shared_ptr<BasicTestLogFileInformation> basicTestLogFileInfo = BasicTestLogFileInformation::getNewInstance();
+    std::vector<std::shared_ptr<TestLogFileInformation> > testLogFileInfo;
+    
+    std::shared_ptr<TestStruct> phiTestStruct = makePhiTestsStructs(configFileData->phiTestParameter, testSim, viscosity);
+    initTestStruct(phiTestStruct, numTestStruct, testLogFileInfo, basicTestLogFileInfo);
 
-	std::shared_ptr<TestStruct> nyTestStruct = makeNyTestsStructs(configFileData->nyTestParameter, testSim, viscosity);
-	initTestStruct(nyTestStruct, numTestStruct, testLogFileInfo, basicTestLogFileInfo);
-		
-	std::shared_ptr<TestStruct> l2NormTestSruct = makeL2NormTestsStructs(configFileData->l2NormTestParameter, testSim);
-	initTestStruct(l2NormTestSruct, numTestStruct, testLogFileInfo, basicTestLogFileInfo);
+    std::shared_ptr<TestStruct> nyTestStruct = makeNyTestsStructs(configFileData->nyTestParameter, testSim, viscosity);
+    initTestStruct(nyTestStruct, numTestStruct, testLogFileInfo, basicTestLogFileInfo);
+        
+    std::shared_ptr<TestStruct> l2NormTestSruct = makeL2NormTestsStructs(configFileData->l2NormTestParameter, testSim);
+    initTestStruct(l2NormTestSruct, numTestStruct, testLogFileInfo, basicTestLogFileInfo);
 
-	std::shared_ptr<TestStruct> l2NormTestBetweenKernelStruct = makeL2NormTestsBetweenKernelsStructs(configFileData->l2NormTestBetweenKernelsParameter, testSim, kernel);
-	initTestStruct(l2NormTestBetweenKernelStruct, numTestStruct, testLogFileInfo, basicTestLogFileInfo);
+    std::shared_ptr<TestStruct> l2NormTestBetweenKernelStruct = makeL2NormTestsBetweenKernelsStructs(configFileData->l2NormTestBetweenKernelsParameter, testSim, kernel);
+    initTestStruct(l2NormTestBetweenKernelStruct, numTestStruct, testLogFileInfo, basicTestLogFileInfo);
 
-	std::vector<std::shared_ptr<SimulationInfo> > simInfo;
-	for (size_t i = 0; i < simDataStruct->testSimData.size(); i++)
-		simInfo.push_back(simDataStruct->testSimData.at(i)->simInformation);
+    std::vector<std::shared_ptr<SimulationInfo> > simInfo;
+    for (size_t i = 0; i < simDataStruct->testSimData.size(); i++)
+        simInfo.push_back(simDataStruct->testSimData.at(i)->simInformation);
 
-	std::shared_ptr<LogFileWriter> logFileWriter = makeLogFileWriter(testLogFileInfo, simDataStruct->logFileInformation, simInfo, kernel, viscosity, basicTimeStepLength, configFileData->logFilePara, basicTestLogFileInfo);
-	numTestStruct->logFileWriter = logFileWriter;
+    std::shared_ptr<LogFileWriter> logFileWriter = makeLogFileWriter(testLogFileInfo, simDataStruct->logFileInformation, simInfo, kernel, viscosity, basicTimeStepLength, configFileData->logFilePara, basicTestLogFileInfo);
+    numTestStruct->logFileWriter = logFileWriter;
 
-	return numTestStruct;
+    return numTestStruct;
 }
 
 void NumericalTestFactoryImp::addNumericalTestStruct(std::shared_ptr<NumericalTestStruct> numericalTestStruct)
 {
-	for (size_t i = 0; i < numericalTestStruct->testSimulations.size(); i++)
-		myTestSimulations.push_back(numericalTestStruct->testSimulations.at(i));
+    for (size_t i = 0; i < numericalTestStruct->testSimulations.size(); i++)
+        myTestSimulations.push_back(numericalTestStruct->testSimulations.at(i));
 
-	for (size_t i = 0; i < numericalTestStruct->tests.size(); i++)
-		myTestQueue->addTest(numericalTestStruct->tests.at(i));
+    for (size_t i = 0; i < numericalTestStruct->tests.size(); i++)
+        myTestQueue->addTest(numericalTestStruct->tests.at(i));
 
-	myLogFileWriterQueue->addLogFileWriter(numericalTestStruct->logFileWriter);
+    myLogFileWriterQueue->addLogFileWriter(numericalTestStruct->logFileWriter);
 }
 
 std::shared_ptr<SimulationDataStruct> NumericalTestFactoryImp::makeTaylorGreenUxSimulationData(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
-	std::shared_ptr<SimulationDataStruct> simDataStruct = std::shared_ptr<SimulationDataStruct>(new SimulationDataStruct);
-
-	if (gridInfoStruct.size() > 0) {
-		for (size_t i = 0; i < gridInfoStruct.size(); i++) {
-			std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
-			aTestSimData->simParameter = SimulationParameterTaylorGreenUx::getNewInstance(kernel, viscosity, simParaStruct, gridInfoStruct.at(i));
-			aTestSimData->initialCondition = InitialConditionTaylorGreenUx::getNewInstance(simParaStruct, gridInfoStruct.at(i));
-			aTestSimData->simInformation = SimulationInfoTaylorGreenUx::getNewInstance(simID, kernel, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
-			simID++;
-			aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUx::getNewInstance(viscosity, simParaStruct);
-			simDataStruct->testSimData.push_back(aTestSimData);
-		}
-		simDataStruct->logFileInformation = LogFileInformationTaylorGreenUx::getNewInstance(simParaStruct, gridInfoStruct);
-		simDataStruct->simGroupRun = true;
-	}
-	else {
-		simDataStruct->simGroupRun = false;
-	}
-	return simDataStruct;
+    std::shared_ptr<SimulationDataStruct> simDataStruct = std::shared_ptr<SimulationDataStruct>(new SimulationDataStruct);
+
+    if (gridInfoStruct.size() > 0) {
+        for (size_t i = 0; i < gridInfoStruct.size(); i++) {
+            std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
+            aTestSimData->simParameter = SimulationParameterTaylorGreenUx::getNewInstance(kernel, viscosity, simParaStruct, gridInfoStruct.at(i));
+            aTestSimData->initialCondition = InitialConditionTaylorGreenUx::getNewInstance(simParaStruct, gridInfoStruct.at(i));
+            aTestSimData->simInformation = SimulationInfoTaylorGreenUx::getNewInstance(simID, kernel, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
+            simID++;
+            aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUx::getNewInstance(viscosity, simParaStruct);
+            simDataStruct->testSimData.push_back(aTestSimData);
+        }
+        simDataStruct->logFileInformation = LogFileInformationTaylorGreenUx::getNewInstance(simParaStruct, gridInfoStruct);
+        simDataStruct->simGroupRun = true;
+    }
+    else {
+        simDataStruct->simGroupRun = false;
+    }
+    return simDataStruct;
 }
 
 std::shared_ptr<SimulationDataStruct> NumericalTestFactoryImp::makeTaylorGreenUzSimulationData(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
-	std::shared_ptr<SimulationDataStruct> simDataStruct = std::shared_ptr<SimulationDataStruct>(new SimulationDataStruct);
-	if (gridInfoStruct.size() > 0) {
-		for (size_t i = 0; i < gridInfoStruct.size(); i++) {
-			std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
-			aTestSimData->simParameter = SimulationParameterTaylorGreenUz::getNewInstance(kernel, viscosity, simParaStruct, gridInfoStruct.at(i));
-			aTestSimData->initialCondition = InitialConditionTaylorGreenUz::getNewInstance(simParaStruct, gridInfoStruct.at(i));
-			aTestSimData->simInformation = SimulationInfoTaylorGreenUz::getNewInstance(simID, kernel, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
-			simID++;
-			aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUz::getNewInstance(viscosity, simParaStruct);
-			simDataStruct->testSimData.push_back(aTestSimData);
-		}
-		simDataStruct->logFileInformation = LogFileInformationTaylorGreenUz::getNewInstance(simParaStruct, gridInfoStruct);
-		simDataStruct->simGroupRun = true;
-	}
-	else {
-		simDataStruct->simGroupRun = false;
-	}
-	return simDataStruct;
+    std::shared_ptr<SimulationDataStruct> simDataStruct = std::shared_ptr<SimulationDataStruct>(new SimulationDataStruct);
+    if (gridInfoStruct.size() > 0) {
+        for (size_t i = 0; i < gridInfoStruct.size(); i++) {
+            std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
+            aTestSimData->simParameter = SimulationParameterTaylorGreenUz::getNewInstance(kernel, viscosity, simParaStruct, gridInfoStruct.at(i));
+            aTestSimData->initialCondition = InitialConditionTaylorGreenUz::getNewInstance(simParaStruct, gridInfoStruct.at(i));
+            aTestSimData->simInformation = SimulationInfoTaylorGreenUz::getNewInstance(simID, kernel, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
+            simID++;
+            aTestSimData->analyticalResult = AnalyticalResultsTaylorGreenUz::getNewInstance(viscosity, simParaStruct);
+            simDataStruct->testSimData.push_back(aTestSimData);
+        }
+        simDataStruct->logFileInformation = LogFileInformationTaylorGreenUz::getNewInstance(simParaStruct, gridInfoStruct);
+        simDataStruct->simGroupRun = true;
+    }
+    else {
+        simDataStruct->simGroupRun = false;
+    }
+    return simDataStruct;
 }
 
 std::shared_ptr<SimulationDataStruct> NumericalTestFactoryImp::makeShearWaveSimulationData(std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct)
 {
-	std::shared_ptr<SimulationDataStruct> simDataStruct = std::shared_ptr<SimulationDataStruct>(new SimulationDataStruct);
-	if (gridInfoStruct.size() > 0) {
-		for (size_t i = 0; i < gridInfoStruct.size(); i++) {
-			std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
-			aTestSimData->simParameter = ShearWaveSimulationParameter::getNewInstance(kernel, viscosity, simParaStruct, gridInfoStruct.at(i));
-			aTestSimData->initialCondition = InitialConditionShearWave::getNewInstance(simParaStruct, gridInfoStruct.at(i));
-			aTestSimData->simInformation = ShearWaveSimulationInfo::getNewInstance(simID, kernel, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
-			simID++;
-			aTestSimData->analyticalResult = ShearWaveAnalyticalResults::getNewInstance(viscosity, simParaStruct);
-			simDataStruct->testSimData.push_back(aTestSimData);
-		}
-		simDataStruct->logFileInformation = ShearWaveInformation::getNewInstance(simParaStruct, gridInfoStruct);
-		simDataStruct->simGroupRun = true;
-	}		
-	else {
-		simDataStruct->simGroupRun = false;
-	}
-	return simDataStruct;
+    std::shared_ptr<SimulationDataStruct> simDataStruct = std::shared_ptr<SimulationDataStruct>(new SimulationDataStruct);
+    if (gridInfoStruct.size() > 0) {
+        for (size_t i = 0; i < gridInfoStruct.size(); i++) {
+            std::shared_ptr<TestSimulationDataStruct> aTestSimData = std::shared_ptr<TestSimulationDataStruct>(new TestSimulationDataStruct);
+            aTestSimData->simParameter = ShearWaveSimulationParameter::getNewInstance(kernel, viscosity, simParaStruct, gridInfoStruct.at(i));
+            aTestSimData->initialCondition = InitialConditionShearWave::getNewInstance(simParaStruct, gridInfoStruct.at(i));
+            aTestSimData->simInformation = ShearWaveSimulationInfo::getNewInstance(simID, kernel, viscosity, simParaStruct, gridInfoStruct.at(i), numberOfSimulations);
+            simID++;
+            aTestSimData->analyticalResult = ShearWaveAnalyticalResults::getNewInstance(viscosity, simParaStruct);
+            simDataStruct->testSimData.push_back(aTestSimData);
+        }
+        simDataStruct->logFileInformation = ShearWaveInformation::getNewInstance(simParaStruct, gridInfoStruct);
+        simDataStruct->simGroupRun = true;
+    }        
+    else {
+        simDataStruct->simGroupRun = false;
+    }
+    return simDataStruct;
 }
 
 std::vector<std::shared_ptr<TestSimulationImp> > NumericalTestFactoryImp::makeTestSimulations(std::vector<std::shared_ptr<TestSimulationDataStruct> > testSimDataStruct, std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int ySliceForCalculation)
 {
-	std::vector<std::shared_ptr<TestSimulationImp> > testSimulations;
-	for (size_t i = 0; i < testSimDataStruct.size(); i++) {
-		std::shared_ptr<TimeImp> time = TimeImp::getNewInstance();
-		testSimDataStruct.at(i)->simInformation->setTimeInfo(time);
-		std::shared_ptr<SimulationResults> simResult = SimulationResults::getNewInstance(testSimDataStruct.at(i)->simParameter);
-		std::shared_ptr<ToVectorWriter> toVectorWriter = Y2dSliceToResults::getNewInstance(vectorWriterInfo, testSimDataStruct.at(i)->simParameter->getTimeStepLength(), simResult, ySliceForCalculation);
-		
-
-		auto currentTestSimData = testSimDataStruct.at(i);
-		auto para = vf::gpu::tests::makeParameter(currentTestSimData->simParameter);
-		currentTestSimData->initialCondition->setParameter(para);
-		auto vfsim = vf::gpu::tests::makeVirtualFluidSimulation(para, currentTestSimData->initialCondition, toVectorWriter);
-
-		auto testSim = std::make_shared<TestSimulationImp>(vfsim, currentTestSimData, simResult, time, toVectorWriter, anaResultWriter, colorOutput);
-		testSim->setParameter(para);
-
-		testSimulations.push_back(testSim);
-	}
-
-	return testSimulations;
+    std::vector<std::shared_ptr<TestSimulationImp> > testSimulations;
+    for (size_t i = 0; i < testSimDataStruct.size(); i++) {
+        std::shared_ptr<TimeImp> time = TimeImp::getNewInstance();
+        testSimDataStruct.at(i)->simInformation->setTimeInfo(time);
+        std::shared_ptr<SimulationResults> simResult = SimulationResults::getNewInstance(testSimDataStruct.at(i)->simParameter);
+        std::shared_ptr<ToVectorWriter> toVectorWriter = Y2dSliceToResults::getNewInstance(vectorWriterInfo, testSimDataStruct.at(i)->simParameter->getTimeStepLength(), simResult, ySliceForCalculation);
+        
+
+        auto currentTestSimData = testSimDataStruct.at(i);
+        auto para = vf::gpu::tests::makeParameter(currentTestSimData->simParameter);
+        currentTestSimData->initialCondition->setParameter(para);
+        auto vfsim = vf::gpu::tests::makeVirtualFluidSimulation(para, currentTestSimData->initialCondition, toVectorWriter);
+
+        auto testSim = std::make_shared<TestSimulationImp>(vfsim, currentTestSimData, simResult, time, toVectorWriter, anaResultWriter, colorOutput);
+        testSim->setParameter(para);
+
+        testSimulations.push_back(testSim);
+    }
+
+    return testSimulations;
 }
 
 std::shared_ptr<TestStruct> NumericalTestFactoryImp::makePhiTestsStructs(std::shared_ptr<PhiTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp>> testSimumlations, double viscosity)
 {
-	std::shared_ptr<TestStruct> testStruct = std::shared_ptr<TestStruct>(new TestStruct);
-
-	if (testParameter->basicTestParameter->runTest && testSimumlations.size() > 1) {
-		std::shared_ptr<PhiTestLogFileInformation> testLogFileInfo = PhiTestLogFileInformation::getNewInstance(testParameter);
-		
-		std::vector<std::shared_ptr<PhiTestPostProcessingStrategy> > postProcessingStrategies;
-		for (size_t i = 0; i < testSimumlations.size(); i++)
-			postProcessingStrategies.push_back(PhiTestPostProcessingStrategy::getNewInstance(testSimumlations.at(i)->getSimulationResults(), testSimumlations.at(i)->getAnalyticalResults(), testParameter, testSimumlations.at(i)->getDataToCalcTests()));
-
-		for (size_t i = 0; i < testSimumlations.at(0)->getDataToCalcTests().size(); i++) {
-			std::vector<std::shared_ptr<PhiTest> > phiTests = makePhiTests(testParameter, testSimumlations, postProcessingStrategies, viscosity, testSimumlations.at(0)->getDataToCalcTests().at(i));
-			testLogFileInfo->addTestGroup(phiTests);
-			for (size_t j = 0; j < phiTests.size(); j++)
-				testStruct->tests.push_back(phiTests.at(j));
-		}
-		testStruct->logFileInfo = testLogFileInfo;
-		testStruct->testName = "PhiTest";
-	}
-
-	return testStruct;
+    std::shared_ptr<TestStruct> testStruct = std::shared_ptr<TestStruct>(new TestStruct);
+
+    if (testParameter->basicTestParameter->runTest && testSimumlations.size() > 1) {
+        std::shared_ptr<PhiTestLogFileInformation> testLogFileInfo = PhiTestLogFileInformation::getNewInstance(testParameter);
+        
+        std::vector<std::shared_ptr<PhiTestPostProcessingStrategy> > postProcessingStrategies;
+        for (size_t i = 0; i < testSimumlations.size(); i++)
+            postProcessingStrategies.push_back(PhiTestPostProcessingStrategy::getNewInstance(testSimumlations.at(i)->getSimulationResults(), testSimumlations.at(i)->getAnalyticalResults(), testParameter, testSimumlations.at(i)->getDataToCalcTests()));
+
+        for (size_t i = 0; i < testSimumlations.at(0)->getDataToCalcTests().size(); i++) {
+            std::vector<std::shared_ptr<PhiTest> > phiTests = makePhiTests(testParameter, testSimumlations, postProcessingStrategies, viscosity, testSimumlations.at(0)->getDataToCalcTests().at(i));
+            testLogFileInfo->addTestGroup(phiTests);
+            for (size_t j = 0; j < phiTests.size(); j++)
+                testStruct->tests.push_back(phiTests.at(j));
+        }
+        testStruct->logFileInfo = testLogFileInfo;
+        testStruct->testName = "PhiTest";
+    }
+
+    return testStruct;
 }
 
 std::vector<std::shared_ptr<PhiTest>> NumericalTestFactoryImp::makePhiTests(std::shared_ptr<PhiTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp>> testSim, std::vector<std::shared_ptr<PhiTestPostProcessingStrategy>> phiPostProStrategy, double viscosity, std::string dataToCalculate)
 {
-	std::vector<std::shared_ptr<PhiTest> > phiTests;
-	for (size_t i = 1; i < testSim.size(); i++) {
-		for (size_t j = 0; j < i; j++) {
-			std::shared_ptr<PhiTest> test = PhiTest::getNewInstance(colorOutput, viscosity, testParameter, dataToCalculate);
-			test->addSimulation(testSim.at(j), testSim.at(j)->getSimulationInfo(), phiPostProStrategy.at(j));
-			test->addSimulation(testSim.at(i), testSim.at(i)->getSimulationInfo(), phiPostProStrategy.at(i));
-
-			testSim.at(j)->registerSimulationObserver(test);
-			testSim.at(i)->registerSimulationObserver(test);
-
-			phiTests.push_back(test);
-		}
-	}
-	return phiTests;
+    std::vector<std::shared_ptr<PhiTest> > phiTests;
+    for (size_t i = 1; i < testSim.size(); i++) {
+        for (size_t j = 0; j < i; j++) {
+            std::shared_ptr<PhiTest> test = PhiTest::getNewInstance(colorOutput, viscosity, testParameter, dataToCalculate);
+            test->addSimulation(testSim.at(j), testSim.at(j)->getSimulationInfo(), phiPostProStrategy.at(j));
+            test->addSimulation(testSim.at(i), testSim.at(i)->getSimulationInfo(), phiPostProStrategy.at(i));
+
+            testSim.at(j)->registerSimulationObserver(test);
+            testSim.at(i)->registerSimulationObserver(test);
+
+            phiTests.push_back(test);
+        }
+    }
+    return phiTests;
 }
 
 std::shared_ptr<TestStruct> NumericalTestFactoryImp::makeNyTestsStructs(std::shared_ptr<NyTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp>> testSimumlations, double viscosity)
 {
-	std::shared_ptr<TestStruct> testStruct = std::shared_ptr<TestStruct>(new TestStruct);
-
-	if (testParameter->basicTestParameter->runTest && testSimumlations.size() > 1) {
-		std::shared_ptr<NyTestLogFileInformation> testLogFileInfo = NyTestLogFileInformation::getNewInstance(testParameter);
-
-		std::vector<std::shared_ptr<NyTestPostProcessingStrategy> > postProcessingStrategies;
-		for (size_t i = 0; i < testSimumlations.size(); i++)
-			postProcessingStrategies.push_back(NyTestPostProcessingStrategy::getNewInstance(testSimumlations.at(i)->getSimulationResults(), testSimumlations.at(i)->getAnalyticalResults(), testParameter, testSimumlations.at(i)->getDataToCalcTests()));
-
-		for (size_t i = 0; i < testSimumlations.at(0)->getDataToCalcTests().size(); i++) {
-			std::vector<std::shared_ptr<NyTest> > nyTests = makeNyTests(testParameter, testSimumlations, postProcessingStrategies, viscosity, testSimumlations.at(0)->getDataToCalcTests().at(i));
-			testLogFileInfo->addTestGroup(nyTests);
-			for (size_t j = 0; j < nyTests.size(); j++)
-				testStruct->tests.push_back(nyTests.at(j));
-		}
-		testStruct->logFileInfo = testLogFileInfo;
-		testStruct->testName = "NyTest";
-	}
-
-	return testStruct;
+    std::shared_ptr<TestStruct> testStruct = std::shared_ptr<TestStruct>(new TestStruct);
+
+    if (testParameter->basicTestParameter->runTest && testSimumlations.size() > 1) {
+        std::shared_ptr<NyTestLogFileInformation> testLogFileInfo = NyTestLogFileInformation::getNewInstance(testParameter);
+
+        std::vector<std::shared_ptr<NyTestPostProcessingStrategy> > postProcessingStrategies;
+        for (size_t i = 0; i < testSimumlations.size(); i++)
+            postProcessingStrategies.push_back(NyTestPostProcessingStrategy::getNewInstance(testSimumlations.at(i)->getSimulationResults(), testSimumlations.at(i)->getAnalyticalResults(), testParameter, testSimumlations.at(i)->getDataToCalcTests()));
+
+        for (size_t i = 0; i < testSimumlations.at(0)->getDataToCalcTests().size(); i++) {
+            std::vector<std::shared_ptr<NyTest> > nyTests = makeNyTests(testParameter, testSimumlations, postProcessingStrategies, viscosity, testSimumlations.at(0)->getDataToCalcTests().at(i));
+            testLogFileInfo->addTestGroup(nyTests);
+            for (size_t j = 0; j < nyTests.size(); j++)
+                testStruct->tests.push_back(nyTests.at(j));
+        }
+        testStruct->logFileInfo = testLogFileInfo;
+        testStruct->testName = "NyTest";
+    }
+
+    return testStruct;
 }
 
 std::vector<std::shared_ptr<NyTest>> NumericalTestFactoryImp::makeNyTests(std::shared_ptr<NyTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp>> testSim, std::vector<std::shared_ptr<NyTestPostProcessingStrategy>> nuPostProStrategy, double viscosity, std::string dataToCalculate)
 {
-	std::vector<std::shared_ptr<NyTest> > nyTests;
-	for (size_t i = 1; i < testSim.size(); i++) {
-		for (size_t j = 0; j < i; j++) {
-			std::shared_ptr<NyTest> test = NyTest::getNewInstance(colorOutput, viscosity, testParameter, dataToCalculate);
-			test->addSimulation(testSim.at(j), testSim.at(j)->getSimulationInfo(), nuPostProStrategy.at(j));
-			test->addSimulation(testSim.at(i), testSim.at(i)->getSimulationInfo(), nuPostProStrategy.at(i));
-
-			testSim.at(j)->registerSimulationObserver(test);
-			testSim.at(i)->registerSimulationObserver(test);
-
-			nyTests.push_back(test);
-		}
-	}
-	return nyTests;
+    std::vector<std::shared_ptr<NyTest> > nyTests;
+    for (size_t i = 1; i < testSim.size(); i++) {
+        for (size_t j = 0; j < i; j++) {
+            std::shared_ptr<NyTest> test = NyTest::getNewInstance(colorOutput, viscosity, testParameter, dataToCalculate);
+            test->addSimulation(testSim.at(j), testSim.at(j)->getSimulationInfo(), nuPostProStrategy.at(j));
+            test->addSimulation(testSim.at(i), testSim.at(i)->getSimulationInfo(), nuPostProStrategy.at(i));
+
+            testSim.at(j)->registerSimulationObserver(test);
+            testSim.at(i)->registerSimulationObserver(test);
+
+            nyTests.push_back(test);
+        }
+    }
+    return nyTests;
 }
 
 std::shared_ptr<TestStruct> NumericalTestFactoryImp::makeL2NormTestsStructs(std::shared_ptr<L2NormTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSimumlations)
 {
-	std::shared_ptr<TestStruct> testStruct = std::shared_ptr<TestStruct> (new TestStruct);
-
-	if (testParameter->basicTestParameter->runTest) {
-		std::vector<std::shared_ptr<L2NormPostProcessingStrategy> >  postProcessingStrategies;
-		for (size_t i = 0; i < testSimumlations.size(); i++)
-			postProcessingStrategies.push_back(L2NormPostProcessingStrategy::getNewInstance(testSimumlations.at(i)->getSimulationResults(), testSimumlations.at(i)->getAnalyticalResults(), testParameter, l2NormCalculatorFactory, testSimumlations.at(i)->getDataToCalcTests()));
-
-		std::vector<std::shared_ptr<L2NormTest> > tests = makeL2NormTests(testSimumlations, postProcessingStrategies, testParameter);
-		std::shared_ptr<L2NormInformation> testLogFileInfo = L2NormInformation::getNewInstance(tests, testParameter, testSimumlations.at(0)->getDataToCalcTests());
-
-		for(size_t i = 0; i < tests.size(); i++)
-			testStruct->tests.push_back(tests.at(i));
-		testStruct->logFileInfo = testLogFileInfo;
-		testStruct->testName = "L2NormTest";
-	}
-	return testStruct;
+    std::shared_ptr<TestStruct> testStruct = std::shared_ptr<TestStruct> (new TestStruct);
+
+    if (testParameter->basicTestParameter->runTest) {
+        std::vector<std::shared_ptr<L2NormPostProcessingStrategy> >  postProcessingStrategies;
+        for (size_t i = 0; i < testSimumlations.size(); i++)
+            postProcessingStrategies.push_back(L2NormPostProcessingStrategy::getNewInstance(testSimumlations.at(i)->getSimulationResults(), testSimumlations.at(i)->getAnalyticalResults(), testParameter, l2NormCalculatorFactory, testSimumlations.at(i)->getDataToCalcTests()));
+
+        std::vector<std::shared_ptr<L2NormTest> > tests = makeL2NormTests(testSimumlations, postProcessingStrategies, testParameter);
+        std::shared_ptr<L2NormInformation> testLogFileInfo = L2NormInformation::getNewInstance(tests, testParameter, testSimumlations.at(0)->getDataToCalcTests());
+
+        for(size_t i = 0; i < tests.size(); i++)
+            testStruct->tests.push_back(tests.at(i));
+        testStruct->logFileInfo = testLogFileInfo;
+        testStruct->testName = "L2NormTest";
+    }
+    return testStruct;
 }
 
 std::vector<std::shared_ptr<L2NormTest> > NumericalTestFactoryImp::makeL2NormTests(std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<L2NormPostProcessingStrategy> > postProStrategy, std::shared_ptr<L2NormTestParameterStruct> testParameter)
 {
-	std::vector<std::shared_ptr<L2NormTest> > l2Tests;
-	for (size_t k = 0; k < testParameter->normalizeData.size(); k++) {
-		for (size_t i = 0; i < testSim.size(); i++) {
-			for (size_t j = 0; j < testSim.at(i)->getDataToCalcTests().size(); j++) {
-				std::shared_ptr<L2NormTest> test = L2NormTest::getNewInstance(colorOutput, testParameter, testSim.at(i)->getDataToCalcTests().at(j), testParameter->maxDiff.at(k), testParameter->normalizeData.at(k));
-				test->addSimulation(testSim.at(i), testSim.at(i)->getSimulationInfo(), postProStrategy.at(i));
-				testSim.at(i)->registerSimulationObserver(test);
-				l2Tests.push_back(test);
-			}
-		}
-	}
-	return l2Tests;
+    std::vector<std::shared_ptr<L2NormTest> > l2Tests;
+    for (size_t k = 0; k < testParameter->normalizeData.size(); k++) {
+        for (size_t i = 0; i < testSim.size(); i++) {
+            for (size_t j = 0; j < testSim.at(i)->getDataToCalcTests().size(); j++) {
+                std::shared_ptr<L2NormTest> test = L2NormTest::getNewInstance(colorOutput, testParameter, testSim.at(i)->getDataToCalcTests().at(j), testParameter->maxDiff.at(k), testParameter->normalizeData.at(k));
+                test->addSimulation(testSim.at(i), testSim.at(i)->getSimulationInfo(), postProStrategy.at(i));
+                testSim.at(i)->registerSimulationObserver(test);
+                l2Tests.push_back(test);
+            }
+        }
+    }
+    return l2Tests;
 }
 
 std::shared_ptr<TestStruct> NumericalTestFactoryImp::makeL2NormTestsBetweenKernelsStructs(std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::string kernelName)
 {
-	std::shared_ptr<TestStruct> testStruct = std::shared_ptr<TestStruct>(new TestStruct);
-	testStruct->testName = "L2NormTestBetweenKernel";
-
-	if (testPara->basicTestParameter->runTest) {
-
-		std::vector<std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> > postProcessingStrategies;
-		for (size_t i = 0; i < testSim.size(); i++)
-			postProcessingStrategies.push_back(L2NormBetweenKernelPostProcessingStrategy::getNewInstance(testSim.at(i)->getSimulationResults(), testSim.at(i)->getAnalyticalResults(), testPara, l2NormCalculatorFactory, testSim.at(i)->getDataToCalcTests()));
-
-		if (kernelName == testPara->basicKernel) {
-			std::vector<std::vector<std::shared_ptr<L2NormTestBetweenKernels> > > tests = makeL2NormTestsBetweenKernels(testPara, testSim, postProcessingStrategies);
-			
-			if (l2NormTestsBetweenKernels.size() == 0) {
-				l2NormTestsBetweenKernels = tests;
-			}
-			else {
-				for (size_t i = 0; i < tests.size(); i++)
-					for (size_t j = 0; j < tests.at(i).size(); j++)
-						l2NormTestsBetweenKernels.at(i).push_back(tests.at(i).at(j));
-			}
-
-		}else{
-			std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests = linkL2NormTestsBetweenKernels(testPara, testSim, postProcessingStrategies);
-			for (size_t i = 0; i < tests.size(); i++)
-				testStruct->tests.push_back(tests.at(i));
-			testStruct->logFileInfo = L2NormBetweenKernelsInformation::getNewInstance(tests, testPara, testSim.at(0)->getDataToCalcTests());
-		}
-	}
-	return testStruct;	
+    std::shared_ptr<TestStruct> testStruct = std::shared_ptr<TestStruct>(new TestStruct);
+    testStruct->testName = "L2NormTestBetweenKernel";
+
+    if (testPara->basicTestParameter->runTest) {
+
+        std::vector<std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> > postProcessingStrategies;
+        for (size_t i = 0; i < testSim.size(); i++)
+            postProcessingStrategies.push_back(L2NormBetweenKernelPostProcessingStrategy::getNewInstance(testSim.at(i)->getSimulationResults(), testSim.at(i)->getAnalyticalResults(), testPara, l2NormCalculatorFactory, testSim.at(i)->getDataToCalcTests()));
+
+        if (kernelName == testPara->basicKernel) {
+            std::vector<std::vector<std::shared_ptr<L2NormTestBetweenKernels> > > tests = makeL2NormTestsBetweenKernels(testPara, testSim, postProcessingStrategies);
+            
+            if (l2NormTestsBetweenKernels.size() == 0) {
+                l2NormTestsBetweenKernels = tests;
+            }
+            else {
+                for (size_t i = 0; i < tests.size(); i++)
+                    for (size_t j = 0; j < tests.at(i).size(); j++)
+                        l2NormTestsBetweenKernels.at(i).push_back(tests.at(i).at(j));
+            }
+
+        }else{
+            std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests = linkL2NormTestsBetweenKernels(testPara, testSim, postProcessingStrategies);
+            for (size_t i = 0; i < tests.size(); i++)
+                testStruct->tests.push_back(tests.at(i));
+            testStruct->logFileInfo = L2NormBetweenKernelsInformation::getNewInstance(tests, testPara, testSim.at(0)->getDataToCalcTests());
+        }
+    }
+    return testStruct;    
 }
 
 std::vector<std::vector<std::shared_ptr<L2NormTestBetweenKernels> > >  NumericalTestFactoryImp::makeL2NormTestsBetweenKernels(std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> > postProcessingStrategies)
 {
-	std::vector<std::vector<std::shared_ptr<L2NormTestBetweenKernels> > > testsForAllKernels;
-
-	std::vector<std::shared_ptr<L2NormTestBetweenKernels> > testForOneKernel;
-
-	for (size_t l = 0; l < testPara->kernelsToTest.size() - 1; l++) {
-		for (size_t k = 0; k < testSim.size(); k++) {
-			for(size_t j = 0; j < testSim.at(k)->getDataToCalcTests().size(); j++){
-				for (size_t m = 0; m < testPara->normalizeData.size(); m++) {
-					for (size_t i = 0; i < testPara->timeSteps.size(); i++) {
-						std::shared_ptr<L2NormTestBetweenKernels> aTest = L2NormTestBetweenKernels::getNewInstance(colorOutput, testSim.at(k)->getDataToCalcTests().at(j), testPara->timeSteps.at(i), testPara->normalizeData.at(m), l2NormCalculatorFactory);
-						aTest->setBasicSimulation(testSim.at(k), testSim.at(k)->getSimulationInfo(), postProcessingStrategies.at(k));
-						testSim.at(k)->registerSimulationObserver(aTest);
-						testForOneKernel.push_back(aTest);
-					}
-				}
-			}
-		}
-		testsForAllKernels.push_back(testForOneKernel);
-		testForOneKernel.resize(0);
-	}
-		
-	return testsForAllKernels;
+    std::vector<std::vector<std::shared_ptr<L2NormTestBetweenKernels> > > testsForAllKernels;
+
+    std::vector<std::shared_ptr<L2NormTestBetweenKernels> > testForOneKernel;
+
+    for (size_t l = 0; l < testPara->kernelsToTest.size() - 1; l++) {
+        for (size_t k = 0; k < testSim.size(); k++) {
+            for(size_t j = 0; j < testSim.at(k)->getDataToCalcTests().size(); j++){
+                for (size_t m = 0; m < testPara->normalizeData.size(); m++) {
+                    for (size_t i = 0; i < testPara->timeSteps.size(); i++) {
+                        std::shared_ptr<L2NormTestBetweenKernels> aTest = L2NormTestBetweenKernels::getNewInstance(colorOutput, testSim.at(k)->getDataToCalcTests().at(j), testPara->timeSteps.at(i), testPara->normalizeData.at(m), l2NormCalculatorFactory);
+                        aTest->setBasicSimulation(testSim.at(k), testSim.at(k)->getSimulationInfo(), postProcessingStrategies.at(k));
+                        testSim.at(k)->registerSimulationObserver(aTest);
+                        testForOneKernel.push_back(aTest);
+                    }
+                }
+            }
+        }
+        testsForAllKernels.push_back(testForOneKernel);
+        testForOneKernel.resize(0);
+    }
+        
+    return testsForAllKernels;
 }
 
 std::vector<std::shared_ptr<L2NormTestBetweenKernels> > NumericalTestFactoryImp::linkL2NormTestsBetweenKernels(std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> > postProcessingStrategies)
 {
-	std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests;
-
-	if (testSim.size() > 0)
-		if (l2NormTestsBetweenKernels.at(0).size() == 0)
-			l2NormTestsBetweenKernels.erase(l2NormTestsBetweenKernels.begin());
-
-	for (size_t k = 0; k < testSim.size(); k++) {
-		for (size_t j = 0; j < testSim.at(k)->getDataToCalcTests().size(); j++) {
-			for (size_t m = 0; m < testPara->normalizeData.size(); m++) {
-				for (size_t i = 0; i < testPara->timeSteps.size(); i++) {
-					std::shared_ptr<L2NormTestBetweenKernels> aTest = l2NormTestsBetweenKernels.at(0).at(0);
-					l2NormTestsBetweenKernels.at(0).erase(l2NormTestsBetweenKernels.at(0).begin());
-					aTest->setDivergentKernelSimulation(testSim.at(k), testSim.at(k)->getSimulationInfo(), postProcessingStrategies.at(k));
-					testSim.at(k)->registerSimulationObserver(aTest);
-					tests.push_back(aTest);
-				}
-			}
-		}
-	}
-	return tests;
+    std::vector<std::shared_ptr<L2NormTestBetweenKernels> > tests;
+
+    if (testSim.size() > 0)
+        if (l2NormTestsBetweenKernels.at(0).size() == 0)
+            l2NormTestsBetweenKernels.erase(l2NormTestsBetweenKernels.begin());
+
+    for (size_t k = 0; k < testSim.size(); k++) {
+        for (size_t j = 0; j < testSim.at(k)->getDataToCalcTests().size(); j++) {
+            for (size_t m = 0; m < testPara->normalizeData.size(); m++) {
+                for (size_t i = 0; i < testPara->timeSteps.size(); i++) {
+                    std::shared_ptr<L2NormTestBetweenKernels> aTest = l2NormTestsBetweenKernels.at(0).at(0);
+                    l2NormTestsBetweenKernels.at(0).erase(l2NormTestsBetweenKernels.at(0).begin());
+                    aTest->setDivergentKernelSimulation(testSim.at(k), testSim.at(k)->getSimulationInfo(), postProcessingStrategies.at(k));
+                    testSim.at(k)->registerSimulationObserver(aTest);
+                    tests.push_back(aTest);
+                }
+            }
+        }
+    }
+    return tests;
 }
 
 void NumericalTestFactoryImp::initTestStruct(std::shared_ptr<TestStruct> testStruct, std::shared_ptr<NumericalTestStruct> numericalTestStruct, std::vector<std::shared_ptr<TestLogFileInformation> > &testLogFileInfo, std::shared_ptr<BasicTestLogFileInformation> basicTestLogFileInfo)
 {
-	for (size_t i = 0; i < testStruct->tests.size(); i++)
-		numericalTestStruct->tests.push_back(testStruct->tests.at(i));
-	if (testStruct->tests.size() > 0) {
-		testLogFileInfo.push_back(testStruct->logFileInfo);
-		basicTestLogFileInfo->addTest(testStruct->testName, true);
-	}
-	else {
-		basicTestLogFileInfo->addTest(testStruct->testName, false);
-	}
+    for (size_t i = 0; i < testStruct->tests.size(); i++)
+        numericalTestStruct->tests.push_back(testStruct->tests.at(i));
+    if (testStruct->tests.size() > 0) {
+        testLogFileInfo.push_back(testStruct->logFileInfo);
+        basicTestLogFileInfo->addTest(testStruct->testName, true);
+    }
+    else {
+        basicTestLogFileInfo->addTest(testStruct->testName, false);
+    }
 }
 
 std::shared_ptr<LogFileWriter> NumericalTestFactoryImp::makeLogFileWriter(std::vector<std::shared_ptr<TestLogFileInformation> > testLogFiles, std::shared_ptr<SimulationLogFileInformation> simLogInfo, std::vector<std::shared_ptr<SimulationInfo> > simInfo, std::string kernel, double viscosity, int basicTimeStepLength, std::shared_ptr<LogFileParameterStruct> logFilePara, std::shared_ptr<BasicTestLogFileInformation> basicTestLogFileInfo)
 {
-	std::shared_ptr<LogFileHead> logFileHead = LogFileHead::getNewInstance(logFilePara->devices);
-	std::shared_ptr<BasicSimulationInfo> basicSimInfo = BasicSimulationInfo::getNewInstance(logFilePara->numberOfTimeSteps, viscosity, basicTimeStepLength, kernel);
+    std::shared_ptr<LogFileHead> logFileHead = LogFileHead::getNewInstance(logFilePara->devices);
+    std::shared_ptr<BasicSimulationInfo> basicSimInfo = BasicSimulationInfo::getNewInstance(logFilePara->numberOfTimeSteps, viscosity, basicTimeStepLength, kernel);
 
-	std::shared_ptr<LogFileTimeInformation> logFileTimeInfo = LogFileTimeInformation::getNewInstance(simInfo, logFilePara->writeAnalyticalToVTK);
+    std::shared_ptr<LogFileTimeInformation> logFileTimeInfo = LogFileTimeInformation::getNewInstance(simInfo, logFilePara->writeAnalyticalToVTK);
 
-	std::shared_ptr<LogFileWriterImp> logFileWriter = LogFileWriterImp::getNewInstance(logFileHead, basicSimInfo, basicTestLogFileInfo, testLogFiles, logFileTimeInfo, simLogInfo, kernel, viscosity);
+    std::shared_ptr<LogFileWriterImp> logFileWriter = LogFileWriterImp::getNewInstance(logFileHead, basicSimInfo, basicTestLogFileInfo, testLogFiles, logFileTimeInfo, simLogInfo, kernel, viscosity);
 
-	return logFileWriter;
+    return logFileWriter;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.h b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.h
index ff9753a4afde382e48fc8d07a8763f26f4c6b23d..079a6df321121c024ad659a78fe399559a492362 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.h
@@ -47,53 +47,53 @@ class TestLogFileInformation;
 class NumericalTestFactoryImp : public NumericalTestFactory
 {
 public:
-	static std::shared_ptr<NumericalTestFactoryImp> getNewInstance(std::shared_ptr<ConfigDataStruct> configFileData);
+    static std::shared_ptr<NumericalTestFactoryImp> getNewInstance(std::shared_ptr<ConfigDataStruct> configFileData);
 
-	std::vector<std::shared_ptr<TestSimulation> > getTestSimulations();
-	std::shared_ptr<TestQueue> getTestQueue();
-	std::shared_ptr<LogFileQueue> getLogFileQueue();
+    std::vector<std::shared_ptr<TestSimulation> > getTestSimulations();
+    std::shared_ptr<TestQueue> getTestQueue();
+    std::shared_ptr<LogFileQueue> getLogFileQueue();
 
 private:
-	NumericalTestFactoryImp() {};
-	NumericalTestFactoryImp(std::shared_ptr<ConfigDataStruct> configFileData);
-
-	void init(std::shared_ptr<ConfigDataStruct> configFileData);
-
-	std::shared_ptr<NumericalTestStruct> makeNumericalTestStruct(std::shared_ptr<ConfigDataStruct> configFileData, std::shared_ptr<SimulationDataStruct> simDataStruct, std::string kernel, double viscosity, int basicTimeStepLength);
-	void addNumericalTestStruct(std::shared_ptr<NumericalTestStruct> numericalTestStruct);
-
-	std::shared_ptr<SimulationDataStruct> makeTaylorGreenUxSimulationData(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
-	std::shared_ptr<SimulationDataStruct> makeTaylorGreenUzSimulationData(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
-	std::shared_ptr<SimulationDataStruct> makeShearWaveSimulationData(std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
-
-	std::vector<std::shared_ptr<TestSimulationImp> > makeTestSimulations(std::vector<std::shared_ptr<TestSimulationDataStruct> > testSimDataStruct, std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int ySliceForCalculation);
-
-	std::shared_ptr<TestStruct> makePhiTestsStructs(std::shared_ptr<PhiTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSimumlations, double viscosity);
-	std::shared_ptr<TestStruct> makeNyTestsStructs(std::shared_ptr<NyTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSimumlations, double viscosity);
-	std::shared_ptr<TestStruct> makeL2NormTestsStructs(std::shared_ptr<L2NormTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSimumlations);
-	std::shared_ptr<TestStruct> makeL2NormTestsBetweenKernelsStructs(std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::string kernel);
-	
-	std::vector<std::shared_ptr<PhiTest> > makePhiTests(std::shared_ptr<PhiTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<PhiTestPostProcessingStrategy> > phiAndNuPostProStrategy, double viscosity, std::string dataToCalculate);
-	std::vector<std::shared_ptr<NyTest> > makeNyTests(std::shared_ptr<NyTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<NyTestPostProcessingStrategy> > phiAndNuPostProStrategy, double viscosity, std::string dataToCalculate);
-	std::vector<std::shared_ptr<L2NormTest> > makeL2NormTests(std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<L2NormPostProcessingStrategy> > postProStrategy, std::shared_ptr<L2NormTestParameterStruct> testParameter);
-	std::vector<std::vector<std::shared_ptr<L2NormTestBetweenKernels> > > makeL2NormTestsBetweenKernels(std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> > postProcessingStrategies);
-	std::vector<std::shared_ptr<L2NormTestBetweenKernels> > linkL2NormTestsBetweenKernels(std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> > postProcessingStrategies);
-
-	std::shared_ptr<LogFileWriter> makeLogFileWriter(std::vector<std::shared_ptr<TestLogFileInformation> > testLogFiles, std::shared_ptr<SimulationLogFileInformation> simLogInfo, std::vector<std::shared_ptr<SimulationInfo> > simInfo, std::string kernel, double viscosity, int basicTimeStepLength, std::shared_ptr<LogFileParameterStruct> logFilePara, std::shared_ptr<BasicTestLogFileInformation> basicTestLogFileInfo);
-
-	void initTestStruct(std::shared_ptr<TestStruct> testStruct, std::shared_ptr<NumericalTestStruct> numericalTestStruct, std::vector<std::shared_ptr<TestLogFileInformation> > &testLogFileInfo, std::shared_ptr<BasicTestLogFileInformation> basicTestLogFileInfo);
-
-	std::vector<std::shared_ptr<TestSimulation> > myTestSimulations;
-	std::shared_ptr<TestQueueImp> myTestQueue;
-	std::shared_ptr<LogFileQueueImp> myLogFileWriterQueue;
-	std::vector<std::vector<std::shared_ptr<L2NormTestBetweenKernels> > > l2NormTestsBetweenKernels;
-	std::shared_ptr<ColorConsoleOutput> colorOutput;
-	std::shared_ptr<AnalyticalResults2DToVTKWriter> anaResultWriter;
-	std::shared_ptr<L2NormCalculatorFactory> l2NormCalculatorFactory;
-
-	int simID;
-	int numberOfSimulations;
-	// int simPerKernel, numberOfTestGroupsBetweenKernels, numberOfTestsForOneSimulation, numberOfTestsBetweenKernels;
-	// int posBasicSimulationForL2Test, posDivergentSimulationForL2Test;
+    NumericalTestFactoryImp() {};
+    NumericalTestFactoryImp(std::shared_ptr<ConfigDataStruct> configFileData);
+
+    void init(std::shared_ptr<ConfigDataStruct> configFileData);
+
+    std::shared_ptr<NumericalTestStruct> makeNumericalTestStruct(std::shared_ptr<ConfigDataStruct> configFileData, std::shared_ptr<SimulationDataStruct> simDataStruct, std::string kernel, double viscosity, int basicTimeStepLength);
+    void addNumericalTestStruct(std::shared_ptr<NumericalTestStruct> numericalTestStruct);
+
+    std::shared_ptr<SimulationDataStruct> makeTaylorGreenUxSimulationData(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUxParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
+    std::shared_ptr<SimulationDataStruct> makeTaylorGreenUzSimulationData(std::string kernel, double viscosity, std::shared_ptr<TaylorGreenVortexUzParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
+    std::shared_ptr<SimulationDataStruct> makeShearWaveSimulationData(std::string kernel, double viscosity, std::shared_ptr<ShearWaveParameterStruct> simParaStruct, std::vector<std::shared_ptr<GridInformationStruct> > gridInfoStruct);
+
+    std::vector<std::shared_ptr<TestSimulationImp> > makeTestSimulations(std::vector<std::shared_ptr<TestSimulationDataStruct> > testSimDataStruct, std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo, unsigned int ySliceForCalculation);
+
+    std::shared_ptr<TestStruct> makePhiTestsStructs(std::shared_ptr<PhiTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSimumlations, double viscosity);
+    std::shared_ptr<TestStruct> makeNyTestsStructs(std::shared_ptr<NyTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSimumlations, double viscosity);
+    std::shared_ptr<TestStruct> makeL2NormTestsStructs(std::shared_ptr<L2NormTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSimumlations);
+    std::shared_ptr<TestStruct> makeL2NormTestsBetweenKernelsStructs(std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::string kernel);
+    
+    std::vector<std::shared_ptr<PhiTest> > makePhiTests(std::shared_ptr<PhiTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<PhiTestPostProcessingStrategy> > phiAndNuPostProStrategy, double viscosity, std::string dataToCalculate);
+    std::vector<std::shared_ptr<NyTest> > makeNyTests(std::shared_ptr<NyTestParameterStruct> testParameter, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<NyTestPostProcessingStrategy> > phiAndNuPostProStrategy, double viscosity, std::string dataToCalculate);
+    std::vector<std::shared_ptr<L2NormTest> > makeL2NormTests(std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<L2NormPostProcessingStrategy> > postProStrategy, std::shared_ptr<L2NormTestParameterStruct> testParameter);
+    std::vector<std::vector<std::shared_ptr<L2NormTestBetweenKernels> > > makeL2NormTestsBetweenKernels(std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> > postProcessingStrategies);
+    std::vector<std::shared_ptr<L2NormTestBetweenKernels> > linkL2NormTestsBetweenKernels(std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> testPara, std::vector<std::shared_ptr<TestSimulationImp> > testSim, std::vector<std::shared_ptr<L2NormBetweenKernelPostProcessingStrategy> > postProcessingStrategies);
+
+    std::shared_ptr<LogFileWriter> makeLogFileWriter(std::vector<std::shared_ptr<TestLogFileInformation> > testLogFiles, std::shared_ptr<SimulationLogFileInformation> simLogInfo, std::vector<std::shared_ptr<SimulationInfo> > simInfo, std::string kernel, double viscosity, int basicTimeStepLength, std::shared_ptr<LogFileParameterStruct> logFilePara, std::shared_ptr<BasicTestLogFileInformation> basicTestLogFileInfo);
+
+    void initTestStruct(std::shared_ptr<TestStruct> testStruct, std::shared_ptr<NumericalTestStruct> numericalTestStruct, std::vector<std::shared_ptr<TestLogFileInformation> > &testLogFileInfo, std::shared_ptr<BasicTestLogFileInformation> basicTestLogFileInfo);
+
+    std::vector<std::shared_ptr<TestSimulation> > myTestSimulations;
+    std::shared_ptr<TestQueueImp> myTestQueue;
+    std::shared_ptr<LogFileQueueImp> myLogFileWriterQueue;
+    std::vector<std::vector<std::shared_ptr<L2NormTestBetweenKernels> > > l2NormTestsBetweenKernels;
+    std::shared_ptr<ColorConsoleOutput> colorOutput;
+    std::shared_ptr<AnalyticalResults2DToVTKWriter> anaResultWriter;
+    std::shared_ptr<L2NormCalculatorFactory> l2NormCalculatorFactory;
+
+    int simID;
+    int numberOfSimulations;
+    // int simPerKernel, numberOfTestGroupsBetweenKernels, numberOfTestsForOneSimulation, numberOfTestsBetweenKernels;
+    // int posBasicSimulationForL2Test, posDivergentSimulationForL2Test;
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestGridReader/NumericalTestGridReader.cpp b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestGridReader/NumericalTestGridReader.cpp
index 494eb79657ae9057496b50fa83d510159386b041..b8102eabeebacf21b4fc0e3c6bf4293afba0e42b 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestGridReader/NumericalTestGridReader.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestGridReader/NumericalTestGridReader.cpp
@@ -10,19 +10,19 @@
 
 std::shared_ptr<NumericalTestGridReader> NumericalTestGridReader::getNewInstance(std::shared_ptr<Parameter> para, std::shared_ptr<InitialCondition> initialCondition, std::shared_ptr<CudaMemoryManager> cudaManager)
 {
-	return std::shared_ptr<NumericalTestGridReader>(new NumericalTestGridReader(para, initialCondition, cudaManager));
+    return std::shared_ptr<NumericalTestGridReader>(new NumericalTestGridReader(para, initialCondition, cudaManager));
 }
 
 void NumericalTestGridReader::setInitialNodeValues(uint numberOfNodes, int level) const
 {
-	initialCondition->init(level);
-	for (uint j = 0; j <= numberOfNodes; j++){
-		para->getParH(level)->velocityX[j] = initialCondition->getInitVX(j, level);
-		para->getParH(level)->velocityY[j] = initialCondition->getInitVY(j, level);
-		para->getParH(level)->velocityZ[j] = initialCondition->getInitVZ(j, level);
-		para->getParH(level)->rho[j] = initialCondition->getInitROH(j, level);
-		para->getParH(level)->pressure[j] = initialCondition->getInitPRESS(j, level);
-	}
+    initialCondition->init(level);
+    for (uint j = 0; j <= numberOfNodes; j++){
+        para->getParH(level)->velocityX[j] = initialCondition->getInitVX(j, level);
+        para->getParH(level)->velocityY[j] = initialCondition->getInitVY(j, level);
+        para->getParH(level)->velocityZ[j] = initialCondition->getInitVZ(j, level);
+        para->getParH(level)->rho[j] = initialCondition->getInitROH(j, level);
+        para->getParH(level)->pressure[j] = initialCondition->getInitPRESS(j, level);
+    }
 }
 
 NumericalTestGridReader::NumericalTestGridReader(std::shared_ptr<Parameter> para, std::shared_ptr<InitialCondition> initialCondition, std::shared_ptr<CudaMemoryManager> cudaManager) : GridReader(FILEFORMAT::BINARY, para, cudaManager), initialCondition(initialCondition)
diff --git a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestGridReader/NumericalTestGridReader.h b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestGridReader/NumericalTestGridReader.h
index bde0a2bcb0c4740ed393e301b58339a9afcd180a..5e1791562177ed3e0f4c5ddc603b5b21b0749fed 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestGridReader/NumericalTestGridReader.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestGridReader/NumericalTestGridReader.h
@@ -10,15 +10,15 @@ class InitialCondition;
 class NumericalTestGridReader : public GridReader
 {
 public:
-	static std::shared_ptr<NumericalTestGridReader> getNewInstance(std::shared_ptr<Parameter> para, std::shared_ptr<InitialCondition> initialCondition, std::shared_ptr<CudaMemoryManager> cudaManager);
+    static std::shared_ptr<NumericalTestGridReader> getNewInstance(std::shared_ptr<Parameter> para, std::shared_ptr<InitialCondition> initialCondition, std::shared_ptr<CudaMemoryManager> cudaManager);
 
 protected:
-	virtual void setInitialNodeValues(uint numberOfNodes, int level) const override;
+    virtual void setInitialNodeValues(uint numberOfNodes, int level) const override;
     
 private:
-	NumericalTestGridReader(std::shared_ptr<Parameter> para, std::shared_ptr<InitialCondition> initialCondition, std::shared_ptr<CudaMemoryManager> cudaManager);
+    NumericalTestGridReader(std::shared_ptr<Parameter> para, std::shared_ptr<InitialCondition> initialCondition, std::shared_ptr<CudaMemoryManager> cudaManager);
 
-	std::shared_ptr<InitialCondition> initialCondition;
-	
+    std::shared_ptr<InitialCondition> initialCondition;
+    
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestSimulation/NumericalTestSimulation.h b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestSimulation/NumericalTestSimulation.h
index 0e3c9fcb23964922b8ed155a89ca8c3504aa67fc..3e409b22577dd843cf35ce954939b18ef8679f05 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestSimulation/NumericalTestSimulation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestSimulation/NumericalTestSimulation.h
@@ -10,9 +10,9 @@ enum SimulationStatus { initialized , executed, crashed};
 class NumericalTestSimulation
 {
 public:
-	virtual ~NumericalTestSimulation() = default;
-	virtual void run() = 0;
-	virtual SimulationStatus getSimulationStatus() = 0;
-	virtual void registerSimulationObserver(std::shared_ptr<SimulationObserver> simObserver) = 0;
+    virtual ~NumericalTestSimulation() = default;
+    virtual void run() = 0;
+    virtual SimulationStatus getSimulationStatus() = 0;
+    virtual void registerSimulationObserver(std::shared_ptr<SimulationObserver> simObserver) = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategy.h b/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategy.h
index e995bd4de187da87bce2cc987ac460138e3ffcb8..5953e49480eb663299ccf9d74b7a7a512b665861 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategy.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategy.h
@@ -10,7 +10,7 @@ class SimulationResults;
 class PostProcessingStrategy
 {
 public:
-	virtual ~PostProcessingStrategy() = default;
-	virtual void evaluate() = 0;
+    virtual ~PostProcessingStrategy() = default;
+    virtual void evaluate() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategyImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategyImp.cpp
index 387457ae96c596f4059683dd1997f7fc9b7fc3c2..1aac2b33a0fcc25870d41265ddba045b3fe4752e 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategyImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategyImp.cpp
@@ -4,17 +4,17 @@
 
 int PostProcessingStrategyImp::getNumberOfXNodes()
 {
-	return simResult->getNumberOfXNodes();
+    return simResult->getNumberOfXNodes();
 }
 
 int PostProcessingStrategyImp::getNumberOfYNodes()
 {
-	return simResult->getNumberOfYNodes();
+    return simResult->getNumberOfYNodes();
 }
 
 int PostProcessingStrategyImp::getNumberOfZNodes()
 {
-	return simResult->getNumberOfZNodes();
+    return simResult->getNumberOfZNodes();
 }
 
 PostProcessingStrategyImp::PostProcessingStrategyImp(std::shared_ptr<SimulationResults> simResult) : simResult(simResult)
@@ -23,8 +23,8 @@ PostProcessingStrategyImp::PostProcessingStrategyImp(std::shared_ptr<SimulationR
 
 int PostProcessingStrategyImp::calcTimeStepInResults(unsigned int timeStep)
 {
-	for (int i = 0; i < simResult->getTimeSteps().size(); i++) {
-		if (timeStep == simResult->getTimeSteps().at(i))
-			return simResult->getTimeSteps().at(i);
-	}
+    for (int i = 0; i < simResult->getTimeSteps().size(); i++) {
+        if (timeStep == simResult->getTimeSteps().at(i))
+            return simResult->getTimeSteps().at(i);
+    }
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategyImp.h b/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategyImp.h
index 50786505fbd896ce7a340a702e3ebf5eb3220916..9e4169222614993a0c081c319f46bd82b058a549 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategyImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategyImp.h
@@ -10,19 +10,19 @@ class SimulationResults;
 class PostProcessingStrategyImp : public PostProcessingStrategy
 {
 public:
-	virtual void evaluate() = 0;
+    virtual void evaluate() = 0;
 
-	int getNumberOfXNodes();
-	int getNumberOfYNodes();
-	int getNumberOfZNodes();
+    int getNumberOfXNodes();
+    int getNumberOfYNodes();
+    int getNumberOfZNodes();
 
 protected:
-	PostProcessingStrategyImp(std::shared_ptr<SimulationResults> simResult);
-	int calcTimeStepInResults(unsigned int timeStep);
+    PostProcessingStrategyImp(std::shared_ptr<SimulationResults> simResult);
+    int calcTimeStepInResults(unsigned int timeStep);
 
-	std::shared_ptr<SimulationResults> simResult;
+    std::shared_ptr<SimulationResults> simResult;
 
 private:
-	PostProcessingStrategyImp() {};
+    PostProcessingStrategyImp() {};
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResult.h b/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResult.h
index 979c57ec3a2fd2bc26f85d07db06e31169b5aa7a..ca2dab986c002c4781f65496bb4d1775a7026a2d 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResult.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResult.h
@@ -10,8 +10,8 @@ class SimulationResults;
 class AnalyticalResults : public ResultsImp
 {
 public:
-	virtual ~AnalyticalResults() = default;
-	virtual void calc(std::shared_ptr<SimulationResults> simResults) = 0;
-	virtual bool isCalculated() = 0;
+    virtual ~AnalyticalResults() = default;
+    virtual void calc(std::shared_ptr<SimulationResults> simResults) = 0;
+    virtual bool isCalculated() = 0;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResultImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResultImp.cpp
index d2655ac9a5b73f9927f6426890918a1d44110857..62b5ba45a54f431fae41509f01e63b78ac3e1a54 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResultImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResultImp.cpp
@@ -4,52 +4,52 @@
 
 bool AnalyticalResultsImp::isCalculated()
 {
-	return calculated;
+    return calculated;
 }
 
 int AnalyticalResultsImp::getL0()
 {
-	return l0;
+    return l0;
 }
 
 AnalyticalResultsImp::AnalyticalResultsImp()
 {
-	calculated = false;
+    calculated = false;
 }
 
 AnalyticalResultsImp::AnalyticalResultsImp(int l0)
 {
-	this->l0 = l0;
-	calculated = false;
+    this->l0 = l0;
+    calculated = false;
 }
 
 void AnalyticalResultsImp::init(std::shared_ptr<SimulationResults> simResults)
 {
-	this->xNodes = simResults->getNumberOfXNodes();
-	this->yNodes = simResults->getNumberOfYNodes();
-	this->zNodes = simResults->getNumberOfZNodes();
-	this->numberOfNodes = xNodes*yNodes*zNodes;
-	this->timeStepLength = simResults->getTimeStepLength();
-	this->numberOfTimeSteps = simResults->getNumberOfTimeSteps();
-	this->timeStep = simResults->getTimeSteps();
-	this->time = simResults->getTime();
-	this->x = simResults->getXNodes();
-	this->y = simResults->getYNodes();
-	this->z = simResults->getZNodes();
-	this->level = simResults->getLevels();
-	this->l0 = simResults->getL0();
-
-	this->vx.resize(numberOfTimeSteps);
-	this->vy.resize(numberOfTimeSteps);
-	this->vz.resize(numberOfTimeSteps);
-	this->press.resize(numberOfTimeSteps);
-	this->rho.resize(numberOfTimeSteps);
-
-	for (int i = 0; i < numberOfTimeSteps; i++) {
-		this->vx.at(i).resize(numberOfNodes);
-		this->vy.at(i).resize(numberOfNodes);
-		this->vz.at(i).resize(numberOfNodes);
-		this->press.at(i).resize(numberOfNodes);
-		this->rho.at(i).resize(numberOfNodes);
-	}
+    this->xNodes = simResults->getNumberOfXNodes();
+    this->yNodes = simResults->getNumberOfYNodes();
+    this->zNodes = simResults->getNumberOfZNodes();
+    this->numberOfNodes = xNodes*yNodes*zNodes;
+    this->timeStepLength = simResults->getTimeStepLength();
+    this->numberOfTimeSteps = simResults->getNumberOfTimeSteps();
+    this->timeStep = simResults->getTimeSteps();
+    this->time = simResults->getTime();
+    this->x = simResults->getXNodes();
+    this->y = simResults->getYNodes();
+    this->z = simResults->getZNodes();
+    this->level = simResults->getLevels();
+    this->l0 = simResults->getL0();
+
+    this->vx.resize(numberOfTimeSteps);
+    this->vy.resize(numberOfTimeSteps);
+    this->vz.resize(numberOfTimeSteps);
+    this->press.resize(numberOfTimeSteps);
+    this->rho.resize(numberOfTimeSteps);
+
+    for (int i = 0; i < numberOfTimeSteps; i++) {
+        this->vx.at(i).resize(numberOfNodes);
+        this->vy.at(i).resize(numberOfNodes);
+        this->vz.at(i).resize(numberOfNodes);
+        this->press.at(i).resize(numberOfNodes);
+        this->rho.at(i).resize(numberOfNodes);
+    }
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResultImp.h b/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResultImp.h
index 7c1e09b9de89f972d3256e91507695c2960bee6e..4e907bd685a9fc38b130132c7be3ff220a135743 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResultImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResultImp.h
@@ -8,18 +8,18 @@
 class AnalyticalResultsImp : public AnalyticalResults
 {
 public:
-	virtual void calc(std::shared_ptr<SimulationResults> simResults) = 0;
-	bool isCalculated();
-	int getL0();
+    virtual void calc(std::shared_ptr<SimulationResults> simResults) = 0;
+    bool isCalculated();
+    int getL0();
 
 protected:
-	AnalyticalResultsImp(int l0);
-	void init(std::shared_ptr<SimulationResults> simResults);
+    AnalyticalResultsImp(int l0);
+    void init(std::shared_ptr<SimulationResults> simResults);
 
-	bool calculated;
-	int l0;
+    bool calculated;
+    int l0;
 
 private:
-	AnalyticalResultsImp();
+    AnalyticalResultsImp();
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Results/Results.h b/apps/gpu/tests/NumericalTests/Utilities/Results/Results.h
index 3744bf591d98769cee398fcfde78dac1d14737ae..096d87d1869e6ef7b73ce90c61a5460c874397da 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Results/Results.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Results/Results.h
@@ -6,24 +6,24 @@
 class Results
 {
 public:
-	virtual ~Results() = default;
-	virtual int getNumberOfTimeSteps() = 0;
-	virtual std::vector<std::vector<double> > getVx() = 0;
-	virtual std::vector<std::vector<double> > getVy() = 0;
-	virtual std::vector<std::vector<double> > getVz() = 0;
-	virtual int getNumberOfXNodes() = 0;
-	virtual int getNumberOfYNodes() = 0;
-	virtual int getNumberOfZNodes() = 0;
-	virtual std::vector<std::vector<double> > getXNodes() = 0;
-	virtual std::vector<std::vector<double> > getYNodes() = 0;
-	virtual std::vector<std::vector<double> > getZNodes() = 0;
-	virtual int getTimeStepLength() = 0;
-	virtual std::vector<unsigned int> getTimeSteps() = 0;
-	virtual std::vector < std::vector<unsigned int> > getLevels() = 0;
+    virtual ~Results() = default;
+    virtual int getNumberOfTimeSteps() = 0;
+    virtual std::vector<std::vector<double> > getVx() = 0;
+    virtual std::vector<std::vector<double> > getVy() = 0;
+    virtual std::vector<std::vector<double> > getVz() = 0;
+    virtual int getNumberOfXNodes() = 0;
+    virtual int getNumberOfYNodes() = 0;
+    virtual int getNumberOfZNodes() = 0;
+    virtual std::vector<std::vector<double> > getXNodes() = 0;
+    virtual std::vector<std::vector<double> > getYNodes() = 0;
+    virtual std::vector<std::vector<double> > getZNodes() = 0;
+    virtual int getTimeStepLength() = 0;
+    virtual std::vector<unsigned int> getTimeSteps() = 0;
+    virtual std::vector < std::vector<unsigned int> > getLevels() = 0;
 
-	virtual bool checkYourData() = 0;
+    virtual bool checkYourData() = 0;
 
-	virtual int getL0() = 0;
+    virtual int getL0() = 0;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Results/ResultsImp.h b/apps/gpu/tests/NumericalTests/Utilities/Results/ResultsImp.h
index 4e4cc80c9e3fefc86b174859bdc813b6dba22c99..9cb464af78c941b29f30f6bda0ba558e0fe2f36e 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Results/ResultsImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Results/ResultsImp.h
@@ -6,44 +6,44 @@
 class ResultsImp : public Results
 {
 public:
-	int getNumberOfTimeSteps();
-	int getTimeStepLength();
-	std::vector<unsigned int> getTimeSteps();
-	std::vector<int> getTime();
-	std::vector<std::vector<double> > getVx();
-	std::vector<std::vector<double> > getVy();
-	std::vector<std::vector<double> > getVz();
-	int getNumberOfXNodes();
-	int getNumberOfYNodes();
-	int getNumberOfZNodes();
-	std::vector<std::vector<double> > getXNodes();
-	std::vector<std::vector<double> > getYNodes();
-	std::vector<std::vector<double> > getZNodes();
-	std::vector<std::vector<unsigned int> > getLevels();
-	std::vector<std::vector<double> > getPress();
-	std::vector<std::vector<double> > getRho();
-	int getL0();
-
-	bool checkYourData();
+    int getNumberOfTimeSteps();
+    int getTimeStepLength();
+    std::vector<unsigned int> getTimeSteps();
+    std::vector<int> getTime();
+    std::vector<std::vector<double> > getVx();
+    std::vector<std::vector<double> > getVy();
+    std::vector<std::vector<double> > getVz();
+    int getNumberOfXNodes();
+    int getNumberOfYNodes();
+    int getNumberOfZNodes();
+    std::vector<std::vector<double> > getXNodes();
+    std::vector<std::vector<double> > getYNodes();
+    std::vector<std::vector<double> > getZNodes();
+    std::vector<std::vector<unsigned int> > getLevels();
+    std::vector<std::vector<double> > getPress();
+    std::vector<std::vector<double> > getRho();
+    int getL0();
+
+    bool checkYourData();
 
 protected:
-	ResultsImp(int l0);
-	ResultsImp() = default;
-
-	unsigned int numberOfTimeSteps;
-	unsigned int timeStepLength;
-	unsigned int xNodes, yNodes, zNodes;
-	unsigned int numberOfNodes;
-
-	std::vector<unsigned int> timeStep;
-	std::vector<int> time;
-	std::vector<std::vector<double> > x, y, z;
-	std::vector<std::vector<double> > vx, vy, vz;
-	std::vector<std::vector<double> > press;
-	std::vector<std::vector<double> > rho;
-	std::vector<std::vector<unsigned int> > level;
-
-	int l0;
+    ResultsImp(int l0);
+    ResultsImp() = default;
+
+    unsigned int numberOfTimeSteps;
+    unsigned int timeStepLength;
+    unsigned int xNodes, yNodes, zNodes;
+    unsigned int numberOfNodes;
+
+    std::vector<unsigned int> timeStep;
+    std::vector<int> time;
+    std::vector<std::vector<double> > x, y, z;
+    std::vector<std::vector<double> > vx, vy, vz;
+    std::vector<std::vector<double> > press;
+    std::vector<std::vector<double> > rho;
+    std::vector<std::vector<unsigned int> > level;
+
+    int l0;
 
 private:
 };
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Results/SimulationResults/SimulationResults.cpp b/apps/gpu/tests/NumericalTests/Utilities/Results/SimulationResults/SimulationResults.cpp
index 9dca88cd9fd55f8c777fa0d0f0da9260d61c1254..d1cfb8d82dcbfd66df2602ac1578ff523a9f4bf3 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Results/SimulationResults/SimulationResults.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/Results/SimulationResults/SimulationResults.cpp
@@ -7,31 +7,31 @@
 
 SimulationResults::SimulationResults(std::shared_ptr<SimulationParameter> simPara) : ResultsImp(simPara->getL0())
 {
-	this->xNodes = simPara->getLx();
-	this->yNodes = 1;
-	this->zNodes = simPara->getLz();
-	this->numberOfNodes = xNodes*yNodes*zNodes;
-	this->timeStepLength = simPara->getTimeStepLength();
-	this->numberOfTimeSteps = 0;
+    this->xNodes = simPara->getLx();
+    this->yNodes = 1;
+    this->zNodes = simPara->getLz();
+    this->numberOfNodes = xNodes*yNodes*zNodes;
+    this->timeStepLength = simPara->getTimeStepLength();
+    this->numberOfTimeSteps = 0;
 }
 
 std::shared_ptr<SimulationResults> SimulationResults::getNewInstance(std::shared_ptr<SimulationParameter> simPara)
 {
-	return std::shared_ptr<SimulationResults>(new SimulationResults(simPara));
+    return std::shared_ptr<SimulationResults>(new SimulationResults(simPara));
 }
 
 void SimulationResults::addTimeStep(unsigned int timeStep, unsigned int time, std::vector<unsigned int> level, std::vector<double> x, std::vector<double> y, std::vector<double> z, std::vector<double> vx, std::vector<double> vy, std::vector<double> vz, std::vector<double> press, std::vector<double> rho)
 {
-	this->timeStep.push_back(timeStep);
-	this->time.push_back(time);
-	this->x.push_back(x);
-	this->y.push_back(y);
-	this->z.push_back(z);
-	this->vx.push_back(vx);
-	this->vy.push_back(vy);
-	this->vz.push_back(vz);
-	this->press.push_back(press);
-	this->rho.push_back(rho);
-	this->level.push_back(level);
-	numberOfTimeSteps++;
+    this->timeStep.push_back(timeStep);
+    this->time.push_back(time);
+    this->x.push_back(x);
+    this->y.push_back(y);
+    this->z.push_back(z);
+    this->vx.push_back(vx);
+    this->vy.push_back(vy);
+    this->vz.push_back(vz);
+    this->press.push_back(press);
+    this->rho.push_back(rho);
+    this->level.push_back(level);
+    numberOfTimeSteps++;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfo.h b/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfo.h
index aa49cba4875a6ad2090cdd715da9971b6bec8967..e122666357e1f12d3c0285e3baf68ec3df19f994 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfo.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfo.h
@@ -10,17 +10,17 @@ class TimeInfo;
 class SimulationInfo
 {
 public:
-	virtual ~SimulationInfo() = default;
-	virtual std::string getKernelName() = 0;
-	virtual double getViscosity() = 0;
-	virtual std::string getSimulationName() = 0;
-	virtual std::string getSimulationParameterString() = 0;
-	virtual int getLx() = 0;
-	virtual int getNumberOfSimulations() = 0;
-	virtual int getSimulationID() = 0;
-	virtual std::string getRunTimeOutput() = 0;
-	virtual std::vector<std::string> getDataToCalcTests() = 0; 
+    virtual ~SimulationInfo() = default;
+    virtual std::string getKernelName() = 0;
+    virtual double getViscosity() = 0;
+    virtual std::string getSimulationName() = 0;
+    virtual std::string getSimulationParameterString() = 0;
+    virtual int getLx() = 0;
+    virtual int getNumberOfSimulations() = 0;
+    virtual int getSimulationID() = 0;
+    virtual std::string getRunTimeOutput() = 0;
+    virtual std::vector<std::string> getDataToCalcTests() = 0; 
 
-	virtual void setTimeInfo(std::shared_ptr<TimeInfo> timeInfo) = 0;
+    virtual void setTimeInfo(std::shared_ptr<TimeInfo> timeInfo) = 0;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfoImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfoImp.cpp
index 749bba1f20342a41228b598a150074fd5854080d..71ca003186851a36efff8b60dce6ddb88b70ef66 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfoImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfoImp.cpp
@@ -7,61 +7,61 @@
 
 void SimulationInfoImp::setTimeInfo(std::shared_ptr<TimeInfo> timeInfo)
 {
-	this->timeInfo = timeInfo;
+    this->timeInfo = timeInfo;
 }
 
 std::string SimulationInfoImp::getKernelName()
 {
-	return kernelName;
+    return kernelName;
 }
 
 double SimulationInfoImp::getViscosity()
 {
-	return viscosity;
+    return viscosity;
 }
 
 std::string SimulationInfoImp::getSimulationName()
 {
-	return simulationName;
+    return simulationName;
 }
 
 std::string SimulationInfoImp::getSimulationParameterString()
 {
-	return simulationParameterString;
+    return simulationParameterString;
 }
 
 int SimulationInfoImp::getLx()
 {
-	return lx;
+    return lx;
 }
 
 int SimulationInfoImp::getNumberOfSimulations()
 {
-	return numberOfSimulations;
+    return numberOfSimulations;
 }
 
 int SimulationInfoImp::getSimulationID()
 {
-	return simID;
+    return simID;
 }
 
 std::string SimulationInfoImp::getRunTimeOutput()
 {
-	std::ostringstream oss;
-	oss << "SimulationTime_" << lx << "=" << timeInfo->getSimulationTime() << std::endl;
-	oss << "ResultsCheckTime_" << lx << "=" << timeInfo->getResultCheckTime() << std::endl;
-	oss << "TestTime_" << lx << "=" << timeInfo->getTestTime() << std::endl;
-	oss << "AnalyticalVTKFileWritingTime_" << lx << "=" << timeInfo->getAnalyticalResultWriteTime() << std::endl;
-	return oss.str();
+    std::ostringstream oss;
+    oss << "SimulationTime_" << lx << "=" << timeInfo->getSimulationTime() << std::endl;
+    oss << "ResultsCheckTime_" << lx << "=" << timeInfo->getResultCheckTime() << std::endl;
+    oss << "TestTime_" << lx << "=" << timeInfo->getTestTime() << std::endl;
+    oss << "AnalyticalVTKFileWritingTime_" << lx << "=" << timeInfo->getAnalyticalResultWriteTime() << std::endl;
+    return oss.str();
 }
 
 std::vector<std::string> SimulationInfoImp::getDataToCalcTests()
 {
-	return dataToCalcTests;
+    return dataToCalcTests;
 }
 
 SimulationInfoImp::SimulationInfoImp(int simID, std::string kernel, double viscosity, int lx, int numberOfSimulations, std::string simulationName, std::vector<std::string> dataToCalcTests)
-	: simID(simID), lx(lx), viscosity(viscosity), numberOfSimulations(numberOfSimulations), simulationName(simulationName), dataToCalcTests(dataToCalcTests)
+    : simID(simID), lx(lx), viscosity(viscosity), numberOfSimulations(numberOfSimulations), simulationName(simulationName), dataToCalcTests(dataToCalcTests)
 {
-	this->kernelName = kernel;
+    this->kernelName = kernel;
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfoImp.h b/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfoImp.h
index 8f44f1dc6d3d3d4bd61710fcaf5254128607ff8c..b658f8095fc0ec9554b0ff9bb3f9f891b22a7a68 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfoImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfoImp.h
@@ -10,30 +10,30 @@ class TimeInfo;
 class SimulationInfoImp : public SimulationInfo
 {
 public:
-	void setTimeInfo(std::shared_ptr<TimeInfo> timeInfo);
-
-	std::string getKernelName();
-	double getViscosity();
-	std::string getSimulationName();
-	std::string getSimulationParameterString();
-	int getLx();
-	int getNumberOfSimulations();
-	int getSimulationID();
-	std::string getRunTimeOutput();
-	std::vector<std::string> getDataToCalcTests();
+    void setTimeInfo(std::shared_ptr<TimeInfo> timeInfo);
+
+    std::string getKernelName();
+    double getViscosity();
+    std::string getSimulationName();
+    std::string getSimulationParameterString();
+    int getLx();
+    int getNumberOfSimulations();
+    int getSimulationID();
+    std::string getRunTimeOutput();
+    std::vector<std::string> getDataToCalcTests();
 
 protected:
-	SimulationInfoImp() {};
-	SimulationInfoImp(int simID, std::string kernel, double viscosity, int lx, int numberOfSimulations, std::string simulationName, std::vector<std::string> dataToCalcTests);
-
-	double viscosity;
-	std::string kernelName;
-	std::string simulationName;
-	std::string simulationParameterString;
-	int lx;
-	int numberOfSimulations, simID;
-	std::shared_ptr<TimeInfo> timeInfo;
-	std::vector<std::string> dataToCalcTests;
+    SimulationInfoImp() {};
+    SimulationInfoImp(int simID, std::string kernel, double viscosity, int lx, int numberOfSimulations, std::string simulationName, std::vector<std::string> dataToCalcTests);
+
+    double viscosity;
+    std::string kernelName;
+    std::string simulationName;
+    std::string simulationParameterString;
+    int lx;
+    int numberOfSimulations, simID;
+    std::shared_ptr<TimeInfo> timeInfo;
+    std::vector<std::string> dataToCalcTests;
 
 private:
 
diff --git a/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h b/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h
index 7de661ce17d681c88fdeef50aebb56ce9af36202..ddbd511b804a7b5463bdef4a806e9b449944806b 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h
@@ -11,20 +11,20 @@ class KernelConfiguration;
 class SimulationParameter
 {
 public:
-	virtual ~SimulationParameter() = default;
-	virtual std::shared_ptr<KernelConfiguration> getKernelConfiguration() = 0;
-	virtual double getViscosity() = 0;
-	virtual std::string getGridPath() = 0;
-	virtual std::string getFilePath() = 0;
-	virtual unsigned int getNumberOfGridLevels() = 0;
-	virtual unsigned int getEndTime() = 0;
-	virtual unsigned int getTimeStepLength() = 0;
-	virtual std::vector<unsigned int> getDevices() = 0;
-	virtual double getMaxVelocity() = 0;
+    virtual ~SimulationParameter() = default;
+    virtual std::shared_ptr<KernelConfiguration> getKernelConfiguration() = 0;
+    virtual double getViscosity() = 0;
+    virtual std::string getGridPath() = 0;
+    virtual std::string getFilePath() = 0;
+    virtual unsigned int getNumberOfGridLevels() = 0;
+    virtual unsigned int getEndTime() = 0;
+    virtual unsigned int getTimeStepLength() = 0;
+    virtual std::vector<unsigned int> getDevices() = 0;
+    virtual double getMaxVelocity() = 0;
 
-	virtual unsigned int getLx() = 0;
-	virtual unsigned int getLz() = 0;
-	virtual unsigned int getL0() = 0; 
+    virtual unsigned int getLx() = 0;
+    virtual unsigned int getLz() = 0;
+    virtual unsigned int getL0() = 0; 
 };
 
 #endif
diff --git a/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.cpp
index 6e0a0ef66f0996c772b35757ddd0ae0031d46c7c..0e1f78d09b79c869d9d7c50d8f1cadfe94a47ad6 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.cpp
@@ -8,84 +8,84 @@
 #include <filesystem>
 
 SimulationParameterImp::SimulationParameterImp(std::string kernel, double viscosity, std::shared_ptr<BasicSimulationParameterStruct> basicSimPara, std::shared_ptr<GridInformationStruct> gridInfo)
-	: viscosity(viscosity)
+    : viscosity(viscosity)
 {
-	kernelConfig = KernelConfigurationImp::getNewInstance(kernel);
-
-	devices = basicSimPara->devices;
-	numberOfTimeSteps = basicSimPara->numberOfTimeSteps;
-	
-	gridPath = gridInfo->gridPath;
-	lx = gridInfo->lx;
-	lz = gridInfo->lz;
-	l0 = basicSimPara->l0;
-	maxLevel = gridInfo->maxLevel;
-	numberOfGridLevels = gridInfo->numberOfGridLevels;
+    kernelConfig = KernelConfigurationImp::getNewInstance(kernel);
+
+    devices = basicSimPara->devices;
+    numberOfTimeSteps = basicSimPara->numberOfTimeSteps;
+    
+    gridPath = gridInfo->gridPath;
+    lx = gridInfo->lx;
+    lz = gridInfo->lz;
+    l0 = basicSimPara->l0;
+    maxLevel = gridInfo->maxLevel;
+    numberOfGridLevels = gridInfo->numberOfGridLevels;
 }
 
 void SimulationParameterImp::generateFileDirectionInMyStystem(std::string filePath)
 {
-	std::filesystem::path dir(filePath);
-	if (!(std::filesystem::exists(dir)))
-		std::filesystem::create_directories(dir);
+    std::filesystem::path dir(filePath);
+    if (!(std::filesystem::exists(dir)))
+        std::filesystem::create_directories(dir);
 }
 
 double SimulationParameterImp::getViscosity()
 {
-	return viscosity;
+    return viscosity;
 }
 
 std::string SimulationParameterImp::getGridPath()
 {
-	return gridPath;
+    return gridPath;
 }
 
 std::string SimulationParameterImp::getFilePath()
 {
-	return filePath;
+    return filePath;
 }
 
 unsigned int SimulationParameterImp::getNumberOfGridLevels()
 {
-	return numberOfGridLevels;
+    return numberOfGridLevels;
 }
 
 unsigned int SimulationParameterImp::getEndTime()
 {
-	return timeStepLength * numberOfTimeSteps;
+    return timeStepLength * numberOfTimeSteps;
 }
 
 unsigned int SimulationParameterImp::getTimeStepLength()
 {
-	return timeStepLength;
+    return timeStepLength;
 }
 
 unsigned int SimulationParameterImp::getLx()
 {
-	return lx;
+    return lx;
 }
 
 unsigned int SimulationParameterImp::getLz()
 {
-	return lz;
+    return lz;
 }
 
 unsigned int SimulationParameterImp::getL0()
 {
-	return l0;
+    return l0;
 }
 
 std::vector<unsigned int> SimulationParameterImp::getDevices()
 {
-	return devices;
+    return devices;
 }
 
 double SimulationParameterImp::getMaxVelocity()
 {
-	return maxVelocity;
+    return maxVelocity;
 }
 
 std::shared_ptr<KernelConfiguration> SimulationParameterImp::getKernelConfiguration()
 {
-	return kernelConfig;
+    return kernelConfig;
 }
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.h b/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.h
index f4c0792cb7f45dd65ccdab8b7a43c4810496df2f..09d2eefa256beac7654ed4393380b93aa7e3b136 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameterImp.h
@@ -10,38 +10,38 @@ struct BasicSimulationParameterStruct;
 class SimulationParameterImp : public SimulationParameter
 {
 public:
-	double getViscosity();
-	std::string getGridPath();
-	std::string getFilePath();
-	unsigned int getNumberOfGridLevels();
-	unsigned int getEndTime();
-	unsigned int getTimeStepLength();
-	unsigned int getLx();
-	unsigned int getLz();
-	unsigned int getL0();
-	std::vector<unsigned int> getDevices();
-	double getMaxVelocity();
-	
-	std::shared_ptr<KernelConfiguration> getKernelConfiguration();
+    double getViscosity();
+    std::string getGridPath();
+    std::string getFilePath();
+    unsigned int getNumberOfGridLevels();
+    unsigned int getEndTime();
+    unsigned int getTimeStepLength();
+    unsigned int getLx();
+    unsigned int getLz();
+    unsigned int getL0();
+    std::vector<unsigned int> getDevices();
+    double getMaxVelocity();
+    
+    std::shared_ptr<KernelConfiguration> getKernelConfiguration();
 
 protected:
-	SimulationParameterImp() {};
-	SimulationParameterImp(std::string kernelName, double viscosity, std::shared_ptr<BasicSimulationParameterStruct> basicSimPara, std::shared_ptr<GridInformationStruct> gridInfo);
+    SimulationParameterImp() {};
+    SimulationParameterImp(std::string kernelName, double viscosity, std::shared_ptr<BasicSimulationParameterStruct> basicSimPara, std::shared_ptr<GridInformationStruct> gridInfo);
 
-	void generateFileDirectionInMyStystem(std::string filePath);
+    void generateFileDirectionInMyStystem(std::string filePath);
 
-	unsigned int timeStepLength;
-	std::string filePath;
-	double maxVelocity;
-	real lx, l0, lz;
+    unsigned int timeStepLength;
+    std::string filePath;
+    double maxVelocity;
+    real lx, l0, lz;
 
 private:
-	real viscosity;
-	unsigned int numberOfTimeSteps, basisTimeStepLength;
-	std::string gridPath;
-	std::vector<unsigned int> devices;
-	unsigned int maxLevel, numberOfGridLevels;
-	std::shared_ptr<KernelConfiguration> kernelConfig;
+    real viscosity;
+    unsigned int numberOfTimeSteps, basisTimeStepLength;
+    std::string gridPath;
+    std::vector<unsigned int> devices;
+    unsigned int maxLevel, numberOfGridLevels;
+    std::shared_ptr<KernelConfiguration> kernelConfig;
 };
 
 #endif
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/BasicSimulationParameterStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/BasicSimulationParameterStruct.h
index c08bee1e616f001c1efda15f0a7853a0a289e8a2..e2a7080de35a08f0ff24f8af7c716c50bc5b04d8 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/BasicSimulationParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/BasicSimulationParameterStruct.h
@@ -5,9 +5,9 @@
 
 struct BasicSimulationParameterStruct
 {
-	std::vector<unsigned int> devices;
-	unsigned int numberOfTimeSteps;
-	unsigned int l0;
+    std::vector<unsigned int> devices;
+    unsigned int numberOfTimeSteps;
+    unsigned int l0;
 };
 
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/BasicTestParameterStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/BasicTestParameterStruct.h
index 658f5ac16b9f6ca3dc72a4bfeabd7c1babc99dd6..88707ad6c331eb19c9186b7f406495c1231136a2 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/BasicTestParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/BasicTestParameterStruct.h
@@ -6,7 +6,7 @@
 
 struct BasicTestParameterStruct
 {
-	unsigned int ySliceForCalculation;
-	bool runTest;
+    unsigned int ySliceForCalculation;
+    bool runTest;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/ConfigDataStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/ConfigDataStruct.h
index 021d5c40355bb413984d426ff6a0febbac6ed4b1..3d3dcca5ef96899a5755a2711cffe18ff4ac5a49 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/ConfigDataStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/ConfigDataStruct.h
@@ -19,36 +19,36 @@
 
 struct ConfigDataStruct
 {
-	std::vector<double> viscosity;
+    std::vector<double> viscosity;
     std::vector<std::string> kernelsToTest;
 
-	std::vector<std::shared_ptr<TaylorGreenVortexUxParameterStruct> > taylorGreenVortexUxParameter;
-	std::vector<std::shared_ptr<GridInformationStruct> > taylorGreenVortexUxGridInformation;
+    std::vector<std::shared_ptr<TaylorGreenVortexUxParameterStruct> > taylorGreenVortexUxParameter;
+    std::vector<std::shared_ptr<GridInformationStruct> > taylorGreenVortexUxGridInformation;
 
-	std::vector<std::shared_ptr<TaylorGreenVortexUzParameterStruct> > taylorGreenVortexUzParameter;
-	std::vector<std::shared_ptr<GridInformationStruct> > taylorGreenVortexUzGridInformation;
+    std::vector<std::shared_ptr<TaylorGreenVortexUzParameterStruct> > taylorGreenVortexUzParameter;
+    std::vector<std::shared_ptr<GridInformationStruct> > taylorGreenVortexUzGridInformation;
 
-	std::vector<std::shared_ptr<ShearWaveParameterStruct> > shearWaveParameter;
-	std::vector<std::shared_ptr<GridInformationStruct> > shearWaveGridInformation;
+    std::vector<std::shared_ptr<ShearWaveParameterStruct> > shearWaveParameter;
+    std::vector<std::shared_ptr<GridInformationStruct> > shearWaveGridInformation;
 
-	
+    
 
 
-	bool writeAnalyticalToVTK;
-	unsigned int ySliceForCalculation;
-	
-	std::string logFilePath;
+    bool writeAnalyticalToVTK;
+    unsigned int ySliceForCalculation;
+    
+    std::string logFilePath;
 
-	int numberOfSimulations;
+    int numberOfSimulations;
 
-	std::shared_ptr<PhiTestParameterStruct> phiTestParameter;
-	std::shared_ptr<NyTestParameterStruct> nyTestParameter;
-	std::shared_ptr<L2NormTestParameterStruct> l2NormTestParameter;
-	std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> l2NormTestBetweenKernelsParameter;
+    std::shared_ptr<PhiTestParameterStruct> phiTestParameter;
+    std::shared_ptr<NyTestParameterStruct> nyTestParameter;
+    std::shared_ptr<L2NormTestParameterStruct> l2NormTestParameter;
+    std::shared_ptr<L2NormTestBetweenKernelsParameterStruct> l2NormTestBetweenKernelsParameter;
 
-	std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo;
+    std::shared_ptr<VectorWriterInformationStruct> vectorWriterInfo;
 
-	std::shared_ptr<LogFileParameterStruct> logFilePara;
+    std::shared_ptr<LogFileParameterStruct> logFilePara;
 };
 
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/GridInformationStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/GridInformationStruct.h
index 1cf837ec2b6c482cb0cbd4f2f806e58df07ed869..80cee2114d1e2e2efd817d28bcd7a45ef00d9534 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/GridInformationStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/GridInformationStruct.h
@@ -5,10 +5,10 @@
 
 struct GridInformationStruct
 {
-	unsigned int numberOfGridLevels;
-	unsigned int maxLevel;
-	std::string gridPath;
-	double lx;
-	double lz;
+    unsigned int numberOfGridLevels;
+    unsigned int maxLevel;
+    std::string gridPath;
+    double lx;
+    double lz;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/LogFileParameterStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/LogFileParameterStruct.h
index 9ed91eacc5ab610085b2e0ec7dcb8fedc6f30cb1..a933e981deccf5ceddccc260584137b963f7e0c1 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/LogFileParameterStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/LogFileParameterStruct.h
@@ -5,9 +5,9 @@
 
 struct LogFileParameterStruct
 {
-	std::vector<int> devices;
-	int numberOfTimeSteps;
-	bool writeAnalyticalToVTK;
+    std::vector<int> devices;
+    int numberOfTimeSteps;
+    bool writeAnalyticalToVTK;
 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/NumericalTestStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/NumericalTestStruct.h
index 75d432a5a97273305b517bfa47474d1ebac4b00e..25cfe2d2ae2c201a0dee2f60a4516b2e444bff09 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/NumericalTestStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/NumericalTestStruct.h
@@ -10,8 +10,8 @@ class TestSimulationImp;
 
 struct NumericalTestStruct
 {
-	std::vector<std::shared_ptr<TestSimulationImp> > testSimulations;
-	std::vector<std::shared_ptr<Test> > tests;
-	std::shared_ptr<LogFileWriter> logFileWriter;
+    std::vector<std::shared_ptr<TestSimulationImp> > testSimulations;
+    std::vector<std::shared_ptr<Test> > tests;
+    std::shared_ptr<LogFileWriter> logFileWriter;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/SimulationDataStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/SimulationDataStruct.h
index 26c26a1f5e2731cf7906d0862c579e1f5b56ae91..b599223d444719e41b9355eb679ef409cde797d2 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/SimulationDataStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/SimulationDataStruct.h
@@ -8,9 +8,9 @@
 
 struct SimulationDataStruct
 {
-	std::vector<std::shared_ptr<TestSimulationDataStruct> > testSimData;
+    std::vector<std::shared_ptr<TestSimulationDataStruct> > testSimData;
 
-	std::shared_ptr<SimulationLogFileInformation> logFileInformation;
-	bool simGroupRun;
+    std::shared_ptr<SimulationLogFileInformation> logFileInformation;
+    bool simGroupRun;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/TestSimulationDataStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/TestSimulationDataStruct.h
index b1c93b8209b8565cafa1d2100aa68d344d69794b..ca69760bfc4aea2c9a155e5b984a667c131e8446 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/TestSimulationDataStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/TestSimulationDataStruct.h
@@ -12,9 +12,9 @@ class TimeImp;
 
 struct TestSimulationDataStruct
 {
-	std::shared_ptr<AnalyticalResults> analyticalResult;
-	std::shared_ptr<InitialCondition> initialCondition;
-	std::shared_ptr<SimulationInfo> simInformation;
-	std::shared_ptr<SimulationParameter> simParameter;
+    std::shared_ptr<AnalyticalResults> analyticalResult;
+    std::shared_ptr<InitialCondition> initialCondition;
+    std::shared_ptr<SimulationInfo> simInformation;
+    std::shared_ptr<SimulationParameter> simParameter;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/TestStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/TestStruct.h
index d3d471f4e77d2fd309e3068b0f9a41a6a2a923c3..435481c5746746eccdd261def43af4001f45202f 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/TestStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/TestStruct.h
@@ -10,8 +10,8 @@ class Test;
 
 struct TestStruct
 {
-	std::shared_ptr<TestLogFileInformation> logFileInfo;
-	std::vector<std::shared_ptr<Test> > tests;
-	std::string testName;
+    std::shared_ptr<TestLogFileInformation> logFileInfo;
+    std::vector<std::shared_ptr<Test> > tests;
+    std::string testName;
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Structs/VectorWriterInformationStruct.h b/apps/gpu/tests/NumericalTests/Utilities/Structs/VectorWriterInformationStruct.h
index 330e2ee5d3b7ae5ba1aa9f5282504be956f72e4e..a5fa5b7dede5bba2a2e2f6a3dd697e9591c57ee9 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Structs/VectorWriterInformationStruct.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Structs/VectorWriterInformationStruct.h
@@ -5,9 +5,9 @@
 
 struct VectorWriterInformationStruct
 {
-	unsigned int startTimeVectorWriter;
-	bool writeVTKFiles;
-	unsigned int startTimeVTKDataWriter;
+    unsigned int startTimeVectorWriter;
+    bool writeVTKFiles;
+    unsigned int startTimeVTKDataWriter;
 };
 
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Test/SimulationObserver.h b/apps/gpu/tests/NumericalTests/Utilities/Test/SimulationObserver.h
index ac579cdc97015c16b5bb8cf27ae664c82aa86655..2745975a2884354cec58041169d9217fbec001ab 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Test/SimulationObserver.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Test/SimulationObserver.h
@@ -4,8 +4,8 @@
 class SimulationObserver
 {
 public:
-	virtual ~SimulationObserver() = default;
-	virtual void update() = 0;
+    virtual ~SimulationObserver() = default;
+    virtual void update() = 0;
 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Test/Test.h b/apps/gpu/tests/NumericalTests/Utilities/Test/Test.h
index 994bf272eeae9c1d93f15748def233fa0672812c..23a3c43aa73f7acadffa52bfc2ab25dbd39b86cc 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Test/Test.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Test/Test.h
@@ -10,11 +10,11 @@
 class Test : public SimulationObserver 
 {
 public:
-	virtual ~Test() = default;
-	virtual void run() = 0;
+    virtual ~Test() = default;
+    virtual void run() = 0;
 
-	virtual TestStatus getTestStatus() = 0;
-	virtual void makeConsoleOutput() = 0;
+    virtual TestStatus getTestStatus() = 0;
+    virtual void makeConsoleOutput() = 0;
 
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Test/TestImp.h b/apps/gpu/tests/NumericalTests/Utilities/Test/TestImp.h
index 06c2b3013e22f9de7280dc42b86ad2c1974b1b40..91e7403f590c88d555ce63d6150a240f3d4232ab 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Test/TestImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Test/TestImp.h
@@ -15,32 +15,32 @@ class PostProcessingStrategy;
 class TestImp : public Test
 {
 public:
-	void run() override;
-	void update() override;
-	TestStatus getTestStatus() override;
-	void makeConsoleOutput() override;
+    void run() override;
+    void update() override;
+    TestStatus getTestStatus() override;
+    void makeConsoleOutput() override;
 
-	void addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<PostProcessingStrategy> postProStrategy);
-		
+    void addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<PostProcessingStrategy> postProStrategy);
+        
 protected:
-	TestImp(std::shared_ptr<ColorConsoleOutput> colorOutput);
-
-	virtual void evaluate() = 0;
-	virtual std::vector<std::string> buildTestOutput() = 0;
-	virtual std::vector<std::string> buildBasicTestOutput() = 0;
-	virtual std::vector<std::string> buildErrorTestOutput() = 0;
-	std::vector<std::string> buildSimulationFailedTestOutput();
-	
-	bool CheckAllSimulationRun();
-
-	std::vector<std::shared_ptr<NumericalTestSimulation> > simulations;
-	std::vector<std::shared_ptr<PostProcessingStrategy> > postProStrategies;
-	std::vector<std::shared_ptr<SimulationInfo> > simInfos;
-	std::vector<bool> simulationRun;
-	std::shared_ptr<ColorConsoleOutput> colorOutput;
-	TestStatus testStatus;
+    TestImp(std::shared_ptr<ColorConsoleOutput> colorOutput);
+
+    virtual void evaluate() = 0;
+    virtual std::vector<std::string> buildTestOutput() = 0;
+    virtual std::vector<std::string> buildBasicTestOutput() = 0;
+    virtual std::vector<std::string> buildErrorTestOutput() = 0;
+    std::vector<std::string> buildSimulationFailedTestOutput();
+    
+    bool CheckAllSimulationRun();
+
+    std::vector<std::shared_ptr<NumericalTestSimulation> > simulations;
+    std::vector<std::shared_ptr<PostProcessingStrategy> > postProStrategies;
+    std::vector<std::shared_ptr<SimulationInfo> > simInfos;
+    std::vector<bool> simulationRun;
+    std::shared_ptr<ColorConsoleOutput> colorOutput;
+    TestStatus testStatus;
 
 private:
-	TestImp() {};
+    TestImp() {};
 };
 #endif 
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.h b/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.h
index 386b5805fb1ff7068ee75e764d6374f2e2fda767..a6ff6324cd272bba1d38845644a656639becc3ac 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.h
@@ -12,28 +12,28 @@ class ColorConsoleOutput;
 class TestQueueImp : public TestQueue
 {
 public:
-	TestSuiteResult run() override;
-	void makeFinalOutput() override;
+    TestSuiteResult run() override;
+    void makeFinalOutput() override;
 
-	int getNumberOfFailedTests() const noexcept override;
+    int getNumberOfFailedTests() const noexcept override;
 
-	static std::shared_ptr<TestQueueImp> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput);
-	void addTest(std::shared_ptr<Test> test);
+    static std::shared_ptr<TestQueueImp> getNewInstance(std::shared_ptr<ColorConsoleOutput> colorOutput);
+    void addTest(std::shared_ptr<Test> test);
 
 private:
-	TestQueueImp(std::shared_ptr<ColorConsoleOutput> colorOutput);
+    TestQueueImp(std::shared_ptr<ColorConsoleOutput> colorOutput);
 
-	void calcTestNumbers();
+    void calcTestNumbers();
 
-	std::shared_ptr<ColorConsoleOutput> colorOutput;
-	std::vector<std::shared_ptr<Test> > tests;
-	
-	int numberOfPassedTest;
-	int numberOfFailedTest;
-	int numberOfErrorTest;
-	int numberOfExecutedTest;
-	int numberOfNotExecutedTest;
+    std::shared_ptr<ColorConsoleOutput> colorOutput;
+    std::vector<std::shared_ptr<Test> > tests;
+    
+    int numberOfPassedTest;
+    int numberOfFailedTest;
+    int numberOfErrorTest;
+    int numberOfExecutedTest;
+    int numberOfNotExecutedTest;
 
-	int numberOfTests;
+    int numberOfTests;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h b/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h
index 1f356304f05b1d08a52ed8c1842959af8f2965c1..3f312bc951cdf53b56c148906fa1697da06816d4 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h
@@ -17,8 +17,8 @@ class TestSimulation
 public:
     virtual ~TestSimulation() = default;
     virtual void run() = 0;
-	virtual void makeSimulationHeadOutput() = 0;
-	virtual void startPostProcessing() = 0;
+    virtual void makeSimulationHeadOutput() = 0;
+    virtual void startPostProcessing() = 0;
 
     virtual std::shared_ptr<SimulationParameter> getSimulationParameter() = 0;
     virtual std::shared_ptr<TimeTracking> getTimeTracking() = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.cpp
index f9d380a0cba6211b3fdd5657003f1a4a8e4ff450..e84778fd9383c0302b9b15331c99f2601d00dfec 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.cpp
@@ -4,7 +4,7 @@
 
 std::shared_ptr<TimeImp> TimeImp::getNewInstance()
 {
-	return std::shared_ptr<TimeImp>(new TimeImp());
+    return std::shared_ptr<TimeImp>(new TimeImp());
 }
 
 TimeImp::TimeImp()
@@ -14,90 +14,90 @@ TimeImp::TimeImp()
 
 void TimeImp::setSimulationStartTime()
 {
-	simulationStartTime = time(NULL);
+    simulationStartTime = time(NULL);
 }
 
 void TimeImp::setSimulationEndTime()
 {
-	simulationEndTime = time(NULL);
+    simulationEndTime = time(NULL);
 }
 
 void TimeImp::setTestStartTime()
 {
-	testStartTime = clock();
+    testStartTime = clock();
 }
 
 void TimeImp::setTestEndTime()
 {
-	testEndTime = clock();
+    testEndTime = clock();
 }
 
 void TimeImp::setAnalyticalResultWriteStartTime()
 {
-	analyticalResultWriteStartTime = time(NULL);
+    analyticalResultWriteStartTime = time(NULL);
 }
 
 void TimeImp::setAnalyticalResultWriteEndTime()
 {
-	analyticalResultWriteEndTime = time(NULL);
+    analyticalResultWriteEndTime = time(NULL);
 }
 
 void TimeImp::setResultCheckStartTime()
 {
-	resultCheckStartTime = clock();
+    resultCheckStartTime = clock();
 }
 
 void TimeImp::setResultCheckEndTime()
 {
-	resultCheckEndTime = clock();
+    resultCheckEndTime = clock();
 }
 
 std::string TimeImp::getSimulationTime()
 {
-	std::ostringstream oss;
-	oss << calcSimulationTime() << "sec";
-	return oss.str();
+    std::ostringstream oss;
+    oss << calcSimulationTime() << "sec";
+    return oss.str();
 }
 
 std::string TimeImp::getResultCheckTime()
 {
-	std::ostringstream oss;
-	oss << calcResultCheckTime() << "sec";
-	return oss.str();
+    std::ostringstream oss;
+    oss << calcResultCheckTime() << "sec";
+    return oss.str();
 }
 
 std::string TimeImp::getTestTime()
 {
-	std::ostringstream oss;
-	oss << calcTestTime() << "sec";
-	return oss.str();
+    std::ostringstream oss;
+    oss << calcTestTime() << "sec";
+    return oss.str();
 }
 
 std::string TimeImp::getAnalyticalResultWriteTime()
 {
-	std::ostringstream oss;
-	oss << calcAnalyticalResultWriteTime() << "sec";
-	return oss.str();
+    std::ostringstream oss;
+    oss << calcAnalyticalResultWriteTime() << "sec";
+    return oss.str();
 }
 
 double TimeImp::calcSimulationTime()
 {
-	return difftime(simulationEndTime, simulationStartTime);
+    return difftime(simulationEndTime, simulationStartTime);
 }
 
 float TimeImp::calcResultCheckTime()
 {
-	float timeInMiliSec = ((float)(resultCheckEndTime - resultCheckStartTime) / CLOCKS_PER_SEC);
-	return timeInMiliSec;
+    float timeInMiliSec = ((float)(resultCheckEndTime - resultCheckStartTime) / CLOCKS_PER_SEC);
+    return timeInMiliSec;
 }
 
 float TimeImp::calcTestTime()
 {
-	float timeInMiliSec = ((float)(testEndTime - testStartTime) / CLOCKS_PER_SEC);
-	return timeInMiliSec;
+    float timeInMiliSec = ((float)(testEndTime - testStartTime) / CLOCKS_PER_SEC);
+    return timeInMiliSec;
 }
 
 double TimeImp::calcAnalyticalResultWriteTime()
 {
-	return difftime(analyticalResultWriteEndTime, analyticalResultWriteStartTime);
+    return difftime(analyticalResultWriteEndTime, analyticalResultWriteStartTime);
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.h b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.h
index f6f6c39ef9e641c67af5ae8a7c5af220f68c7c66..82c55af054fd2dcc377b6e99e87a8dd9877dbae7 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.h
@@ -10,32 +10,32 @@
 class TimeImp : public TimeTracking, public TimeInfo
 {
 public:
-	static std::shared_ptr<TimeImp> getNewInstance();
+    static std::shared_ptr<TimeImp> getNewInstance();
 
-	void setSimulationStartTime() override;
-	void setSimulationEndTime() override;
-	void setTestStartTime() override;
-	void setTestEndTime() override;
-	void setAnalyticalResultWriteStartTime() override;
-	void setAnalyticalResultWriteEndTime() override;
-	void setResultCheckStartTime() override;
-	void setResultCheckEndTime() override;
+    void setSimulationStartTime() override;
+    void setSimulationEndTime() override;
+    void setTestStartTime() override;
+    void setTestEndTime() override;
+    void setAnalyticalResultWriteStartTime() override;
+    void setAnalyticalResultWriteEndTime() override;
+    void setResultCheckStartTime() override;
+    void setResultCheckEndTime() override;
 
-	std::string getSimulationTime() override;
-	std::string getResultCheckTime() override;
-	std::string getTestTime() override;
-	std::string getAnalyticalResultWriteTime() override;
+    std::string getSimulationTime() override;
+    std::string getResultCheckTime() override;
+    std::string getTestTime() override;
+    std::string getAnalyticalResultWriteTime() override;
 
 private:
-	TimeImp();
-	double calcSimulationTime();
-	float calcResultCheckTime();
-	float calcTestTime();
-	double calcAnalyticalResultWriteTime();
+    TimeImp();
+    double calcSimulationTime();
+    float calcResultCheckTime();
+    float calcTestTime();
+    double calcAnalyticalResultWriteTime();
 
-	time_t simulationStartTime, simulationEndTime;
-	clock_t resultCheckStartTime, resultCheckEndTime;
-	clock_t testStartTime, testEndTime;
-	time_t analyticalResultWriteStartTime, analyticalResultWriteEndTime;
+    time_t simulationStartTime, simulationEndTime;
+    clock_t resultCheckStartTime, resultCheckEndTime;
+    clock_t testStartTime, testEndTime;
+    time_t analyticalResultWriteStartTime, analyticalResultWriteEndTime;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeTracking.h b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeTracking.h
index 663456d6a2c0d428f23a373448ac3c93ad19067f..78f3fd626667ddfbb6465f7dba6b0b2e7b2945cb 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeTracking.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeTracking.h
@@ -4,17 +4,17 @@
 class TimeTracking
 {
 public:
-	virtual ~TimeTracking() = default;
-	virtual void setSimulationStartTime() = 0;
-	virtual void setSimulationEndTime() = 0;
+    virtual ~TimeTracking() = default;
+    virtual void setSimulationStartTime() = 0;
+    virtual void setSimulationEndTime() = 0;
 
-	virtual void setResultCheckStartTime() = 0;
-	virtual void setResultCheckEndTime() = 0;
+    virtual void setResultCheckStartTime() = 0;
+    virtual void setResultCheckEndTime() = 0;
 
-	virtual void setTestStartTime() = 0;
-	virtual void setTestEndTime() = 0;
+    virtual void setTestStartTime() = 0;
+    virtual void setTestEndTime() = 0;
 
-	virtual void setAnalyticalResultWriteStartTime() = 0;
-	virtual void setAnalyticalResultWriteEndTime() = 0;
+    virtual void setAnalyticalResultWriteStartTime() = 0;
+    virtual void setAnalyticalResultWriteEndTime() = 0;
 };
 #endif
diff --git a/apps/gpu/tests/NumericalTests/Utilities/VirtualFluidSimulationFactory/VirtualFluidSimulationFactory.cpp b/apps/gpu/tests/NumericalTests/Utilities/VirtualFluidSimulationFactory/VirtualFluidSimulationFactory.cpp
index 9399652f4e1681eb53bc4960a7df9bbc9f22849d..3b1365678749e3b92d40adf9a4e92095b61d405c 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/VirtualFluidSimulationFactory/VirtualFluidSimulationFactory.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/VirtualFluidSimulationFactory/VirtualFluidSimulationFactory.cpp
@@ -84,8 +84,6 @@ std::shared_ptr<Parameter> vf::gpu::tests::makeParameter(std::shared_ptr<Simulat
     para->setCalcMedian(false);
     para->setConcFile(false);
     para->setUseMeasurePoints(false);
-    para->setUseWale(false);
-    para->setSimulatePorousMedia(false);
     para->setForcing(0.0, 0.0, 0.0);
 
     std::vector<int> dist;
diff --git a/apps/gpu/tests/NumericalTests/configK17chim_nu10tm3.txt b/apps/gpu/tests/NumericalTests/configK17chim_nu10tm3.txt
index 34db5ea1deff1bbecf61c1b49686c19babfddb50..c1aa718e5a0261022365642f40a9804b25a1ff8f 100644
--- a/apps/gpu/tests/NumericalTests/configK17chim_nu10tm3.txt
+++ b/apps/gpu/tests/NumericalTests/configK17chim_nu10tm3.txt
@@ -6,7 +6,7 @@ Devices=0
 ##################################################
 #	       Basic Simulation Parameter			 #
 ##################################################
-KernelsToTest=K17CompressibleNavierStokesChimeraLegacy
+KernelsToTest=K17CompressibleNavierStokes
 NumberOfTimeSteps=20
 Viscosity=0.001
 Rho0=1.0
diff --git a/lizard.txt b/lizard.txt
new file mode 100644
index 0000000000000000000000000000000000000000..927eca599897274df6b26beab673c50248f58b7d
--- /dev/null
+++ b/lizard.txt
@@ -0,0 +1,185 @@
+src/gpu/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.cpp:90: warning: RayCastingDiscretizationStrategy::doDiscretize has 117 NLOC, 33 CCN, 1018 token, 4 PARAM, 138 length
+src/gpu/GridGenerator/TransientBCSetter/TransientBCSetter.cpp:259: warning: VTKReader::fillArrays has 110 NLOC, 23 CCN, 976 token, 2 PARAM, 132 length
+src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp:232: warning: MultipleGridBuilder::getStaggeredCoordinates has 61 NLOC, 24 CCN, 827 token, 6 PARAM, 114 length
+src/gpu/GridGenerator/grid/GridImp.cpp:364: warning: GridImp::fixRefinementIntoWall has 36 NLOC, 44 CCN, 630 token, 4 PARAM, 58 length
+src/gpu/GridGenerator/grid/GridImp.cpp:612: warning: GridImp::nodeInNextCellIs has 24 NLOC, 17 CCN, 346 token, 2 PARAM, 30 length
+src/gpu/GridGenerator/grid/GridImp.cpp:643: warning: GridImp::nodeInPreviousCellIs has 24 NLOC, 17 CCN, 346 token, 2 PARAM, 30 length
+src/gpu/GridGenerator/io/STLReaderWriter/STLReader.cpp:110: warning: STLReader::readASCIISTLWithPatches has 76 NLOC, 24 CCN, 599 token, 2 PARAM, 99 length
+src/gpu/GridGenerator/io/GridVTKWriter/GridVTKWriter.cpp:162: warning: GridVTKWriter::writeInterpolationCellsToVTKXML has 84 NLOC, 16 CCN, 1035 token, 3 PARAM, 114 length
+src/gpu/core/LBM/Simulation.cpp:88: warning: Simulation::init has 127 NLOC, 24 CCN, 1214 token, 4 PARAM, 307 length
+src/gpu/core/LBM/Simulation.cpp:506: warning: Simulation::calculateTimestep has 151 NLOC, 31 CCN, 1391 token, 1 PARAM, 209 length
+src/gpu/core/LBM/Simulation.cpp:716: warning: Simulation::readAndWriteFiles has 77 NLOC, 21 CCN, 718 token, 1 PARAM, 258 length
+src/gpu/core/LBM/Simulation.cpp:975: warning: Simulation::~Simulation has 96 NLOC, 24 CCN, 748 token, 0 PARAM, 153 length
+src/gpu/core/GPU/GeometryUtils.h:19: warning: findNearestCellBSW has 18 NLOC, 16 CCN, 347 token, 11 PARAM, 23 length
+src/gpu/core/DataStructureInitializer/GridReaderFiles/GridReader.cpp:329: warning: GridReader::initalValuesDomainDecompostion has 157 NLOC, 21 CCN, 2302 token, 1 PARAM, 212 length
+src/gpu/core/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp:210: warning: GridGenerator::allocArrays_BoundaryValues has 177 NLOC, 23 CCN, 2395 token, 0 PARAM, 272 length
+src/gpu/core/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp:483: warning: GridGenerator::initalValuesDomainDecompostion has 321 NLOC, 42 CCN, 4222 token, 0 PARAM, 429 length
+src/gpu/core/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp:913: warning: GridGenerator::allocArrays_BoundaryQs has 135 NLOC, 21 CCN, 1339 token, 0 PARAM, 235 length
+src/gpu/core/Particles/Particles.cpp:58: warning: initParticles has 156 NLOC, 29 CCN, 2248 token, 1 PARAM, 239 length
+src/gpu/core/Calculation/Cp.cpp:224: warning: excludeGridInterfaceNodesForMirror has 55 NLOC, 16 CCN, 899 token, 2 PARAM, 59 length
+src/gpu/core/Calculation/Cp.cpp:373: warning: printGeoFile has 132 NLOC, 25 CCN, 1208 token, 2 PARAM, 166 length
+src/gpu/core/Parameter/Parameter.cpp:83: warning: Parameter::readConfigData has 175 NLOC, 82 CCN, 1974 token, 1 PARAM, 268 length
+src/gpu/core/FindInterface/FindInterface.cpp:3: warning: interpolation has 2320 NLOC, 271 CCN, 22540 token, 16 PARAM, 2893 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:170: warning: UnstructuredGridWriter::writeUnstrucuredGridLT has 86 NLOC, 20 CCN, 978 token, 3 PARAM, 129 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:307: warning: UnstructuredGridWriter::writeUnstrucuredGridLTwithTurbulentViscosity has 89 NLOC, 20 CCN, 1018 token, 3 PARAM, 115 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:430: warning: UnstructuredGridWriter::writeUnstrucuredGridLTwithTurbulentViscosityDebug has 122 NLOC, 20 CCN, 1566 token, 3 PARAM, 146 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:584: warning: UnstructuredGridWriter::writeUnstrucuredGridPM has 86 NLOC, 36 CCN, 1278 token, 3 PARAM, 128 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:720: warning: UnstructuredGridWriter::writeUnstrucuredGridLTConc has 89 NLOC, 20 CCN, 1030 token, 3 PARAM, 112 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:845: warning: UnstructuredGridWriter::writeUnstrucuredGridBig has 169 NLOC, 42 CCN, 2461 token, 4 PARAM, 246 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:1285: warning: UnstructuredGridWriter::writeUnstrucuredGridMedianLT has 86 NLOC, 20 CCN, 965 token, 3 PARAM, 109 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:1403: warning: UnstructuredGridWriter::writeUnstrucuredGridMedianLTConc has 88 NLOC, 20 CCN, 993 token, 3 PARAM, 108 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:1520: warning: UnstructuredGridWriter::writeUnstrucuredGridMedianLTwithDerivationsAndSqaredVelos has 115 NLOC, 20 CCN, 1669 token, 3 PARAM, 138 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:2209: warning: UnstructuredGridWriter::writeQs has 81 NLOC, 30 CCN, 1196 token, 3 PARAM, 96 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:2313: warning: UnstructuredGridWriter::writeQsInflow has 82 NLOC, 31 CCN, 1210 token, 3 PARAM, 97 length
+src/gpu/core/Output/UnstructuredGridWriter.hpp:2418: warning: UnstructuredGridWriter::writeQsPressure has 82 NLOC, 31 CCN, 1210 token, 3 PARAM, 97 length
+src/gpu/core/Output/FileWriter.cpp:305: warning: FileWriter::writeUnstructuredGridMedianLT has 79 NLOC, 23 CCN, 957 token, 3 PARAM, 101 length
+src/gpu/core/Output/InterfaceDebugWriter.hpp:719: warning: InterfaceDebugWriter::writeSendNodesStream has 79 NLOC, 16 CCN, 943 token, 2 PARAM, 96 length
+src/gpu/core/Output/VtkSGWriter.hpp:118: warning: VtkSGWriter::writeVTKsgSP has 119 NLOC, 21 CCN, 1071 token, 25 PARAM, 146 length
+src/gpu/core/Output/VtkSGWriter.hpp:272: warning: VtkSGWriter::writeVTKsgSPbin has 120 NLOC, 24 CCN, 1229 token, 26 PARAM, 138 length
+src/gpu/core/Output/VtkSGWriter.hpp:413: warning: VtkSGWriter::writeVTKmedSPbin has 120 NLOC, 24 CCN, 1252 token, 27 PARAM, 138 length
+src/gpu/core/Output/VtkSGWriter.hpp:554: warning: VtkSGWriter::writeVTKsgSPbinTEST has 77 NLOC, 17 CCN, 643 token, 1 PARAM, 85 length
+src/gpu/core/Output/VtkSGWriter.hpp:646: warning: VtkSGWriter::writeVTKsgThS has 109 NLOC, 20 CCN, 999 token, 25 PARAM, 125 length
+src/gpu/core/Output/VtkSGWriter.hpp:776: warning: VtkSGWriter::writeVTKsgSPbinAS has 125 NLOC, 30 CCN, 1207 token, 28 PARAM, 153 length
+src/gpu/core/Output/VtkSGWriter.hpp:932: warning: VtkSGWriter::writeVTKmedSPbinAS has 125 NLOC, 30 CCN, 1233 token, 29 PARAM, 155 length
+src/cpu/MultiphaseFlow/LBM/MultiphaseScaleDistributionLBMKernel.cpp:153: warning: MultiphaseScaleDistributionLBMKernel::calculate has 841 NLOC, 95 CCN, 15448 token, 1 PARAM, 4867 length
+src/cpu/MultiphaseFlow/LBM/MultiphasePressureFilterLBMKernel.cpp:147: warning: MultiphasePressureFilterLBMKernel::calculate has 1056 NLOC, 38 CCN, 15517 token, 1 PARAM, 1485 length
+src/cpu/MultiphaseFlow/LBM/MultiphaseScratchCumulantLBMKernel.cpp:136: warning: MultiphaseScratchCumulantLBMKernel::calculate has 998 NLOC, 15 CCN, 15155 token, 1 PARAM, 2793 length
+src/cpu/MultiphaseFlow/LBM/MultiphasePressureFilterCompressibleAirLBMKernel.cpp:147: warning: MultiphasePressureFilterCompressibleAirLBMKernel::calculate has 954 NLOC, 37 CCN, 13902 token, 1 PARAM, 1337 length
+src/cpu/MultiphaseFlow/LBM/MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel.cpp:139: warning: MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate has 1183 NLOC, 48 CCN, 17408 token, 1 PARAM, 3150 length
+src/cpu/MultiphaseFlow/LBM/MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.cpp:145: warning: MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate has 1091 NLOC, 20 CCN, 16030 token, 1 PARAM, 2659 length
+src/cpu/MultiphaseFlow/LBM/MultiphaseCumulantLBMKernel.cpp:83: warning: MultiphaseCumulantLBMKernel::calculate has 840 NLOC, 21 CCN, 11775 token, 1 PARAM, 1099 length
+src/cpu/MultiphaseFlow/LBM/MultiphaseSharpInterfaceLBMKernel.cpp:153: warning: MultiphaseSharpInterfaceLBMKernel::calculate has 780 NLOC, 87 CCN, 13990 token, 1 PARAM, 1305 length
+src/cpu/MultiphaseFlow/LBM/MultiphaseTwoPhaseFieldsCumulantLBMKernel.cpp:137: warning: MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate has 1183 NLOC, 14 CCN, 17738 token, 1 PARAM, 2855 length
+src/cpu/MultiphaseFlow/LBM/MultiphaseTwoPhaseFieldsPressureFilterLBMKernel.cpp:151: warning: MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate has 1173 NLOC, 37 CCN, 17390 token, 1 PARAM, 3207 length
+src/cpu/MultiphaseFlow/LBM/MultiphaseScaleDistributionLBMKernel.h:138: warning: MultiphaseScaleDistributionLBMKernel::isGas has 33 NLOC, 28 CCN, 282 token, 3 PARAM, 33 length
+src/cpu/MultiphaseFlow/SimulationObservers/WriteSharpInterfaceQuantitiesSimulationObserver.cpp:144: warning: WriteSharpInterfaceQuantitiesSimulationObserver::addDataMQ has 151 NLOC, 30 CCN, 2116 token, 1 PARAM, 226 length
+src/cpu/MultiphaseFlow/SimulationObservers/WriteMultiphaseQuantitiesSimulationObserver.cpp:147: warning: WriteMultiphaseQuantitiesSimulationObserver::addDataMQ has 235 NLOC, 37 CCN, 3976 token, 1 PARAM, 329 length
+src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBC.cpp:177: warning: MultiphaseVelocityBC::init has 82 NLOC, 30 CCN, 907 token, 2 PARAM, 91 length
+src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseSlipBCStrategy.cpp:65: warning: MultiphaseSlipBCStrategy::applyBC has 64 NLOC, 29 CCN, 1117 token, 0 PARAM, 79 length
+src/cpu/LiggghtsCoupling/LBM/IBcumulantK17LBMKernel.cpp:99: warning: IBcumulantK17LBMKernel::calculate has 502 NLOC, 20 CCN, 7949 token, 1 PARAM, 809 length
+src/cpu/LiggghtsCoupling/LBM/IBsharpInterfaceLBMKernel.cpp:173: warning: IBsharpInterfaceLBMKernel::calculate has 919 NLOC, 97 CCN, 17677 token, 1 PARAM, 1367 length
+src/cpu/LiggghtsCoupling/SimulationObserver/LiggghtsCouplingSimulationObserver.cpp:92: warning: LiggghtsCouplingSimulationObserver::setSingleSphere3D has 64 NLOC, 21 CCN, 839 token, 5 PARAM, 112 length
+src/cpu/NonNewtonianFluids/LBM/RheologyK17LBMKernel.cpp:97: warning: RheologyK17LBMKernel::calculate has 613 NLOC, 16 CCN, 8545 token, 1 PARAM, 1037 length
+src/cpu/NonNewtonianFluids/LBM/ThixotropyLBMKernel.cpp:68: warning: ThixotropyLBMKernel::calculate has 1355 NLOC, 14 CCN, 25623 token, 1 PARAM, 1750 length
+src/cpu/NonNewtonianFluids/LBM/ThixotropyExpLBMKernel.cpp:68: warning: ThixotropyExpLBMKernel::calculate has 1353 NLOC, 14 CCN, 25585 token, 1 PARAM, 1756 length
+src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyVelocityWithDensityBCStrategy.cpp:65: warning: ThixotropyVelocityWithDensityBCStrategy::applyBC has 50 NLOC, 16 CCN, 520 token, 0 PARAM, 67 length
+src/cpu/NonNewtonianFluids/BoundaryConditions/ThixotropyNonReflectingOutflowBCStrategy.cpp:70: warning: ThixotropyNonReflectingOutflowBCStrategy::applyBC has 280 NLOC, 19 CCN, 7096 token, 0 PARAM, 305 length
+src/cpu/NonNewtonianFluids/Visitors/RheologyBoundaryConditionsBlockVisitor.cpp:61: warning: BoundaryConditionsBlockVisitor::visit has 63 NLOC, 16 CCN, 551 token, 2 PARAM, 75 length
+src/cpu/core/LBM/Interpolation/Interpolator.cpp:77: warning: Interpolator::findNeighborICell has 220 NLOC, 53 CCN, 1748 token, 12 PARAM, 255 length
+src/cpu/core/LBM/IncompressibleCumulantWithSpongeLayerLBMKernel.cpp:35: warning: IncompressibleCumulantWithSpongeLayerLBMKernel::initRelaxFactor has 74 NLOC, 16 CCN, 597 token, 4 PARAM, 82 length
+src/cpu/core/LBM/D3Q27System.h:246: warning: D3Q27System::getDirectionString has 60 NLOC, 27 CCN, 182 token, 1 PARAM, 61 length
+src/cpu/core/LBM/D3Q27System.h:308: warning: D3Q27System::setNeighborCoordinatesForDirection has 114 NLOC, 27 CCN, 337 token, 4 PARAM, 115 length
+src/cpu/core/LBM/D3Q27System.h:551: warning: D3Q27System::getCompFeqForDirection has 93 NLOC, 28 CCN, 1594 token, 5 PARAM, 94 length
+src/cpu/core/LBM/D3Q27System.h:695: warning: D3Q27System::getIncompFeqForDirection has 84 NLOC, 28 CCN, 1472 token, 5 PARAM, 86 length
+src/cpu/core/LBM/D3Q27System.h:826: warning: D3Q27System::getBoundaryVelocityForDirection has 61 NLOC, 27 CCN, 676 token, 4 PARAM, 62 length
+src/cpu/core/Connectors/CoarseToFineVectorConnector.h:150: warning: CoarseToFineVectorConnector<VectorTransmitter>::CoarseToFineVectorConnector has 23 NLOC, 27 CCN, 227 token, 11 PARAM, 24 length
+src/cpu/core/Connectors/CoarseToFineVectorConnector.h:182: warning: CoarseToFineVectorConnector<VectorTransmitter>::isRemoteConnector has 11 NLOC, 16 CCN, 93 token, 0 PARAM, 11 length
+src/cpu/core/Connectors/CoarseToFineVectorConnector.h:301: warning: CoarseToFineVectorConnector<VectorTransmitter>::init has 80 NLOC, 35 CCN, 526 token, 0 PARAM, 87 length
+src/cpu/core/Connectors/CoarseToFineVectorConnector.h:390: warning: CoarseToFineVectorConnector<VectorTransmitter>::fillSendVectors has 311 NLOC, 27 CCN, 3140 token, 0 PARAM, 406 length
+src/cpu/core/Connectors/CoarseToFineVectorConnector.h:896: warning: CoarseToFineVectorConnector<VectorTransmitter>::distributeReceiveVectors has 592 NLOC, 27 CCN, 6167 token, 0 PARAM, 706 length
+src/cpu/core/Connectors/CoarseToFineVectorConnector.h:1634: warning: CoarseToFineVectorConnector<VectorTransmitter>::getLocalMinMax has 120 NLOC, 73 CCN, 933 token, 6 PARAM, 139 length
+src/cpu/core/Connectors/CoarseToFineVectorConnector.h:1775: warning: CoarseToFineVectorConnector<VectorTransmitter>::getLocalMinMax has 121 NLOC, 73 CCN, 935 token, 7 PARAM, 138 length
+src/cpu/core/Connectors/FullDirectConnector.cpp:60: warning: FullDirectConnector::exchangeData has 115 NLOC, 51 CCN, 1071 token, 0 PARAM, 129 length
+src/cpu/core/Connectors/ThreeDistributionsDoubleGhostLayerFullDirectConnector.cpp:64: warning: ThreeDistributionsDoubleGhostLayerFullDirectConnector::exchangeData has 234 NLOC, 51 CCN, 2628 token, 0 PARAM, 256 length
+src/cpu/core/Connectors/ThreeDistributionsDoubleGhostLayerFullVectorConnector.cpp:51: warning: ThreeDistributionsDoubleGhostLayerFullVectorConnector::init has 42 NLOC, 28 CCN, 384 token, 0 PARAM, 50 length
+src/cpu/core/Connectors/ThreeDistributionsDoubleGhostLayerFullVectorConnector.cpp:108: warning: ThreeDistributionsDoubleGhostLayerFullVectorConnector::fillData has 230 NLOC, 51 CCN, 2353 token, 0 PARAM, 258 length
+src/cpu/core/Connectors/ThreeDistributionsDoubleGhostLayerFullVectorConnector.cpp:373: warning: ThreeDistributionsDoubleGhostLayerFullVectorConnector::distributeData has 230 NLOC, 51 CCN, 2353 token, 0 PARAM, 248 length
+src/cpu/core/Connectors/TwoDistributionsFullVectorConnector.cpp:51: warning: TwoDistributionsFullVectorConnector::init has 40 NLOC, 28 CCN, 322 token, 0 PARAM, 48 length
+src/cpu/core/Connectors/OneDistributionFullVectorConnector.cpp:13: warning: OneDistributionFullVectorConnector::init has 55 NLOC, 28 CCN, 294 token, 0 PARAM, 63 length
+src/cpu/core/Connectors/FullVectorConnector.cpp:60: warning: FullVectorConnector::fillData has 177 NLOC, 62 CCN, 979 token, 0 PARAM, 189 length
+src/cpu/core/Connectors/FullVectorConnector.cpp:256: warning: FullVectorConnector::distributeData has 175 NLOC, 62 CCN, 925 token, 0 PARAM, 185 length
+src/cpu/core/Connectors/FineToCoarseVectorConnector.h:140: warning: FineToCoarseVectorConnector<VectorTransmitter>::FineToCoarseVectorConnector has 22 NLOC, 27 CCN, 187 token, 6 PARAM, 25 length
+src/cpu/core/Connectors/FineToCoarseVectorConnector.h:227: warning: FineToCoarseVectorConnector<VectorTransmitter>::init has 57 NLOC, 27 CCN, 373 token, 0 PARAM, 61 length
+src/cpu/core/Connectors/FineToCoarseVectorConnector.h:290: warning: FineToCoarseVectorConnector<VectorTransmitter>::fillSendVectors has 422 NLOC, 28 CCN, 3315 token, 0 PARAM, 500 length
+src/cpu/core/Connectors/FineToCoarseVectorConnector.h:856: warning: FineToCoarseVectorConnector<VectorTransmitter>::distributeReceiveVectors has 233 NLOC, 27 CCN, 1623 token, 0 PARAM, 262 length
+src/cpu/core/Connectors/FineToCoarseVectorConnector.h:1164: warning: FineToCoarseVectorConnector<VectorTransmitter>::getLocalMinMax has 120 NLOC, 73 CCN, 933 token, 6 PARAM, 140 length
+src/cpu/core/Connectors/FineToCoarseVectorConnector.h:1306: warning: FineToCoarseVectorConnector<VectorTransmitter>::getLocalMinMax has 121 NLOC, 73 CCN, 935 token, 7 PARAM, 139 length
+src/cpu/core/Connectors/FineToCoarseVectorConnector.h:1458: warning: FineToCoarseVectorConnector<VectorTransmitter>::getLocalMins has 74 NLOC, 37 CCN, 312 token, 6 PARAM, 101 length
+src/cpu/core/Connectors/TwoDistributionsDoubleGhostLayerFullDirectConnector.cpp:62: warning: TwoDistributionsDoubleGhostLayerFullDirectConnector::exchangeData has 234 NLOC, 51 CCN, 2628 token, 0 PARAM, 256 length
+src/cpu/core/Connectors/TwoDistributionsDoubleGhostLayerFullVectorConnector.cpp:51: warning: TwoDistributionsDoubleGhostLayerFullVectorConnector::init has 41 NLOC, 28 CCN, 358 token, 0 PARAM, 49 length
+src/cpu/core/Connectors/TwoDistributionsDoubleGhostLayerFullVectorConnector.cpp:107: warning: TwoDistributionsDoubleGhostLayerFullVectorConnector::fillData has 230 NLOC, 51 CCN, 2353 token, 0 PARAM, 258 length
+src/cpu/core/Connectors/TwoDistributionsDoubleGhostLayerFullVectorConnector.cpp:372: warning: TwoDistributionsDoubleGhostLayerFullVectorConnector::distributeData has 230 NLOC, 51 CCN, 2353 token, 0 PARAM, 248 length
+src/cpu/core/Connectors/ThreeDistributionsFullVectorConnector.cpp:51: warning: ThreeDistributionsFullVectorConnector::init has 41 NLOC, 28 CCN, 348 token, 0 PARAM, 49 length
+src/cpu/core/Interactors/D3Q27Interactor.cpp:286: warning: D3Q27Interactor::setDifferencesToGbObject3D has 233 NLOC, 55 CCN, 2007 token, 1 PARAM, 289 length
+src/cpu/core/Interactors/D3Q27Interactor.cpp:576: warning: D3Q27Interactor::addQsLineSet has 180 NLOC, 35 CCN, 1190 token, 2 PARAM, 192 length
+src/cpu/core/Interactors/D3Q27Interactor.cpp:769: warning: D3Q27Interactor::getQsLineSet has 213 NLOC, 71 CCN, 1422 token, 0 PARAM, 223 length
+src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.cpp:123: warning: D3Q27TriFaceMeshInteractor::setQs has 290 NLOC, 46 CCN, 3345 token, 1 PARAM, 454 length
+src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.cpp:592: warning: D3Q27TriFaceMeshInteractor::initInteractor2 has 389 NLOC, 62 CCN, 4303 token, 1 PARAM, 719 length
+src/cpu/core/Interactors/D3Q27TriFaceMeshInteractor.cpp:1312: warning: D3Q27TriFaceMeshInteractor::refineBlockGridToLevel has 129 NLOC, 26 CCN, 1733 token, 3 PARAM, 181 length
+src/cpu/core/Interactors/Interactor3D.cpp:107: warning: Interactor3D::isBlockOutsideGeoObject has 33 NLOC, 21 CCN, 406 token, 7 PARAM, 39 length
+src/cpu/core/Interactors/Interactor3D.cpp:147: warning: Interactor3D::isBlockInsideGeoObject has 33 NLOC, 21 CCN, 405 token, 7 PARAM, 39 length
+src/cpu/core/Interactors/Interactor3D.cpp:187: warning: Interactor3D::isBlockCuttingGeoObject has 33 NLOC, 21 CCN, 405 token, 7 PARAM, 39 length
+src/cpu/core/Parallel/SimpleGeometricPartitioner.h:21: warning: SimpleGeometricPartitioner::createDimensions has 59 NLOC, 20 CCN, 414 token, 4 PARAM, 69 length
+src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.cpp:92: warning: InSituCatalystSimulationObserver::addData has 63 NLOC, 16 CCN, 655 token, 1 PARAM, 76 length
+src/cpu/core/SimulationObservers/InSituCatalystSimulationObserver.cpp:209: warning: InSituCatalystSimulationObserver::addVTKGridData has 97 NLOC, 21 CCN, 1115 token, 1 PARAM, 126 length
+src/cpu/core/SimulationObservers/MPIIOMigrationBESimulationObserver.cpp:855: warning: MPIIOMigrationBESimulationObserver::writeDataSet.MPIIOMigrationBESimulationObserver::writeDataSet.MPIIOMigrationBESimulationObserver::write4DArray.MPIIOMigrationBESimulationObserver::writeDataSet.MPIIOMigrationBESimulationObserver::writeDataSet.MPIIOMigrationBESimulationObserver::write4DArray.MPIIOMigrationBESimulationObserver::write3DArray.MPIIOMigrationBESimulationObserver::writeDataSet.MPIIOMigrationBESimulationObserver::writeDataSet.MPIIOMigrationBESimulationObserver::write4DArray.MPIIOMigrationBESimulationObserver::writeDataSet.MPIIOMigrationBESimulationObserver::writeDataSet.MPIIOMigrationBESimulationObserver::write4DArray.MPIIOMigrationBESimulationObserver::write3DArray.MPIIOMigrationBESimulationObserver::writeBoundaryConds.MPIIOMigrationBESimulationObserver::blocksExchange has 110 NLOC, 21 CCN, 939 token, 6 PARAM, 132 length
+src/cpu/core/SimulationObservers/InSituVTKSimulationObserver.cpp:125: warning: InSituVTKSimulationObserver::addData has 101 NLOC, 21 CCN, 1188 token, 1 PARAM, 136 length
+src/cpu/core/SimulationObservers/WriteMQFromSelectionSimulationObserver.cpp:111: warning: WriteMQFromSelectionSimulationObserver::addDataMQ has 74 NLOC, 16 CCN, 756 token, 1 PARAM, 103 length
+src/cpu/core/SimulationObservers/QCriterionSimulationObserver.cpp:205: warning: QCriterionSimulationObserver::getNeighborVelocities has 103 NLOC, 30 CCN, 1174 token, 9 PARAM, 143 length
+src/cpu/core/SimulationObservers/WriteMacroscopicQuantitiesSimulationObserver.cpp:144: warning: WriteMacroscopicQuantitiesSimulationObserver::addDataMQ has 79 NLOC, 18 CCN, 1004 token, 1 PARAM, 135 length
+src/cpu/core/SimulationObservers/PressureCoefficientSimulationObserver.cpp:43: warning: PressureCoefficientSimulationObserver::calculateRho has 68 NLOC, 16 CCN, 642 token, 0 PARAM, 79 length
+src/cpu/core/SimulationObservers/LineTimeSeriesSimulationObserver.cpp:89: warning: LineTimeSeriesSimulationObserver::collectData has 111 NLOC, 26 CCN, 957 token, 0 PARAM, 116 length
+src/cpu/core/SimulationObservers/WriteMacroscopicQuantitiesPlusMassSimulationObserver.cpp:144: warning: WriteMacroscopicQuantitiesPlusMassSimulationObserver::addDataMQ has 79 NLOC, 19 CCN, 1016 token, 1 PARAM, 135 length
+src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.cpp:193: warning: TimeAveragedValuesSimulationObserver::addData has 126 NLOC, 18 CCN, 1543 token, 1 PARAM, 161 length
+src/cpu/core/SimulationObservers/TimeAveragedValuesSimulationObserver.cpp:579: warning: TimeAveragedValuesSimulationObserver::calculateAverageValues.TimeAveragedValuesSimulationObserver::planarAverage has 97 NLOC, 19 CCN, 805 token, 1 PARAM, 122 length
+src/cpu/core/SimulationObservers/ShearStressSimulationObserver.cpp:413: warning: ShearStressSimulationObserver::findPlane has 399 NLOC, 122 CCN, 3322 token, 10 PARAM, 417 length
+src/cpu/core/SimulationObservers/ShearStressSimulationObserver.cpp:845: warning: ShearStressSimulationObserver::initDistance has 85 NLOC, 24 CCN, 739 token, 0 PARAM, 109 length
+src/cpu/core/Data/D3Q27EsoTwist3DSplittedVector.cpp:199: warning: D3Q27EsoTwist3DSplittedVector::setPostCollisionDistributionForDirection has 59 NLOC, 28 CCN, 1083 token, 5 PARAM, 60 length
+src/cpu/core/Data/D3Q27EsoTwist3DSplittedVector.cpp:260: warning: D3Q27EsoTwist3DSplittedVector::setPostCollisionDistributionForDirection has 90 NLOC, 28 CCN, 772 token, 5 PARAM, 91 length
+src/cpu/core/Data/D3Q27EsoTwist3DSplittedVector.cpp:352: warning: D3Q27EsoTwist3DSplittedVector::setPreCollisionDistributionForDirection has 59 NLOC, 28 CCN, 1083 token, 5 PARAM, 60 length
+src/cpu/core/Data/D3Q27EsoTwist3DSplittedVector.cpp:413: warning: D3Q27EsoTwist3DSplittedVector::setPreCollisionDistributionForDirection has 90 NLOC, 28 CCN, 774 token, 5 PARAM, 91 length
+src/cpu/core/Data/D3Q27EsoTwist3DSplittedVector.cpp:505: warning: D3Q27EsoTwist3DSplittedVector::getPreCollisionDistributionForDirection has 62 NLOC, 28 CCN, 688 token, 4 PARAM, 63 length
+src/cpu/core/Data/D3Q27EsoTwist3DSplittedVector.cpp:569: warning: D3Q27EsoTwist3DSplittedVector::getDistributionInvForDirection has 62 NLOC, 28 CCN, 688 token, 4 PARAM, 63 length
+src/cpu/core/Simulation/Simulation.cpp:128: warning: Simulation::initRemoteConnectors has 50 NLOC, 16 CCN, 435 token, 0 PARAM, 67 length
+src/cpu/core/Simulation/Simulation.cpp:245: warning: Simulation::run has 59 NLOC, 20 CCN, 452 token, 0 PARAM, 110 length
+src/cpu/core/Simulation/Grid3D.cpp:181: warning: Grid3D::getBlock has 29 NLOC, 21 CCN, 316 token, 4 PARAM, 32 length
+src/cpu/core/Simulation/Grid3D.cpp:1103: warning: Grid3D::getNeighborBlocksForDirection has 87 NLOC, 27 CCN, 641 token, 7 PARAM, 88 length
+src/cpu/core/Simulation/Grid3D.cpp:1209: warning: Grid3D::getSubBlocksZero has 50 NLOC, 17 CCN, 510 token, 6 PARAM, 58 length
+src/cpu/core/Simulation/Grid3D.cpp:1268: warning: Grid3D::getNeighborBlocksForDirectionWithREST has 90 NLOC, 28 CCN, 663 token, 7 PARAM, 91 length
+src/cpu/core/BoundaryConditions/BoundaryConditions.h:194: warning: BoundaryConditions::getBoundaryVelocity has 62 NLOC, 27 CCN, 661 token, 1 PARAM, 63 length
+src/cpu/core/BoundaryConditions/VelocityBC.cpp:201: warning: VelocityBC::init has 77 NLOC, 30 CCN, 901 token, 2 PARAM, 85 length
+src/cpu/core/BoundaryConditions/SimpleSlipBCStrategy.cpp:59: warning: SimpleSlipBCStrategy::applyBC has 56 NLOC, 29 CCN, 928 token, 0 PARAM, 62 length
+src/cpu/core/BoundaryConditions/SlipBCStrategy.cpp:21: warning: SlipBCStrategy::applyBC has 57 NLOC, 29 CCN, 1020 token, 0 PARAM, 64 length
+src/cpu/core/Visitors/SetInterpolationConnectorsBlockVisitor.cpp:73: warning: SetInterpolationConnectorsBlockVisitor::setInterpolationConnectors has 221 NLOC, 101 CCN, 2901 token, 2 PARAM, 264 length
+src/cpu/core/Visitors/SetInterpolationConnectorsBlockVisitor.cpp:338: warning: SetInterpolationConnectorsBlockVisitor::setInterpolationConnectors has 67 NLOC, 22 CCN, 678 token, 6 PARAM, 72 length
+src/cpu/core/Visitors/SetUndefinedNodesBlockVisitor.cpp:16: warning: SetUndefinedNodesBlockVisitor::visit has 630 NLOC, 119 CCN, 4504 token, 2 PARAM, 653 length
+src/cpu/core/Visitors/SetInterpolationDirsBlockVisitor.cpp:12: warning: SetInterpolationDirsBlockVisitor::visit has 128 NLOC, 46 CCN, 822 token, 2 PARAM, 133 length
+src/cpu/core/Visitors/InitDistributionsWithInterpolationGridVisitor.cpp:26: warning: InitDistributionsWithInterpolationGridVisitor::visit has 57 NLOC, 19 CCN, 479 token, 1 PARAM, 69 length
+src/basics/utilities/Vector3D.cpp:274: warning: Vector3D::GetBarycentrics has 154 NLOC, 25 CCN, 1462 token, 5 PARAM, 186 length
+src/basics/writer/WbWriterAvsASCII.cpp:219: warning: WbWriterAvsASCII::writeQuadsWithNodeData has 104 NLOC, 17 CCN, 1162 token, 5 PARAM, 131 length
+src/basics/writer/WbWriterAvsASCII.cpp:351: warning: WbWriterAvsASCII::writeQuadsWithCellData has 106 NLOC, 17 CCN, 1166 token, 5 PARAM, 134 length
+src/basics/writer/WbWriterAvsASCII.cpp:486: warning: WbWriterAvsASCII::writeQuadsWithNodeAndCellData has 140 NLOC, 25 CCN, 1567 token, 7 PARAM, 181 length
+src/basics/writer/WbWriterAvsASCII.cpp:741: warning: WbWriterAvsASCII::writeTrianglesWithNodeData has 105 NLOC, 17 CCN, 1146 token, 5 PARAM, 132 length
+src/basics/writer/WbWriterAvsASCII.cpp:874: warning: WbWriterAvsASCII::writeOctsWithCellData has 112 NLOC, 17 CCN, 1286 token, 5 PARAM, 140 length
+src/basics/writer/WbWriterAvsASCII.cpp:1015: warning: WbWriterAvsASCII::writeOctsWithNodeData has 116 NLOC, 19 CCN, 1334 token, 5 PARAM, 144 length
+src/basics/writer/WbWriterVtkBinary.cpp:373: warning: WbWriterVtkBinary::writeQuadsWithNodeAndCellData has 105 NLOC, 19 CCN, 1147 token, 7 PARAM, 128 length
+src/basics/writer/WbWriterAvsBinary.cpp:389: warning: WbWriterAvsBinary::writeTrianglesWithNodeData has 105 NLOC, 17 CCN, 1144 token, 5 PARAM, 132 length
+src/basics/writer/WbWriterAvsBinary.cpp:522: warning: WbWriterAvsBinary::writeQuadsWithNodeData has 105 NLOC, 17 CCN, 1162 token, 5 PARAM, 132 length
+src/basics/writer/WbWriterAvsBinary.cpp:655: warning: WbWriterAvsBinary::writeQuadsWithCellData has 105 NLOC, 17 CCN, 1164 token, 5 PARAM, 133 length
+src/basics/writer/WbWriterAvsBinary.cpp:789: warning: WbWriterAvsBinary::writeQuadsWithNodeAndCellData has 139 NLOC, 25 CCN, 1565 token, 7 PARAM, 180 length
+src/basics/writer/WbWriterAvsBinary.cpp:970: warning: WbWriterAvsBinary::writeOctsWithCellData has 112 NLOC, 17 CCN, 1284 token, 5 PARAM, 140 length
+src/basics/writer/WbWriterAvsBinary.cpp:1111: warning: WbWriterAvsBinary::writeOctsWithNodeData has 116 NLOC, 19 CCN, 1332 token, 5 PARAM, 144 length
+src/basics/geometry3d/KdTree/splitalgorithms/KdSAHSplit.h:162: warning: Kd::SAHSplit::findPossibleSplitCandidates has 37 NLOC, 18 CCN, 440 token, 3 PARAM, 61 length
+src/basics/geometry3d/GbObject3D.cpp:59: warning: GbObject3D::isCellCuttingGbObject3D has 15 NLOC, 17 CCN, 232 token, 6 PARAM, 15 length
+src/basics/geometry3d/GbTriangularMesh3D.cpp:156: warning: GbTriangularMesh3D::deleteRedundantNodes has 78 NLOC, 17 CCN, 740 token, 0 PARAM, 85 length
+src/basics/geometry3d/GbTriangularMesh3D.cpp:1339: warning: GbTriangularMesh3D::InTri2D has 21 NLOC, 34 CCN, 368 token, 2 PARAM, 30 length
+src/basics/geometry3d/GbTriangularMesh3D.cpp:1426: warning: GbTriangularMesh3D::SegTriCross has 27 NLOC, 25 CCN, 358 token, 3 PARAM, 42 length
+src/basics/geometry3d/GbMeshTools3D.h:70: warning: GbMeshTools3D::triBoxOverlap has 159 NLOC, 35 CCN, 1686 token, 3 PARAM, 245 length
+src/basics/geometry3d/GbTriFaceMesh3D.cpp:150: warning: GbTriFaceMesh3D::deleteRedundantNodes has 69 NLOC, 18 CCN, 589 token, 0 PARAM, 127 length
+src/basics/geometry3d/GbHalfSpaceKrischan3D.cpp:100: warning: GbHalfSpaceKrischan3D::getCellVolumeInsideGbObject3D has 117 NLOC, 27 CCN, 1378 token, 6 PARAM, 203 length
+src/basics/geometry3d/GbVoxelMatrix3D.cpp:173: warning: GbVoxelMatrix3D::getIntersectionRaytraceFactor has 36 NLOC, 26 CCN, 533 token, 6 PARAM, 43 length
+src/basics/geometry3d/GbVoxelMatrix3D.cpp:722: warning: GbVoxelMatrix3D::rotateAroundY has 44 NLOC, 20 CCN, 411 token, 1 PARAM, 63 length
+src/basics/geometry3d/GbSystem3D.cpp:47: warning: GbSystem3D::calculateIntersectionPoint3D has 55 NLOC, 22 CCN, 634 token, 4 PARAM, 60 length
+src/basics/geometry3d/GbSystem3D.cpp:109: warning: GbSystem3D::hasIntersectionPoint3D has 55 NLOC, 22 CCN, 626 token, 4 PARAM, 59 length
+src/basics/geometry3d/GbSystem3D.cpp:202: warning: GbSystem3D::createClipLine3D has 119 NLOC, 22 CCN, 1168 token, 8 PARAM, 147 length
+src/basics/geometry3d/GbSystem3D.cpp:687: warning: GbSystem3D::clipPolygon3D has 256 NLOC, 53 CCN, 3060 token, 7 PARAM, 292 length
+src/basics/geometry3d/GbSystem3D.cpp:980: warning: GbSystem3D::clipRectangle3D has 50 NLOC, 16 CCN, 388 token, 8 PARAM, 53 length
+src/basics/geometry3d/GbVector3D.cpp:308: warning: GbVector3D::GetBarycentrics has 156 NLOC, 25 CCN, 1574 token, 5 PARAM, 181 length
+src/basics/geometry3d/GbSphere3D.cpp:760: warning: GbSphere3D::getCellVolumeInsideGbObject3DHelperFunction has 113 NLOC, 27 CCN, 1309 token, 6 PARAM, 155 length
+src/basics/geometry3d/GbCylinder3D.cpp:114: warning: GbCylinder3D::calculateValues has 47 NLOC, 17 CCN, 407 token, 0 PARAM, 52 length
+src/basics/geometry3d/GbCylinder3D.cpp:252: warning: GbCylinder3D::isPointInGbObject3D has 23 NLOC, 21 CCN, 278 token, 4 PARAM, 31 length
+src/basics/geometry3d/GbCylinder3D.cpp:325: warning: GbCylinder3D::isCellInsideOrCuttingGbObject3D has 59 NLOC, 31 CCN, 657 token, 6 PARAM, 78 length
+src/basics/geometry3d/GbCylinder3D.cpp:404: warning: GbCylinder3D::createClippedLine3D has 250 NLOC, 48 CCN, 3201 token, 2 PARAM, 301 length
+src/basics/geometry3d/GbCylinder3D.cpp:1155: warning: GbCylinder3D::getIntersectionRaytraceFactor has 138 NLOC, 54 CCN, 1319 token, 6 PARAM, 189 length
+src/basics/geometry3d/GbTriangle3D.cpp:645: warning: GbTriangle3D::enclosesPoint2D has 79 NLOC, 30 CCN, 640 token, 2 PARAM, 88 length
+src/basics/geometry3d/GbTriangle3D.cpp:965: warning: GbTriangle3D::getDistanceFromPoint has 171 NLOC, 26 CCN, 1453 token, 1 PARAM, 184 length
diff --git a/pythonbindings/pyfluids-stubs/basics/__init__.pyi b/pythonbindings/pyfluids-stubs/basics/__init__.pyi
index ed74e648a0b6739b31853c9633d63eeac3b91df4..360e83620d5081c8c85fc76991a19f2229127141 100644
--- a/pythonbindings/pyfluids-stubs/basics/__init__.pyi
+++ b/pythonbindings/pyfluids-stubs/basics/__init__.pyi
@@ -34,11 +34,8 @@ r"""
 """
 from __future__ import annotations
 
-from typing import ClassVar, overload
+from typing import overload
 
-from . import logger as logger
-
-from pyfluids.bindings.basics import logger as logger
 class ConfigurationFile:
     def __init__(self) -> None: ...
     def contains(self, key: str) -> bool: ...
diff --git a/pythonbindings/pyfluids-stubs/gpu/grid_generator.pyi b/pythonbindings/pyfluids-stubs/gpu/grid_generator.pyi
index b1afd89f6455b5fdf5df568c7e03656229d69c1d..baf5c8b6def1bbc37f818d149943542b944e2c4e 100644
--- a/pythonbindings/pyfluids-stubs/gpu/grid_generator.pyi
+++ b/pythonbindings/pyfluids-stubs/gpu/grid_generator.pyi
@@ -40,7 +40,6 @@ from typing import overload
 import gpu
 
 
-
 class BoundingBox:
     def __init__(self, min_x: float, max_x: float, min_y: float, max_y: float, min_z: float, max_z: float) -> None: ...
 
@@ -81,24 +80,33 @@ class LevelGridBuilder(GridBuilder):
     def set_slip_boundary_condition(self, side_type: gpu.SideType, normal_x: float, normal_y: float, normal_z: float) -> None: ...
     def set_stress_boundary_condition(self, side_type: gpu.SideType, normal_x: float, normal_y: float, normal_z: float, sampling_offset: int, z0: float, dx: float, q: float = ...) -> None: ...
     def set_velocity_boundary_condition(self, side_type: gpu.SideType, vx: float, vy: float, vz: float) -> None: ...
+    def set_periodic_shift_on_x_boundary_in_y_direction(self, shift: float) -> None: ...
+    def set_periodic_shift_on_x_boundary_in_z_direction(self, shift: float) -> None: ...
+    def set_periodic_shift_on_y_boundary_in_x_direction(self, shift: float) -> None: ...
+    def set_periodic_shift_on_y_boundary_in_z_direction(self, shift: float) -> None: ...
+    def set_periodic_shift_on_z_boundary_in_x_direction(self, shift: float) -> None: ...
+    def set_periodic_shift_on_z_boundary_in_y_direction(self, shift: float) -> None: ...
+    def set_communication_process(self, direction: int, process: int) -> None: ...
 
 
 
 class MultipleGridBuilder(LevelGridBuilder):
     def __init__(self, *args, **kwargs) -> None: ...
+    @staticmethod
+    def make_shared(grid_factory: GridFactory) -> MultipleGridBuilder: ...
     def add_coarse_grid(self, start_x: float, start_y: float, start_z: float, end_x: float, end_y: float, end_z: float, delta: float) -> None: ...
     @overload
-    def add_geometry(self, solid_object: Object) -> None: ...
-    @overload
-    def add_geometry(self, solid_object: Object, level: int) -> None: ...
-    @overload
     def add_grid(self, grid_shape: Object) -> None: ...
     @overload
     def add_grid(self, grid_shape: Object, level_fine: int) -> None: ...
+    @overload
+    def add_geometry(self, solid_object: Object) -> None: ...
+    @overload
+    def add_geometry(self, solid_object: Object, level: int) -> None: ...
     def build_grids(self, enable_thin_walls: bool) -> None: ...
+    def set_subdomain_box(self, sub_domain_box: BoundingBox) -> None: ...
+    def find_communication_indices(self, direction: int, do_shift: bool = False) -> None: ...
     def get_number_of_levels(self) -> int: ...
-    @staticmethod
-    def make_shared(grid_factory: GridFactory) -> MultipleGridBuilder: ...
 
 
 class Sphere(Object):
diff --git a/pythonbindings/pyfluids-stubs/lbm.pyi b/pythonbindings/pyfluids-stubs/lbm.pyi
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/pythonbindings/src/communicator.cpp b/pythonbindings/src/communicator.cpp
index fe706bb9eba4083f2a1a705a3ee615b727de77c8..cf5157fe497ac9c08183f4c5092a150f517670b4 100644
--- a/pythonbindings/src/communicator.cpp
+++ b/pythonbindings/src/communicator.cpp
@@ -37,13 +37,13 @@
 
 namespace communicator_bindings
 {
-namespace py = pybind11;
+    namespace py = pybind11;
 
-PYBIND11_MODULE(communicator, m)
-{
-    py::class_<vf::parallel::MPICommunicator, std::shared_ptr<vf::parallel::MPICommunicator>>(m, "Communicator")
-        .def_static("get_instance", &vf::parallel::MPICommunicator::getInstance)
-        .def("get_number_of_processes", &vf::parallel::MPICommunicator::getNumberOfProcesses)
-        .def("get_process_id", py::overload_cast<>(&vf::parallel::MPICommunicator::getProcessID, py::const_));
-}
+    PYBIND11_MODULE(communicator, m)
+    {
+        py::class_<vf::parallel::MPICommunicator, std::shared_ptr<vf::parallel::MPICommunicator>>(m, "Communicator")
+            .def_static("get_instance", &vf::parallel::MPICommunicator::getInstance)
+            .def("get_number_of_processes", &vf::parallel::MPICommunicator::getNumberOfProcesses)
+            .def("get_process_id", py::overload_cast<>(&vf::parallel::MPICommunicator::getProcessID, py::const_));
+    }
 } // namespace communicator_bindings
diff --git a/pythonbindings/src/gpu/submodules/grid_generator.cpp b/pythonbindings/src/gpu/submodules/grid_generator.cpp
index 6c57900e4298094b59355e82a22433e1b647e059..e313be7cae97e8dbab47cb36b1835769657c63ab 100644
--- a/pythonbindings/src/gpu/submodules/grid_generator.cpp
+++ b/pythonbindings/src/gpu/submodules/grid_generator.cpp
@@ -92,7 +92,14 @@ namespace grid_generator
         .def("set_periodic_boundary_condition", &LevelGridBuilder::setPeriodicBoundaryCondition, py::arg("periodic_x"), py::arg("periodic_y"), py::arg("periodic_z"))
         .def("set_no_slip_boundary_condition", &LevelGridBuilder::setNoSlipBoundaryCondition, py::arg("side_type"))
         .def("set_precursor_boundary_condition", &LevelGridBuilder::setPrecursorBoundaryCondition, py::arg("side_type"), py::arg("file_collection"), py::arg("n_t_read"), py::arg("velocity_x")=c0o1, py::arg("velocity_y")=c0o1, py::arg("velocity_z")=c0o1, py::arg("file_level_to_grid_level_map")=std::vector<uint>())
-        .def("set_stress_boundary_condition", &LevelGridBuilder::setStressBoundaryCondition, py::arg("side_type"), py::arg("normal_x"), py::arg("normal_y"), py::arg("normal_z"), py::arg("sampling_offset"), py::arg("z0"), py::arg("dx"));
+        .def("set_stress_boundary_condition", &LevelGridBuilder::setStressBoundaryCondition, py::arg("side_type"), py::arg("normal_x"), py::arg("normal_y"), py::arg("normal_z"), py::arg("sampling_offset"), py::arg("z0"), py::arg("dx"))
+        .def("set_periodic_shift_on_x_boundary_in_y_direction", &LevelGridBuilder::setPeriodicShiftOnXBoundaryInYDirection, py::arg("shift"))
+        .def("set_periodic_shift_on_x_boundary_in_z_direction", &LevelGridBuilder::setPeriodicShiftOnXBoundaryInZDirection, py::arg("shift"))
+        .def("set_periodic_shift_on_y_boundary_in_x_direction", &LevelGridBuilder::setPeriodicShiftOnYBoundaryInXDirection, py::arg("shift"))
+        .def("set_periodic_shift_on_y_boundary_in_z_direction", &LevelGridBuilder::setPeriodicShiftOnYBoundaryInZDirection, py::arg("shift"))
+        .def("set_periodic_shift_on_z_boundary_in_x_direction", &LevelGridBuilder::setPeriodicShiftOnZBoundaryInXDirection, py::arg("shift"))
+        .def("set_periodic_shift_on_z_boundary_in_y_direction", &LevelGridBuilder::setPeriodicShiftOnZBoundaryInYDirection, py::arg("shift"))
+        .def("set_communication_process", &LevelGridBuilder::setCommunicationProcess, py::arg("direction"), py::arg("process"));
 
         py::class_<MultipleGridBuilder, LevelGridBuilder, std::shared_ptr<MultipleGridBuilder>>(gridGeneratorModule, "MultipleGridBuilder")
         .def(py::init())
@@ -104,8 +111,7 @@ namespace grid_generator
         .def("get_number_of_levels", &MultipleGridBuilder::getNumberOfLevels)
         .def("build_grids", &MultipleGridBuilder::buildGrids, py::arg("enable_thin_walls"))
         .def("set_subdomain_box", &MultipleGridBuilder::setSubDomainBox, py::arg("bounding_box"))
-        .def("find_communication_indices", &MultipleGridBuilder::findCommunicationIndices)
-        .def("set_communication_process", &MultipleGridBuilder::setCommunicationProcess)
+        .def("find_communication_indices", &MultipleGridBuilder::findCommunicationIndices, py::arg("direction"), py::arg("do_shift")=false)
         .def("set_number_of_layers", &MultipleGridBuilder::setNumberOfLayers, py::arg("number_of_layers_fine"), py::arg("number_of_layers_between_levels"));
 
         return gridGeneratorModule;
diff --git a/pythonbindings/src/gpu/submodules/probes.cpp b/pythonbindings/src/gpu/submodules/probes.cpp
index 5a679bb4d32b3b24fb4fe8ccd327d185e2b3a6df..3953fca579dd43bf9c2272378216fc8a982fe6bb 100644
--- a/pythonbindings/src/gpu/submodules/probes.cpp
+++ b/pythonbindings/src/gpu/submodules/probes.cpp
@@ -82,8 +82,7 @@ namespace probes
                         py::arg("t_out"),
                         py::arg("output_timeseries"))
         .def("add_probe_point", &PointProbe::addProbePoint, py::arg("point_coord_x"), py::arg("point_coord_y"), py::arg("point_coord_z"))
-        .def("add_probe_points_from_list", &PointProbe::addProbePointsFromList, py::arg("point_coords_x"), py::arg("point_coords_y"), py::arg("point_coords_z"))
-        .def("add_probe_points_from_x_normal_plane", &PointProbe::addProbePointsFromXNormalPlane, py::arg("pos_x"), py::arg("pos0_y"), py::arg("pos0_z"), py::arg("pos1_y"), py::arg("pos1_z"), py::arg("n_y"), py::arg("n_z"));
+        .def("add_probe_points_from_list", &PointProbe::addProbePointsFromList, py::arg("point_coords_x"), py::arg("point_coords_y"), py::arg("point_coords_z"));
 
         py::class_<PlaneProbe, Probe, std::shared_ptr<PlaneProbe>>(probeModule, "PlaneProbe")
         .def(py::init<
diff --git a/src/cpu/core/LBM/CumulantK17LBMKernel.cpp b/src/cpu/core/LBM/CumulantK17LBMKernel.cpp
index 9c89f6c6b549fed93fca097232bcc086e3c380a8..ec59cf3493c327d9b485d387cc8e2aa913fddbc9 100644
--- a/src/cpu/core/LBM/CumulantK17LBMKernel.cpp
+++ b/src/cpu/core/LBM/CumulantK17LBMKernel.cpp
@@ -39,10 +39,13 @@
 #include "Block3D.h"
 #include "BCArray3D.h"
 
+#include <lbm/ChimeraTransformation.h>
+
 #define PROOF_CORRECTNESS
 
 //using namespace UbMath;
 using namespace vf::basics::constant;
+using namespace vf::lbm;
 
 //////////////////////////////////////////////////////////////////////////
 CumulantK17LBMKernel::CumulantK17LBMKernel()
diff --git a/src/cpu/core/LBM/CumulantK17LBMKernel.h b/src/cpu/core/LBM/CumulantK17LBMKernel.h
index 2bcdf8551bef28aa46932a180268f05873d7ecc0..aa202d7894243cd407ec30db94e0678d72b68aea 100644
--- a/src/cpu/core/LBM/CumulantK17LBMKernel.h
+++ b/src/cpu/core/LBM/CumulantK17LBMKernel.h
@@ -58,11 +58,6 @@ public:
     real getCalculationTime() override { return .0; }
 
 protected:
-    inline void forwardInverseChimeraWithK(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K);
-    inline void backwardInverseChimeraWithK(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K);
-    inline void forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2);
-    inline void backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2);
-
     virtual void initDataSet();
     real f[D3Q27System::ENDF + 1];
 
@@ -78,77 +73,4 @@ protected:
     real forcingX3;
 };
 
-////////////////////////////////////////////////////////////////////////////////
-//! \brief forward chimera transformation \ref forwardInverseChimeraWithK
-//! Transformation from distributions to central moments according to Eq. (6)-(14) in
-//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-//! Modified for lower round-off errors.
-////////////////////////////////////////////////////////////////////////////////
-inline void CumulantK17LBMKernel::forwardInverseChimeraWithK(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K)
-{
-//    using namespace UbMath;
-    using namespace vf::basics::constant;
-    real m2 = mfa + mfc;
-    real m1 = mfc - mfa;
-    real m0 = m2 + mfb;
-    mfa = m0;
-    m0 *= Kinverse;
-    m0 += c1o1;
-    mfb = (m1 * Kinverse - m0 * vv) * K;
-    mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K;
-}
-////////////////////////////////////////////////////////////////////////////////
-//! \brief backward chimera transformation \ref backwardInverseChimeraWithK
-//! Transformation from central moments to distributions according to Eq. (57)-(65) in
-//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-//! ] Modified for lower round-off errors.
-////////////////////////////////////////////////////////////////////////////////
-inline void CumulantK17LBMKernel::backwardInverseChimeraWithK(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K)
-{
-//    using namespace UbMath;
-    using namespace vf::basics::constant;
- 
-    real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + c1o1) * (v2 - vv) * c1o2) * K;
-    real m1 = (((mfa - mfc) - c2o1 * mfb * vv) * Kinverse + (mfa * Kinverse + c1o1) * (-v2)) * K;
-    mfc = (((mfc + mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + c1o1) * (v2 + vv) * c1o2) * K;
-    mfa = m0;
-    mfb = m1;
-}
-////////////////////////////////////////////////////////////////////////////////
-//! \brief forward chimera transformation \ref forwardChimera
-//! Transformation from distributions to central moments according to Eq. (6)-(14) in
-//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-//! for \f$ K_{abc}=0 \f$. This is to avoid unnessary floating point operations.
-//! Modified for lower round-off errors.
-////////////////////////////////////////////////////////////////////////////////
-inline void CumulantK17LBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2)
-{
-//    using namespace UbMath;
-    using namespace vf::basics::constant;
-    
-    real m1 = (mfa + mfc) + mfb;
-    real m2 = mfc - mfa;
-    mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2);
-    mfb = m2 - vv * m1;
-    mfa = m1;
-}
-////////////////////////////////////////////////////////////////////////////////
-//! \brief backward chimera transformation \ref backwardChimera
-//! Transformation from central moments to distributions according to Eq. (57)-(65) in
-//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-//! for \f$ K_{abc}=0 \f$. This is to avoid unnessary floating point operations.
-//! Modified for lower round-off errors.
-////////////////////////////////////////////////////////////////////////////////
-inline void CumulantK17LBMKernel::backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2)
-{
-//    using namespace UbMath;
-    using namespace vf::basics::constant;
-
-    real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2);
-    real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv;
-    mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2);
-    mfb = mb;
-    mfa = ma;
-}
-
 #endif // CumulantK17LBMKernel_h__
diff --git a/src/gpu/GridGenerator/geometries/Arrow/Arrow.h b/src/gpu/GridGenerator/geometries/Arrow/Arrow.h
index 945f1e3a8af7bd14fb9c3a8d5d9d26ab7405a7b7..682443c17639247ee9002957dffa10f98c39e465 100644
--- a/src/gpu/GridGenerator/geometries/Arrow/Arrow.h
+++ b/src/gpu/GridGenerator/geometries/Arrow/Arrow.h
@@ -40,14 +40,14 @@ struct Vertex;
 class Arrow 
 {
 public:
-	virtual ~Arrow() {};
+    virtual ~Arrow() {};
 protected:
-	Arrow() {};
+    Arrow() {};
 
 public:
-	virtual std::shared_ptr<Vertex> getStart() const = 0;
-	virtual std::shared_ptr<Vertex> getEnd() const = 0;
-	virtual void print() const = 0;
+    virtual std::shared_ptr<Vertex> getStart() const = 0;
+    virtual std::shared_ptr<Vertex> getEnd() const = 0;
+    virtual void print() const = 0;
 };
 
 
diff --git a/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.cpp b/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.cpp
index f7ee7330c6c57f076fd4f45c8bf7a3f0749df6a1..dda8253dc035dc0566d47780a0b1169f7c627abb 100644
--- a/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.cpp
+++ b/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.cpp
@@ -36,7 +36,7 @@
 
  std::shared_ptr<Arrow> ArrowImp::make(const Vertex &start, const Vertex &end)
 {
-	return std::shared_ptr<ArrowImp>(new ArrowImp(start, end));
+    return std::shared_ptr<ArrowImp>(new ArrowImp(start, end));
 }
 
 ArrowImp::ArrowImp(const Vertex &start, const Vertex &end) : start(std::make_shared<Vertex>(start)), end(std::make_shared<Vertex>(end))
@@ -51,19 +51,19 @@ ArrowImp::~ArrowImp()
 
 std::shared_ptr<Vertex> ArrowImp::getStart() const
 {
-	return this->start;
+    return this->start;
 }
 
 std::shared_ptr<Vertex> ArrowImp::getEnd() const
 {
-	return this->end;
+    return this->end;
 }
 
 void ArrowImp::print() const
 {
-	printf("v1: ");
-	start->print();
-	printf("v2: ");
-	end->print();
+    printf("v1: ");
+    start->print();
+    printf("v2: ");
+    end->print();
 }
 
diff --git a/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.h b/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.h
index 1fb509e0c6092dd3f00d4abf1849014191425db2..bd074b5f26978b3d7df8104919fb3426b9a3094a 100644
--- a/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.h
+++ b/src/gpu/GridGenerator/geometries/Arrow/ArrowImp.h
@@ -44,18 +44,18 @@ struct Vertex;
 class ArrowImp : public Arrow 
 {
 public:
-	GRIDGENERATOR_EXPORT virtual ~ArrowImp();
-	GRIDGENERATOR_EXPORT static std::shared_ptr<Arrow> make(const Vertex &start, const Vertex &end);
+    GRIDGENERATOR_EXPORT virtual ~ArrowImp();
+    GRIDGENERATOR_EXPORT static std::shared_ptr<Arrow> make(const Vertex &start, const Vertex &end);
 
-	GRIDGENERATOR_EXPORT std::shared_ptr<Vertex> getStart() const;
-	GRIDGENERATOR_EXPORT std::shared_ptr<Vertex> getEnd() const;
+    GRIDGENERATOR_EXPORT std::shared_ptr<Vertex> getStart() const;
+    GRIDGENERATOR_EXPORT std::shared_ptr<Vertex> getEnd() const;
 
-	GRIDGENERATOR_EXPORT void print() const;
+    GRIDGENERATOR_EXPORT void print() const;
 private:
-	ArrowImp(const Vertex &start, const Vertex &end);
+    ArrowImp(const Vertex &start, const Vertex &end);
 
-	std::shared_ptr<Vertex> start;
-	std::shared_ptr<Vertex> end;
+    std::shared_ptr<Vertex> start;
+    std::shared_ptr<Vertex> end;
 };
 
 
diff --git a/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cpp b/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cpp
index 1532e57e8cc4b0db93ed79c03074d7845ff9c87f..cd969e8fbb5f1f3aa309e852164c2c713840a292 100644
--- a/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cpp
+++ b/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.cpp
@@ -94,85 +94,85 @@
  bool BoundingBox::isInside(const Vertex &v) const
  {
      if (v.isXbetween(minX, maxX) && v.isYbetween(minY, maxY) && v.isZbetween(minZ, maxZ))
-		 return true;
-	 return false;
+         return true;
+     return false;
  }
 
  std::vector<std::vector<Vertex> > BoundingBox::getIntersectionPoints(const BoundingBox &b) const
  {
-	 std::vector<std::vector<Vertex> > intersectionBox;
-	 intersectionBox.resize(6);
-
-	 int intersects = 0;
-	 if (b.minX < maxX && b.maxX > maxX) { //maxX is intersect
-		 intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)maxX, (real)maxY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)maxZ));
-		 intersects++;
-	 }
-	 if (b.minX < minX && b.maxX > minX) { //minX is intersect
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)maxZ));
-		 intersects++;
-	 }
-	 if (b.minY < minY && b.maxY > minY) { //minY is intersect
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)maxZ));
-		 intersects++;
-	 }
-	 if (b.minY < maxY && b.maxY > maxY) { //maxY is intersect
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)maxX, (real)maxY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)maxZ));
-		 intersects++;
-	 }
-	 if (b.minZ < minZ && b.maxZ > minZ) { //minZ is intersect
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)minZ));
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)minZ));
-		 intersects++;
-	 }
-	 if (b.minZ < maxZ && b.maxZ > maxZ) { //maxZ is intersect
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)maxZ));
-		 intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)maxZ));
-		 intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)maxZ));
-		 intersects++;
-	 }
-
-	 return intersectionBox;
+     std::vector<std::vector<Vertex> > intersectionBox;
+     intersectionBox.resize(6);
+
+     int intersects = 0;
+     if (b.minX < maxX && b.maxX > maxX) { //maxX is intersect
+         intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)maxX, (real)maxY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)maxZ));
+         intersects++;
+     }
+     if (b.minX < minX && b.maxX > minX) { //minX is intersect
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)maxZ));
+         intersects++;
+     }
+     if (b.minY < minY && b.maxY > minY) { //minY is intersect
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)maxZ));
+         intersects++;
+     }
+     if (b.minY < maxY && b.maxY > maxY) { //maxY is intersect
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)maxX, (real)maxY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)maxZ));
+         intersects++;
+     }
+     if (b.minZ < minZ && b.maxZ > minZ) { //minZ is intersect
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)minZ));
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)minZ));
+         intersects++;
+     }
+     if (b.minZ < maxZ && b.maxZ > maxZ) { //maxZ is intersect
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)minY, (real)maxZ));
+         intersectionBox[intersects].push_back(Vertex((real)maxX, (real)minY, (real)maxZ));
+         intersectionBox[intersects].push_back(Vertex((real)minX, (real)maxY, (real)maxZ));
+         intersects++;
+     }
+
+     return intersectionBox;
  }
 
  bool BoundingBox::intersect(const BoundingBox &box) const
  {
-	 struct Vertex v[8];
-	 box.getPoints(v);
-
-	 for (int i = 0; i < 8; i++) {
-		 if (isInside(v[i]))
-			 return true;
-	 }
-	 return false;
+     struct Vertex v[8];
+     box.getPoints(v);
+
+     for (int i = 0; i < 8; i++) {
+         if (isInside(v[i]))
+             return true;
+     }
+     return false;
  }
 
  void BoundingBox::getPoints(Vertex v[8]) const
  {
-	 v[0] = Vertex(minX, minY, minZ);
-	 v[1] = Vertex(maxX, minY, minZ);
-	 v[2] = Vertex(minX, maxY, minZ);
-	 v[3] = Vertex(maxX, maxY, minZ);
-
-	 v[4] = Vertex(minX, minY, maxZ);
-	 v[5] = Vertex(maxX, minY, maxZ);
-	 v[6] = Vertex(minX, maxY, maxZ);
-	 v[7] = Vertex(maxX, maxY, maxZ);
+     v[0] = Vertex(minX, minY, minZ);
+     v[1] = Vertex(maxX, minY, minZ);
+     v[2] = Vertex(minX, maxY, minZ);
+     v[3] = Vertex(maxX, maxY, minZ);
+
+     v[4] = Vertex(minX, minY, maxZ);
+     v[5] = Vertex(maxX, minY, maxZ);
+     v[6] = Vertex(minX, maxY, maxZ);
+     v[7] = Vertex(maxX, maxY, maxZ);
  }
 
 
  void BoundingBox::print() const
  {
-	 printf("min/max - x: %2.4f/ %2.4f, y: %2.4f, %2.4f, z: %2.4f, %2.4f \n", minX, maxX, minY, maxY, minZ, maxZ);
+     printf("min/max - x: %2.4f/ %2.4f, y: %2.4f, %2.4f, z: %2.4f, %2.4f \n", minX, maxX, minY, maxY, minZ, maxZ);
  }
 
 
diff --git a/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.h b/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.h
index 2a495d3a4b7a4854079b62ba979baaea0d7db5f0..04ebd3a373004db40ff2510519ec6f66f627575e 100644
--- a/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.h
+++ b/src/gpu/GridGenerator/geometries/BoundingBox/BoundingBox.h
@@ -44,14 +44,14 @@ struct Triangle;
 class GRIDGENERATOR_EXPORT BoundingBox
 {
 public:
-	real minX;
-	real maxX;
-	real minY;
-	real maxY;
-	real minZ;
-	real maxZ;
+    real minX;
+    real maxX;
+    real minY;
+    real maxY;
+    real minZ;
+    real maxZ;
 
-	BoundingBox(real minX, real maxX, real minY, real maxY, real minZ, real maxZ);
+    BoundingBox(real minX, real maxX, real minY, real maxY, real minZ, real maxZ);
     BoundingBox() = default;
 
 public:
@@ -60,20 +60,20 @@ public:
     void setMinMax(const Triangle &t);
     void print() const;
 
-	bool isInside(const Triangle &t) const;
+    bool isInside(const Triangle &t) const;
     bool isInside(const real x, const real y, const real z) const;
     bool intersect(const Triangle &t) const;
 
-	std::vector<std::vector<Vertex> > getIntersectionPoints(const BoundingBox &b) const;
-	bool intersect(const BoundingBox &box) const;
+    std::vector<std::vector<Vertex> > getIntersectionPoints(const BoundingBox &b) const;
+    bool intersect(const BoundingBox &box) const;
 
     bool operator==(const BoundingBox &box) const;
     
     void extend(real delta);
 
 private:
-	bool isInside(const Vertex &v) const;
-	void getPoints(Vertex v[8]) const;
+    bool isInside(const Vertex &v) const;
+    void getPoints(Vertex v[8]) const;
 
 };
 
diff --git a/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cpp b/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cpp
index 821a385dfa88678b59bcc98d3eb18ea937395469..949220d07df0ea14c098db03509b629393a59e1c 100644
--- a/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cpp
+++ b/src/gpu/GridGenerator/geometries/Conglomerate/Conglomerate.cpp
@@ -104,7 +104,7 @@ double Conglomerate::getX2Minimum() const
     for (uint i = 1; i < numberOfAddObjects; i++)
         minimum = getMinimum(minimum, addObjects[i]->getX2Minimum());
     return minimum;
-}	
+}    
 
 double Conglomerate::getX2Maximum() const
 {
@@ -125,7 +125,7 @@ double Conglomerate::getX3Minimum() const
     for (uint i = 1; i < numberOfAddObjects; i++)
         minimum = getMinimum(minimum, addObjects[i]->getX3Minimum());
     return minimum;
-}	
+}    
 
 double Conglomerate::getX3Maximum() const
 {
diff --git a/src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cpp b/src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cpp
index f5fa08ec8ee17ef3b0aaa1d8f6176e0506fbfab3..de8afcd87802cc18f9e76ceb3d514997519dc404 100644
--- a/src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cpp
+++ b/src/gpu/GridGenerator/geometries/Cuboid/Cuboid.cpp
@@ -69,7 +69,7 @@ double Cuboid::getX2Centroid() const
 double Cuboid::getX2Minimum() const
 {
     return getMinimum(minX2, maxX2);
-}	
+}    
 
 double Cuboid::getX2Maximum() const
 {
@@ -82,9 +82,9 @@ double Cuboid::getX3Centroid() const
 }
 
 double Cuboid::getX3Minimum() const
-{	
+{
     return getMinimum(minX3, maxX3);
-}	
+}    
 
 double Cuboid::getX3Maximum() const
 {
diff --git a/src/gpu/GridGenerator/geometries/Triangle/Triangle.cpp b/src/gpu/GridGenerator/geometries/Triangle/Triangle.cpp
index 8d459e75b5b27c5d5a1c9e645b08b5fc663e8be6..8f9b2490526ccc4ade74bf2140276879dd637da1 100644
--- a/src/gpu/GridGenerator/geometries/Triangle/Triangle.cpp
+++ b/src/gpu/GridGenerator/geometries/Triangle/Triangle.cpp
@@ -219,8 +219,8 @@ real Triangle::getHalfAngleBetweenToAdjacentTriangle(const Triangle &t2) const
     if (isEqual(t2)) return 0.0f;
 
     real alpha = normal.getInnerAngle(t2.normal);
-	if (alpha == 0.0f)
-		return 90.0f;
+    if (alpha == 0.0f)
+        return 90.0f;
 
     if(doesNormalsShowToEachOther(t2))
         return (180.0f + alpha) / 2.0f;
@@ -246,12 +246,12 @@ bool Triangle::doesNormalsShowToEachOther(const  Triangle &t2) const
 int Triangle::getCommonEdge(const Triangle &t2) const 
 {
     bool edgeOneCommon = false;
-	bool edgeTwoCommon = false;
-	bool edgeThreeCommon = false;
+    bool edgeTwoCommon = false;
+    bool edgeThreeCommon = false;
 
-	edgeOneCommon = t2.contains(v1);
-	edgeTwoCommon = t2.contains(v2);
-	edgeThreeCommon = t2.contains(v3);
+    edgeOneCommon = t2.contains(v1);
+    edgeTwoCommon = t2.contains(v2);
+    edgeThreeCommon = t2.contains(v3);
 
     if (edgeOneCommon && edgeTwoCommon)
         return 0;
@@ -265,19 +265,19 @@ int Triangle::getCommonEdge(const Triangle &t2) const
 
 bool Triangle::contains(const Vertex& v) const 
 {
-	return (v == v1 || v == v2 || v == v3);
+    return (v == v1 || v == v2 || v == v3);
 }
 
 
 int Triangle::getNumberOfCommonEdge(const Triangle &t2) const
 {
-	int commonEdge = 0;
-	if (t2.contains(v1))
-		commonEdge++;
-	if (t2.contains(v2))
-		commonEdge++;
-	if (t2.contains(v3))
-		commonEdge++;
+    int commonEdge = 0;
+    if (t2.contains(v1))
+        commonEdge++;
+    if (t2.contains(v2))
+        commonEdge++;
+    if (t2.contains(v3))
+        commonEdge++;
 
     if (commonEdge == 2 || commonEdge == 3) return commonEdge;
     return 0;
@@ -286,8 +286,8 @@ int Triangle::getNumberOfCommonEdge(const Triangle &t2) const
 
 int Triangle::getTriangleIntersection(const Vertex &P, const Vertex &direction, Vertex &pointOnTri, real &qVal) const
 {
-	///// taken from /////
-	//http://www.scratchapixel.com/lessons/3d-basic-rendering/ray-tracing-rendering-a-triangle/moller-trumbore-ray-triangle-intersection
+    ///// taken from /////
+    //http://www.scratchapixel.com/lessons/3d-basic-rendering/ray-tracing-rendering-a-triangle/moller-trumbore-ray-triangle-intersection
 
 
     Vertex edge1, edge2, tvec, pvec, qvec, tuv;
@@ -307,14 +307,14 @@ int Triangle::getTriangleIntersection(const Vertex &P, const Vertex &direction,
     tvec = P - v1;
     tuv.y = (tvec * pvec) * inv_det;
 
-	if (!vf::Math::greaterEqual(tuv.y, 0.0) || !vf::Math::lessEqual(tuv.y, 1.0))
-	//if (tuv.y < 0.0 || tuv.y > 1.0)
+    if (!vf::Math::greaterEqual(tuv.y, 0.0) || !vf::Math::lessEqual(tuv.y, 1.0))
+    //if (tuv.y < 0.0 || tuv.y > 1.0)
         return 1;
 
     qvec = tvec.crossProduct(edge1);
     tuv.z = (direction * qvec) * inv_det;
 
-	if ( !vf::Math::greaterEqual(tuv.z, 0.0) || !vf::Math::lessEqual((tuv.y + tuv.z), 1.0))
+    if ( !vf::Math::greaterEqual(tuv.z, 0.0) || !vf::Math::lessEqual((tuv.y + tuv.z), 1.0))
     //if (tuv.z < 0.0 || (tuv.y + tuv.z) > 1.0)
         return 2;
 
diff --git a/src/gpu/GridGenerator/geometries/Triangle/Triangle.h b/src/gpu/GridGenerator/geometries/Triangle/Triangle.h
index 0c62f2c0db5ced3c749c2ffd6196087192aab3df..abc3857295386b7104c19d36c004c47daf864f2c 100644
--- a/src/gpu/GridGenerator/geometries/Triangle/Triangle.h
+++ b/src/gpu/GridGenerator/geometries/Triangle/Triangle.h
@@ -48,28 +48,28 @@ struct GRIDGENERATOR_EXPORT Triangle
     
     uint patchIndex;
 
-	Triangle(Vertex &v1, Vertex &v2, Vertex &v3, Vertex &normal);
-	Triangle(Vertex &v1, Vertex &v2, Vertex &v3);
-	Triangle();
+    Triangle(Vertex &v1, Vertex &v2, Vertex &v3, Vertex &normal);
+    Triangle(Vertex &v1, Vertex &v2, Vertex &v3);
+    Triangle();
 
-	void set(const Vertex &v1, const Vertex &v2, const Vertex &v3);
+    void set(const Vertex &v1, const Vertex &v2, const Vertex &v3);
     void set(int index, Vertex value);
     Vertex get(int index);
-	void calcNormal();
+    void calcNormal();
 
     void initalLayerThickness(real delta);
 
 
-	Vertex getCenterOfMass() const;
-	real getHalfAngleBetweenToAdjacentTriangle(const Triangle &t2) const;
-	int isEqual(const Triangle &t2) const;
-	bool doesNormalsShowToEachOther(const  Triangle &t2) const;
-	int getCommonEdge(const Triangle &t2) const;
+    Vertex getCenterOfMass() const;
+    real getHalfAngleBetweenToAdjacentTriangle(const Triangle &t2) const;
+    int isEqual(const Triangle &t2) const;
+    bool doesNormalsShowToEachOther(const  Triangle &t2) const;
+    int getCommonEdge(const Triangle &t2) const;
 
-	bool contains(const Vertex& v)const;
-	int getNumberOfCommonEdge(const Triangle &t2) const;
-	int getTriangleIntersection(const Vertex &P, const Vertex &direction, Vertex &pointOnTri, real &qVal) const;
-	void print() const;
+    bool contains(const Vertex& v)const;
+    int getNumberOfCommonEdge(const Triangle &t2) const;
+    int getTriangleIntersection(const Vertex &P, const Vertex &direction, Vertex &pointOnTri, real &qVal) const;
+    void print() const;
 
     char isUnderFace(const Vertex &point) const;
 
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.h b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.h
index 2b42ff3ad2dacaade3bbc8da4f6d4b3c61b14442..91ed94ef7e12ee0fbfc9b28c05de0128c25a1814 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.h
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.h
@@ -60,7 +60,7 @@ public:
     std::vector< std::vector<Triangle> > getTrianglesPerVertex() const;
 
     void GRIDGENERATOR_EXPORT fillWithNeighborIndices(IntegerPtr2D *indices, Triangle *triangles);
-	void GRIDGENERATOR_EXPORT fillWithNeighborAngles(TriangularMesh *geom) const;
+    void GRIDGENERATOR_EXPORT fillWithNeighborAngles(TriangularMesh *geom) const;
 
     void printSortedToTriangles() const;
     void printSortedInSpace() const;
diff --git a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.cpp b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.cpp
index c1babac2324e80362c62c2b448cd1e309d7c5adf..4a0700fa79b078b210ac7195292632a203fb6f97 100644
--- a/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.cpp
+++ b/src/gpu/GridGenerator/geometries/TriangularMesh/triangleRefinement/TriangleRefinement.cpp
@@ -59,14 +59,14 @@ void TriangleRefinement::redoubleTriangles()
 void TriangleRefinement::refineUntilMinDistance(double d_min)
 {
     double d = 10e9;
-	int counter = 0;
+    int counter = 0;
 
-	while (d > d_min) {
+    while (d > d_min) {
         int triangleToRefine = findIndexFromTriangleWithLongestEdge(&d);
         refine(triangleToRefine);
 
         counter++;
-		if (counter % 50 == 0)
+        if (counter % 50 == 0)
             printf("triangle refine: %d, actual dMAX = %2.6f, d_min = %2.6f\n", counter, d, d_min);
 
     }
diff --git a/src/gpu/GridGenerator/geometries/Vertex/Vertex.cpp b/src/gpu/GridGenerator/geometries/Vertex/Vertex.cpp
index 100e88dda9567a43f90ea346260164b30f06e2c9..b2188df24c48438fd46ae3c4a3efc45c71e72779 100644
--- a/src/gpu/GridGenerator/geometries/Vertex/Vertex.cpp
+++ b/src/gpu/GridGenerator/geometries/Vertex/Vertex.cpp
@@ -139,7 +139,7 @@ void Vertex::printFormatted(std::ostream &ost) const
 
 bool Vertex::operator==(const Vertex &v) const
 {
-	return vf::Math::equal(x, v.x) && vf::Math::equal(y, v.y) && vf::Math::equal(z, v.z);
+    return vf::Math::equal(x, v.x) && vf::Math::equal(y, v.y) && vf::Math::equal(z, v.z);
 }
 
 
diff --git a/src/gpu/GridGenerator/geometries/Vertex/Vertex.h b/src/gpu/GridGenerator/geometries/Vertex/Vertex.h
index 48e4712d7d701e3710c6ff7c0876e3f762a464d9..78e6f775a87f54b665be18ff383e7811a7a97e34 100644
--- a/src/gpu/GridGenerator/geometries/Vertex/Vertex.h
+++ b/src/gpu/GridGenerator/geometries/Vertex/Vertex.h
@@ -44,24 +44,24 @@ struct GRIDGENERATOR_EXPORT Vertex
 public:
     real x, y, z;
 
-	Vertex(real x, real y, real z);
-	Vertex();
+    Vertex(real x, real y, real z);
+    Vertex();
 
-	real getEuclideanDistanceTo(const Vertex &w) const;
-	Vertex operator-(const Vertex &v) const;
-	Vertex operator+(const Vertex &v) const;
-	Vertex operator*(const real& value) const;
+    real getEuclideanDistanceTo(const Vertex &w) const;
+    Vertex operator-(const Vertex &v) const;
+    Vertex operator+(const Vertex &v) const;
+    Vertex operator*(const real& value) const;
     Vertex operator/(const real& value) const;
 
-	real operator*(const Vertex &w) const;
-	struct Vertex crossProduct(const Vertex &w) const;
-	real length() const;
-	void normalize();
-	real getMagnitude() const;
-	int isEqual(const Vertex &w) const;
-	real getInnerAngle(const Vertex &w) const;
+    real operator*(const Vertex &w) const;
+    struct Vertex crossProduct(const Vertex &w) const;
+    real length() const;
+    void normalize();
+    real getMagnitude() const;
+    int isEqual(const Vertex &w) const;
+    real getInnerAngle(const Vertex &w) const;
 
-	bool operator==(const Vertex &v) const;
+    bool operator==(const Vertex &v) const;
 
     bool isXbetween(real min, real max) const;
     bool isYbetween(real min, real max) const;
diff --git a/src/gpu/GridGenerator/grid/Grid.h b/src/gpu/GridGenerator/grid/Grid.h
index 44274b4e2b7c290e68b7f47470e70ef317206ddc..108f1a8ae097946bb974deb6ee9aedfdd379e907 100644
--- a/src/gpu/GridGenerator/grid/Grid.h
+++ b/src/gpu/GridGenerator/grid/Grid.h
@@ -139,6 +139,13 @@ public:
     virtual bool getPeriodicityY() const = 0;
     virtual bool getPeriodicityZ() const = 0;
 
+    virtual void setPeriodicBoundaryShiftsOnXinY(real shift) = 0;
+    virtual void setPeriodicBoundaryShiftsOnXinZ(real shift) = 0;
+    virtual void setPeriodicBoundaryShiftsOnYinX(real shift) = 0;
+    virtual void setPeriodicBoundaryShiftsOnYinZ(real shift) = 0;
+    virtual void setPeriodicBoundaryShiftsOnZinX(real shift) = 0;
+    virtual void setPeriodicBoundaryShiftsOnZinY(real shift) = 0;
+
     virtual void setEnableFixRefinementIntoTheWall(bool enableFixRefinementIntoTheWall) = 0;
 
     virtual void freeMemory() = 0;
@@ -160,7 +167,7 @@ public:
 
     virtual void setNumberOfLayers(uint numberOfLayers) = 0;
 
-    virtual void findCommunicationIndices(int direction, SPtr<BoundingBox> subDomainBox) = 0;
+    virtual void findCommunicationIndices(int direction, SPtr<BoundingBox> subDomainBox, bool doShift) = 0;
 
     virtual uint getNumberOfSendNodes(int direction)    = 0;
     virtual uint getNumberOfReceiveNodes(int direction) = 0;
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
index 2ebba61fc765b424feb485cf0a741896ff868636..a771b6327395b12df191c444aba7d5ce71abf093 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
+++ b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
@@ -207,13 +207,61 @@ void LevelGridBuilder::setPressureBoundaryCondition(SideType sideType, real rho)
         VF_LOG_INFO("Set Pressure BC on level {} with {}", level, pressureBoundaryCondition->indices.size());
     }
 }
-
 void LevelGridBuilder::setPeriodicBoundaryCondition(bool periodic_X, bool periodic_Y, bool periodic_Z)
 {
     for( uint level = 0; level < this->grids.size(); level++ )
         grids[level]->setPeriodicity(periodic_X, periodic_Y, periodic_Z);
 }
 
+real adjustShift(real shift, real delta, real length)
+{
+    shift = std::fmod(shift, length);
+    shift = shift < 0 ? shift + length : shift;
+    return std::rint(shift/delta) * delta;
+}
+
+void LevelGridBuilder::setPeriodicShiftOnXBoundaryInYDirection(real shift)
+{
+    shift = adjustShift(shift, grids[0]->getDelta(), grids[0]->getEndY() - grids[0]->getStartY());
+    for( uint level = 0; level < this->grids.size(); level++ )
+        grids[level]->setPeriodicBoundaryShiftsOnXinY(shift);
+}
+
+void LevelGridBuilder::setPeriodicShiftOnXBoundaryInZDirection(real shift)
+{
+    shift = adjustShift(shift, grids[0]->getDelta(), grids[0]->getEndZ() - grids[0]->getStartZ());
+    for( uint level = 0; level < this->grids.size(); level++ )
+        grids[level]->setPeriodicBoundaryShiftsOnXinZ(shift);
+}
+
+void LevelGridBuilder::setPeriodicShiftOnYBoundaryInXDirection(real shift)
+{
+    shift = adjustShift(shift, grids[0]->getDelta(), grids[0]->getEndX() - grids[0]->getStartX());
+    for( uint level = 0; level < this->grids.size(); level++ )
+        grids[level]->setPeriodicBoundaryShiftsOnYinX(shift);
+}
+
+void LevelGridBuilder::setPeriodicShiftOnYBoundaryInZDirection(real shift)
+{
+    shift = adjustShift(shift, grids[0]->getDelta(), grids[0]->getEndZ() - grids[0]->getStartZ());
+    for( uint level = 0; level < this->grids.size(); level++ )
+        grids[level]->setPeriodicBoundaryShiftsOnYinZ(shift);
+}
+
+void LevelGridBuilder::setPeriodicShiftOnZBoundaryInXDirection(real shift)
+{
+    shift = adjustShift(shift, grids[0]->getDelta(), grids[0]->getEndX() - grids[0]->getStartX());
+    for( uint level = 0; level < this->grids.size(); level++ )
+        grids[level]->setPeriodicBoundaryShiftsOnZinX(shift);
+}
+
+void LevelGridBuilder::setPeriodicShiftOnZBoundaryInYDirection(real shift)
+{
+    shift = adjustShift(shift, grids[0]->getDelta(), grids[0]->getEndY() - grids[0]->getStartY());
+    for( uint level = 0; level < this->grids.size(); level++ )
+        grids[level]->setPeriodicBoundaryShiftsOnZinY(shift);
+}
+
 void LevelGridBuilder::setNoSlipBoundaryCondition(SideType sideType)
 {
     if (sideType == SideType::GEOMETRY)
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.h b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.h
index 6ac2fb61f788152b9652c4b79ceddbb1e93ef3d3..c9b2d9231cc51af3d7a5725c381cfd8f565cd49b 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.h
+++ b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.h
@@ -85,6 +85,12 @@ public:
     GRIDGENERATOR_EXPORT void setVelocityBoundaryCondition(SideType sideType, real vx, real vy, real vz);
     GRIDGENERATOR_EXPORT void setPressureBoundaryCondition(SideType sideType, real rho);
     GRIDGENERATOR_EXPORT void setPeriodicBoundaryCondition(bool periodic_X, bool periodic_Y, bool periodic_Z);
+    GRIDGENERATOR_EXPORT void setPeriodicShiftOnXBoundaryInYDirection(real shift);
+    GRIDGENERATOR_EXPORT void setPeriodicShiftOnXBoundaryInZDirection(real shift);
+    GRIDGENERATOR_EXPORT void setPeriodicShiftOnYBoundaryInXDirection(real shift);
+    GRIDGENERATOR_EXPORT void setPeriodicShiftOnYBoundaryInZDirection(real shift);
+    GRIDGENERATOR_EXPORT void setPeriodicShiftOnZBoundaryInXDirection(real shift);
+    GRIDGENERATOR_EXPORT void setPeriodicShiftOnZBoundaryInYDirection(real shift);
     GRIDGENERATOR_EXPORT void setNoSlipBoundaryCondition(SideType sideType);
     GRIDGENERATOR_EXPORT void setPrecursorBoundaryCondition(SideType sideType, SPtr<FileCollection> fileCollection, int timeStepsBetweenReads,
                                                             real velocityX=c0o1, real velocityY=c0o1, real velocityZ=c0o1,
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp
index 627f9204effdd5a6c59b88221426503dafda5bd8..44ce26003bce9396787ea039184e72aff70a7ebd 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp
+++ b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.cpp
@@ -296,12 +296,12 @@ std::array<real, 6> MultipleGridBuilder::getStaggeredCoordinates(SPtr<Object> gr
     //  Step  4)                |                 x<------                                      |      ------>x     |
     //  Step  5)                |                      |                                        | x<--x<--x<--      |
     //
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
     const real deltaCoarse = this->grids[level - 1]->getDelta();
     const real delta = gridIsForRotation ? deltaCoarse : 0.5 * deltaCoarse;
 
-	std::array<real, 6> staggeredCoordinates;
+    std::array<real, 6> staggeredCoordinates;
 
     real X1Minimum = gridShape->getX1Minimum();
     real X2Minimum = gridShape->getX2Minimum();
@@ -333,41 +333,42 @@ std::array<real, 6> MultipleGridBuilder::getStaggeredCoordinates(SPtr<Object> gr
         X3Maximum += overlap;
     }
 
-	// Step 1
+    // Step 1
     // go to boundary of coarse grid
-	staggeredCoordinates[0] = this->grids[level-1]->getStartX();
-	staggeredCoordinates[1] = this->grids[level-1]->getStartY();
-	staggeredCoordinates[2] = this->grids[level-1]->getStartZ();
-	staggeredCoordinates[3] = this->grids[level-1]->getEndX();
-	staggeredCoordinates[4] = this->grids[level-1]->getEndY();
-	staggeredCoordinates[5] = this->grids[level-1]->getEndZ();
-
-	// Step 2
+    staggeredCoordinates[0] = this->grids[level-1]->getStartX();
+    staggeredCoordinates[1] = this->grids[level-1]->getStartY();
+    staggeredCoordinates[2] = this->grids[level-1]->getStartZ();
+    staggeredCoordinates[3] = this->grids[level-1]->getEndX();
+    staggeredCoordinates[4] = this->grids[level-1]->getEndY();
+    staggeredCoordinates[5] = this->grids[level-1]->getEndZ();
+
+    // Step 2
     // move to first coarse node in refinement region
-	while (staggeredCoordinates[0] < X1Minimum) staggeredCoordinates[0] += deltaCoarse;
-	while (staggeredCoordinates[1] < X2Minimum) staggeredCoordinates[1] += deltaCoarse;
-	while (staggeredCoordinates[2] < X3Minimum) staggeredCoordinates[2] += deltaCoarse;
-	while (staggeredCoordinates[3] > X1Maximum) staggeredCoordinates[3] -= deltaCoarse;
-	while (staggeredCoordinates[4] > X2Maximum) staggeredCoordinates[4] -= deltaCoarse;
-	while (staggeredCoordinates[5] > X3Maximum) staggeredCoordinates[5] -= deltaCoarse;
-
-	// Step 3
+    while (staggeredCoordinates[0] < X1Minimum) staggeredCoordinates[0] += deltaCoarse;
+    while (staggeredCoordinates[1] < X2Minimum) staggeredCoordinates[1] += deltaCoarse;
+    while (staggeredCoordinates[2] < X3Minimum) staggeredCoordinates[2] += deltaCoarse;
+    while (staggeredCoordinates[3] > X1Maximum) staggeredCoordinates[3] -= deltaCoarse;
+    while (staggeredCoordinates[4] > X2Maximum) staggeredCoordinates[4] -= deltaCoarse;
+    while (staggeredCoordinates[5] > X3Maximum) staggeredCoordinates[5] -= deltaCoarse;
+
+    // Step 3
     // make the grid staggered with one layer of stopper nodes on the outside
-	staggeredCoordinates[0] -= relativeStagger[0] * deltaCoarse;
-	staggeredCoordinates[1] -= relativeStagger[1] * deltaCoarse;
-	staggeredCoordinates[2] -= relativeStagger[2] * deltaCoarse;
-	staggeredCoordinates[3] += relativeStagger[0] * deltaCoarse;
-	staggeredCoordinates[4] += relativeStagger[1] * deltaCoarse;
-	staggeredCoordinates[5] += relativeStagger[2] * deltaCoarse;
-
-	// Step 4
+    staggeredCoordinates[0] -= relativeStagger[0] * deltaCoarse;
+    staggeredCoordinates[1] -= relativeStagger[1] * deltaCoarse;
+    staggeredCoordinates[2] -= relativeStagger[2] * deltaCoarse;
+    staggeredCoordinates[3] += relativeStagger[0] * deltaCoarse;
+    staggeredCoordinates[4] += relativeStagger[1] * deltaCoarse;
+    staggeredCoordinates[5] += relativeStagger[2] * deltaCoarse;
+
+    // Step 4
     // add two layers until the refinement region is completely inside the fine grid
-	if (staggeredCoordinates[0] > X1Minimum) staggeredCoordinates[0] -= deltaCoarse;
-	if (staggeredCoordinates[1] > X2Minimum) staggeredCoordinates[1] -= deltaCoarse;
-	if (staggeredCoordinates[2] > X3Minimum) staggeredCoordinates[2] -= deltaCoarse;
-	if (staggeredCoordinates[3] < X1Maximum) staggeredCoordinates[3] += deltaCoarse;
-	if (staggeredCoordinates[4] < X2Maximum) staggeredCoordinates[4] += deltaCoarse;
-	if (staggeredCoordinates[5] < X3Maximum) staggeredCoordinates[5] += deltaCoarse;
+    if (staggeredCoordinates[0] > X1Minimum)
+        staggeredCoordinates[0] -= deltaCoarse;
+    if (staggeredCoordinates[1] > X2Minimum) staggeredCoordinates[1] -= deltaCoarse;
+    if (staggeredCoordinates[2] > X3Minimum) staggeredCoordinates[2] -= deltaCoarse;
+    if (staggeredCoordinates[3] < X1Maximum) staggeredCoordinates[3] += deltaCoarse;
+    if (staggeredCoordinates[4] < X2Maximum) staggeredCoordinates[4] += deltaCoarse;
+    if (staggeredCoordinates[5] < X3Maximum) staggeredCoordinates[5] += deltaCoarse;
 
     // Step 5
 
@@ -384,13 +385,13 @@ std::array<real, 6> MultipleGridBuilder::getStaggeredCoordinates(SPtr<Object> gr
     while (staggeredCoordinates[4] > this->grids[level - 1]->getEndY()  ) staggeredCoordinates[4] -= delta;
     while (staggeredCoordinates[5] > this->grids[level - 1]->getEndZ()  ) staggeredCoordinates[5] -= delta;
 
-	return staggeredCoordinates;
+    return staggeredCoordinates;
 }
 
 std::array<real, 6> MultipleGridBuilder::getStaggeredCoordinates(real startX, real startY, real startZ, real endX, real endY, real endZ, real delta, uint level) const
 {
-	//previous version of Soeren P.	
-	auto offset = getOffset(delta);
+    //previous version of Soeren P.    
+    auto offset = getOffset(delta);
 
     const real startXStaggered = std::floor(startX) - offset[0];
     const real startYStaggered = std::floor(startY) - offset[1];
@@ -659,13 +660,13 @@ void MultipleGridBuilder::emitGridIsNotInCoarseGridWarning()
     VF_LOG_WARNING("Grid lies not inside of coarse grid. Actual Grid is not added.");
 }
 
-void MultipleGridBuilder::findCommunicationIndices(int direction)
+void MultipleGridBuilder::findCommunicationIndices(int direction, bool doShift)
 {
     VF_LOG_TRACE("Start findCommunicationIndices()");
 
     if( this->subDomainBox )
         for (size_t i = 0; i < grids.size(); i++)
-            grids[i]->findCommunicationIndices(direction, this->subDomainBox);
+            grids[i]->findCommunicationIndices(direction, this->subDomainBox, doShift);
 
     VF_LOG_TRACE("Done findCommunicationIndices()");
 }
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h
index 57576993ebb15f53fb0c3f6e1d8eb375d55782dd..4996c715a75f98ab5ad38b181bda2f164fb6f93f 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h
+++ b/src/gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h
@@ -117,7 +117,7 @@ private:
     SPtr<BoundingBox> subDomainBox;
 
 public:
-    GRIDGENERATOR_EXPORT void findCommunicationIndices(int direction);
+    GRIDGENERATOR_EXPORT void findCommunicationIndices(int direction, bool doShift=false);
 };
 
 #endif
diff --git a/src/gpu/GridGenerator/grid/GridImp.cpp b/src/gpu/GridGenerator/grid/GridImp.cpp
index 85002ac870fdfd51c5b0ed57c79d4579d9d7b692..c3677eec5a51a989030220fb9eaa68bf50f99ece 100644
--- a/src/gpu/GridGenerator/grid/GridImp.cpp
+++ b/src/gpu/GridGenerator/grid/GridImp.cpp
@@ -37,7 +37,7 @@
 # include <algorithm>
 #include <cmath>
 #include <vector>
-
+#include <stdexcept>
 #include "global.h"
 
 #include "geometries/Object.h"
@@ -56,10 +56,13 @@
 
 #include "utilities/communication.h"
 #include "utilities/math/Math.h"
+#include "basics/constants/NumericConstants.h"
+#include "basics/DataTypes.h"
 
 int DIRECTIONS[DIR_END_MAX][DIMENSION];
 
 using namespace vf::gpu;
+using namespace vf::basics::constant;
 
 GridImp::GridImp(SPtr<Object> object, real startX, real startY, real startZ, real endX, real endY, real endZ, real delta, Distribution distribution, uint level)
             : object(object),
@@ -763,6 +766,55 @@ bool GridImp::getPeriodicityZ() const
     return this->periodicityZ;
 }
 
+void GridImp::setPeriodicBoundaryShiftsOnXinY(real shift)
+{
+    if(!this->periodicityY)
+        throw std::runtime_error("Domain needs to be periodic in X and Y to shift periodic boundary!");
+    
+    VF_LOG_INFO("Shifting periodicity in X direction by {} in Y direction.", shift);
+    this->periodicShiftOnXinY = shift;
+}
+void GridImp::setPeriodicBoundaryShiftsOnXinZ(real shift)
+{
+    if(!this->periodicityX || !this->periodicityZ)
+    throw std::runtime_error("Domain needs to be periodic in X and Z to shift periodic boundary!");
+
+    VF_LOG_INFO("Shifting periodicity in X direction by {} in Z direction.", shift);
+    this->periodicShiftOnXinZ = shift;
+}
+void GridImp::setPeriodicBoundaryShiftsOnYinX(real shift)
+{
+    if(!this->periodicityY || !this->periodicityX)
+    throw std::runtime_error("Domain needs to be periodic in Y and X to shift periodic boundary!");
+
+    VF_LOG_INFO("Shifting periodicity in Y direction by {} in X direction.", shift);
+    this->periodicShiftOnYinX = shift;
+}
+void GridImp::setPeriodicBoundaryShiftsOnYinZ(real shift)
+{
+    if(!this->periodicityY || !this->periodicityZ)
+    throw std::runtime_error("Domain needs to be periodic in Y and Z to shift periodic boundary!");
+
+    VF_LOG_INFO("Shifting periodicity in Y direction by {} in Z direction.", shift);
+    this->periodicShiftOnYinZ = shift;    
+}
+void GridImp::setPeriodicBoundaryShiftsOnZinX(real shift)
+{
+    if(!this->periodicityZ || !this->periodicityX)
+    throw std::runtime_error("Domain needs to be periodic in Z and X to shift periodic boundary!");
+
+    VF_LOG_INFO("Shifting periodicity in Z direction by {} in X direction.", shift);
+    this->periodicShiftOnZinX = shift;   
+}
+void GridImp::setPeriodicBoundaryShiftsOnZinY(real shift)
+{
+    if(!this->periodicityZ || !this->periodicityY)
+    throw std::runtime_error("Domain needs to be periodic in Z and Y to shift periodic boundary!");
+
+    VF_LOG_INFO("Shifting periodicity in Z direction by {} in Y direction.", shift);
+    this->periodicShiftOnZinY = shift;
+}
+
 void GridImp::setEnableFixRefinementIntoTheWall(bool enableFixRefinementIntoTheWall)
 {
     this->enableFixRefinementIntoTheWall = enableFixRefinementIntoTheWall;
@@ -846,7 +898,7 @@ uint GridImp::getQPatch(const uint index) const
 
 void GridImp::setInnerRegionFromFinerGrid(bool innerRegionFromFinerGrid)
 {
-   this->innerRegionFromFinerGrid = innerRegionFromFinerGrid;
+    this->innerRegionFromFinerGrid = innerRegionFromFinerGrid;
 }
 
 void GridImp::setNumberOfLayers(uint numberOfLayers)
@@ -974,21 +1026,11 @@ void GridImp::setNeighborIndices(uint index)
 
     if (this->sparseIndices[index] == -1)
         return;
-
-
-    real neighborXCoord, neighborYCoord, neighborZCoord;
-    this->getNeighborCoords(neighborXCoord, neighborYCoord, neighborZCoord, x, y, z);
-    const int neighborX = getSparseIndex(neighborXCoord, y, z);
-    const int neighborY = getSparseIndex(x, neighborYCoord, z);
-    const int neighborZ = getSparseIndex(x, y, neighborZCoord);
-
-    this->getNegativeNeighborCoords(neighborXCoord, neighborYCoord, neighborZCoord, x, y, z);
-    const int neighborNegative = getSparseIndex(neighborXCoord, neighborYCoord, neighborZCoord);
-
-    this->neighborIndexX[index]        = neighborX;
-    this->neighborIndexY[index]        = neighborY;
-    this->neighborIndexZ[index]        = neighborZ;
-    this->neighborIndexNegative[index] = neighborNegative;
+    
+    this->neighborIndexX[index] = this->getNeighborIndex(x, y, z, 0, periodicityX);
+    this->neighborIndexY[index] = this->getNeighborIndex(x, y, z, 1, periodicityY);
+    this->neighborIndexZ[index] = this->getNeighborIndex(x, y, z, 2, periodicityZ);
+    this->neighborIndexNegative[index] = this->getNegativeNeighborIndex(x, y, z);
 }
 
 void GridImp::setStopperNeighborCoords(uint index)
@@ -1014,61 +1056,116 @@ void GridImp::setStopperNeighborCoords(uint index)
     }
 }
 
-void GridImp::getNeighborCoords(real &neighborX, real &neighborY, real &neighborZ, real x, real y, real z) const
+inline real wrapCoord(real coord, real start, real end)
 {
-    real coords[3] = { x, y, z };
-    neighborX = getNeighborCoord(periodicityX, startX, coords, 0);
-    neighborY = getNeighborCoord(periodicityY, startY, coords, 1);
-    neighborZ = getNeighborCoord(periodicityZ, startZ, coords, 2);
+    const real length = end - start;
+    if(coord < start)
+        return coord + length;
+    if(coord > end)
+        return coord - length;
+    return coord;
 }
 
-real GridImp::getNeighborCoord(bool periodicity, real startCoord, real coords[3], int direction) const
+
+int GridImp::getNeighborIndex(real x, real y, real z, int direction, bool periodicity) const
 {
-    if (periodicity)
-    {
-        real neighborCoords[3] = {coords[0], coords[1] , coords[2] };
-        neighborCoords[direction] = neighborCoords[direction] + delta;
-        const int neighborIndex = this->transCoordToIndex(neighborCoords[0], neighborCoords[1], neighborCoords[2]);
+    real neighborCoords[3] = { x, y, z };
+    neighborCoords[direction] = neighborCoords[direction] + delta;
+    if(periodicity)
+        getPeriodicNeighborCoords(x, y, z, neighborCoords, direction);
 
-        //////////////////////////////////////////////////////////////////////////
+    return getSparseIndex(neighborCoords[0], neighborCoords[1], neighborCoords[2]);
+}
 
-        if( field.is(neighborIndex, STOPPER_OUT_OF_GRID_BOUNDARY) )
-            return getFirstFluidNode(coords, direction, startCoord);
-        else
-            return coords[direction] + delta;
 
-    }
+void GridImp::getPeriodicNeighborCoords(real x, real y, real z, real* neighborCoords, int direction) const
+{
+    const int neighborIndex = this->transCoordToIndex(neighborCoords[0], neighborCoords[1], neighborCoords[2]);
+    if( !field.is(neighborIndex, STOPPER_OUT_OF_GRID_BOUNDARY) ) return;
 
-    return coords[direction] + delta;
+    real coords[3] = {x, y, z};
+    switch(direction)
+    {
+        case 0:
+            neighborCoords[0] = getFirstFluidNode(coords, 0, startX);
+            neighborCoords[1] = wrapCoord(neighborCoords[1] + periodicShiftOnXinY, startY + c1o2*delta, endY - c1o2*delta);
+            neighborCoords[2] = wrapCoord(neighborCoords[2] + periodicShiftOnXinZ, startZ + c1o2*delta, endZ - c1o2*delta);
+            break;
+        case 1:            
+            neighborCoords[0] = wrapCoord(neighborCoords[0] + periodicShiftOnYinX, startX + c1o2*delta, endX - c1o2*delta);
+            neighborCoords[1] = getFirstFluidNode(coords, 1, startY);
+            neighborCoords[2] = wrapCoord(neighborCoords[2] + periodicShiftOnYinZ, startZ + c1o2*delta, endZ - c1o2*delta);
+            break;
+        case 2:
+            neighborCoords[0] = wrapCoord(neighborCoords[0] + periodicShiftOnZinX, startX + c1o2*delta, endX - c1o2*delta);
+            neighborCoords[1] = wrapCoord(neighborCoords[1] + periodicShiftOnZinY, startY + c1o2*delta, endY - c1o2*delta);
+            neighborCoords[2] = getFirstFluidNode(coords, 2, startZ);
+            break;
+        default:
+            throw std::runtime_error("GridImp::getPeriodicNeighbor() -> direction must be 0, 1 or 2.");
+            break;
+    } 
 }
 
-void GridImp::getNegativeNeighborCoords(real &neighborX, real &neighborY, real &neighborZ, real x, real y, real z) const
+
+int GridImp::getNegativeNeighborIndex(real x, real y, real z) const
 {
-    real coords[3] = { x, y, z };
+    real neighborCoords[3] = { x-delta, y-delta, z-delta };
+
+    if(periodicityX || periodicityY || periodicityZ)
+        getNegativePeriodicNeighborCoords(x, y, z, neighborCoords);
 
-    neighborX = getNegativeNeighborCoord(periodicityX, endX, coords, 0);
-    neighborY = getNegativeNeighborCoord(periodicityY, endY, coords, 1);
-    neighborZ = getNegativeNeighborCoord(periodicityZ, endZ, coords, 2);
+    return getSparseIndex(neighborCoords[0], neighborCoords[1], neighborCoords[2]);    
 }
 
-real GridImp::getNegativeNeighborCoord(bool periodicity, real startCoord, real coords[3], int direction) const
+
+void GridImp::getNegativePeriodicNeighborCoords(real x, real y, real z, real* neighborCoords) const
 {
-    if (periodicity)
-    {
-        real neighborCoords[3] = {coords[0], coords[1] , coords[2] };
-        neighborCoords[direction] = neighborCoords[direction] - delta;
-        const uint neighborIndex = this->transCoordToIndex(neighborCoords[0], neighborCoords[1], neighborCoords[2]);
+    const bool periodicity[3] = {periodicityX, periodicityY, periodicityZ};
+    real coords[3] = {x, y, z};
+    bool onBoundary[3] = {false, false, false};
+
+    for(uint direction=0; direction<3; direction++){
+        if(!periodicity[direction]) continue;
+        
+        real neighborInThisDirection[3] = {x, y, z};
+        neighborInThisDirection[direction] -= delta;
 
-        if(neighborIndex != INVALID_INDEX && !field.isStopperOutOfGrid(neighborIndex) && !field.is(neighborIndex, STOPPER_OUT_OF_GRID_BOUNDARY) )
-            return coords[direction] - delta;
+        const int neighborIndex = getSparseIndex(neighborInThisDirection[0], neighborInThisDirection[1], neighborInThisDirection[2]);
+        if( !field.is(neighborIndex, STOPPER_OUT_OF_GRID_BOUNDARY) ) continue;
 
-        return getLastFluidNode(coords, direction, startCoord);
+        onBoundary[direction] = true;
     }
 
-    return coords[direction] - delta;
+
+
+    for(int direction=0; direction<3; direction++){
+        switch(direction){
+
+        case 0:
+            if( (onBoundary[1] && periodicShiftOnYinX > 0) || (onBoundary[2] && periodicShiftOnZinX > 0)  )
+                neighborCoords[direction] = wrapCoord(neighborCoords[direction] - (periodicShiftOnYinX + periodicShiftOnZinX), startX + c1o2*delta, endX - c1o2*delta);
+            else if(onBoundary[direction])
+                neighborCoords[direction] = getLastFluidNode(coords, direction, endX);
+            break;
+        case 1:
+            if( (onBoundary[0] && periodicShiftOnXinY > 0) || (onBoundary[2] && periodicShiftOnZinY > 0) )
+                neighborCoords[direction] = wrapCoord(neighborCoords[direction] - (periodicShiftOnXinY + periodicShiftOnZinY), startY + c1o2*delta, endY - c1o2*delta);
+            else if(onBoundary[direction])
+                neighborCoords[direction] = getLastFluidNode(coords, direction, endY);
+            break;
+        case 2:
+            if( (onBoundary[0] && periodicShiftOnXinZ > 0) || (onBoundary[1] && periodicShiftOnYinZ > 0) )
+                neighborCoords[direction] = wrapCoord(neighborCoords[direction] - (periodicShiftOnXinZ + periodicShiftOnYinZ), startZ + c1o2*delta, endZ - c1o2*delta);
+            else if(onBoundary[direction])
+                neighborCoords[direction] = getLastFluidNode(coords, direction, endZ);
+            break;
+        }
+    }
 }
 
 
+
 real GridImp::getLastFluidNode(real coords[3], int direction, real startCoord) const
 {
     coords[direction] = startCoord;
@@ -1683,26 +1780,71 @@ bool GridImp::checkIfAtLeastOneValidQ(const uint index, const Vertex & point, co
     return false;
 }
 
-void GridImp::findCommunicationIndices(int direction, SPtr<BoundingBox> subDomainBox)
+int GridImp::getShiftedCommunicationIndex(uint index, int direction)
+{
+    real x, y, z;
+    this->transIndexToCoords(index, x, y, z);
+
+    switch (direction)
+    {
+    case CommunicationDirections::MX:
+        y = wrapCoord(y - (this->periodicShiftOnXinY + delta), startY - c1o2*delta, endY + c1o2*delta);
+        z = wrapCoord(z - (this->periodicShiftOnXinZ + delta), startZ - c1o2*delta, endZ + c1o2*delta);
+        break;
+    case CommunicationDirections::PX:
+        y = wrapCoord(y + (this->periodicShiftOnXinY + delta), startY - c1o2*delta, endY + c1o2*delta);
+        z = wrapCoord(z + (this->periodicShiftOnXinZ + delta), startZ - c1o2*delta, endZ + c1o2*delta);
+        break;
+    case CommunicationDirections::MY:
+        x = wrapCoord(x - (this->periodicShiftOnYinX + delta), startX - c1o2*delta, endX + c1o2*delta);
+        z = wrapCoord(z - (this->periodicShiftOnYinZ + delta), startZ - c1o2*delta, endZ + c1o2*delta);
+        break;
+    case CommunicationDirections::PY:
+        x = wrapCoord(x + (this->periodicShiftOnYinX + delta), startX - c1o2*delta, endX + c1o2*delta);
+        z = wrapCoord(z + (this->periodicShiftOnYinZ + delta), startZ - c1o2*delta, endZ + c1o2*delta);
+        break;
+    case CommunicationDirections::MZ:
+        x = wrapCoord(x - (this->periodicShiftOnZinX + delta), startX - c1o2*delta, endX + c1o2*delta);
+        y = wrapCoord(y - (this->periodicShiftOnZinY + delta), startY - c1o2*delta, endY + c1o2*delta);
+        break;
+    case CommunicationDirections::PZ:
+        x = wrapCoord(x + (this->periodicShiftOnZinX + delta), startX - c1o2*delta, endX + c1o2*delta);
+        y = wrapCoord(y + (this->periodicShiftOnZinY + delta), startY - c1o2*delta, endY + c1o2*delta);
+        break;
+    default:
+        break;
+    }
+
+    return this->transCoordToIndex(x, y, z);
+}
+
+void GridImp::findCommunicationIndices(int direction, SPtr<BoundingBox> subDomainBox, bool doShift)
 {
     for( uint index = 0; index < this->size; index++ ){
+
+        int shiftedIndex = doShift ? getShiftedCommunicationIndex(index, direction) : index;
+        
+        const char fieldEntry = this->getFieldEntry(shiftedIndex);
+        if( fieldEntry == INVALID_OUT_OF_GRID ||
+            fieldEntry == INVALID_SOLID ||
+            fieldEntry == INVALID_COARSE_UNDER_FINE ||
+            fieldEntry == STOPPER_OUT_OF_GRID ||
+            fieldEntry == STOPPER_COARSE_UNDER_FINE ||
+            fieldEntry == STOPPER_OUT_OF_GRID_BOUNDARY ||
+            fieldEntry == STOPPER_SOLID ) continue;
+
         real x, y, z;
-        this->transIndexToCoords(index, x, y, z);
+        this->transIndexToCoords(shiftedIndex, x, y, z);
 
-        if( this->getFieldEntry(index) == INVALID_OUT_OF_GRID ||
-            this->getFieldEntry(index) == INVALID_SOLID ||
-            this->getFieldEntry(index) == INVALID_COARSE_UNDER_FINE ||
-            this->getFieldEntry(index) == STOPPER_OUT_OF_GRID ||
-            this->getFieldEntry(index) == STOPPER_COARSE_UNDER_FINE ) continue;
-
-        if( this->getFieldEntry(index) == STOPPER_OUT_OF_GRID_BOUNDARY ) continue;
-        if( this->getFieldEntry(index) == STOPPER_SOLID ) continue;
-        if( direction == CommunicationDirections::MX ) findCommunicationIndex( index, x, subDomainBox->minX, direction);
-        if( direction == CommunicationDirections::PX ) findCommunicationIndex( index, x, subDomainBox->maxX, direction);
-        if( direction == CommunicationDirections::MY ) findCommunicationIndex( index, y, subDomainBox->minY, direction);
-        if( direction == CommunicationDirections::PY ) findCommunicationIndex( index, y, subDomainBox->maxY, direction);
-        if( direction == CommunicationDirections::MZ ) findCommunicationIndex( index, z, subDomainBox->minZ, direction);
-        if( direction == CommunicationDirections::PZ ) findCommunicationIndex( index, z, subDomainBox->maxZ, direction);
+        switch(direction)
+        {
+            case CommunicationDirections::MX: findCommunicationIndex( shiftedIndex, x, subDomainBox->minX, direction); break;
+            case CommunicationDirections::PX: findCommunicationIndex( shiftedIndex, x, subDomainBox->maxX, direction); break;
+            case CommunicationDirections::MY: findCommunicationIndex( shiftedIndex, y, subDomainBox->minY, direction); break;
+            case CommunicationDirections::PY: findCommunicationIndex( shiftedIndex, y, subDomainBox->maxY, direction); break;
+            case CommunicationDirections::MZ: findCommunicationIndex( shiftedIndex, z, subDomainBox->minZ, direction); break;
+            case CommunicationDirections::PZ: findCommunicationIndex( shiftedIndex, z, subDomainBox->maxZ, direction); break;
+        }
     }
 }
 
diff --git a/src/gpu/GridGenerator/grid/GridImp.h b/src/gpu/GridGenerator/grid/GridImp.h
index e40ef474c2ca2093ae373c7bd0aa8381a968cae4..62f3009ebf8f7a163c20bb87492bf839ea522808 100644
--- a/src/gpu/GridGenerator/grid/GridImp.h
+++ b/src/gpu/GridGenerator/grid/GridImp.h
@@ -82,8 +82,8 @@ private:
     void initalNumberOfNodesAndSize();
     Cell getOddCellFromIndex(uint index) const;
     bool isValidSolidStopper(uint index) const;
-	bool shouldBeBoundarySolidNode(uint index) const;
-	bool isValidEndOfGridStopper(uint index) const;
+    bool shouldBeBoundarySolidNode(uint index) const;
+    bool isValidEndOfGridStopper(uint index) const;
     bool isValidEndOfGridBoundaryStopper(uint index) const;
     bool isOutSideOfGrid(Cell &cell) const;
     bool contains(Cell &cell, char type) const;
@@ -105,11 +105,14 @@ private:
 
     bool xOddStart = false, yOddStart = false, zOddStart = false;
 
-	uint nx, ny, nz;
+    uint nx, ny, nz;
 
-	uint size;
+    uint size;
     uint sparseSize;
     bool periodicityX = false, periodicityY = false, periodicityZ = false;
+    real periodicShiftOnXinY = 0.0, periodicShiftOnXinZ = 0.0;
+    real periodicShiftOnYinX = 0.0, periodicShiftOnYinZ = 0.0;
+    real periodicShiftOnZinX = 0.0, periodicShiftOnZinY = 0.0;
 
     SPtr<Object> object;
     GridInterface *gridInterface;
@@ -122,8 +125,8 @@ private:
     std::vector<uint> fluidNodeIndicesApplyBodyForce;   // run on CollisionTemplate::ApplyBodyForce
     std::vector<uint> fluidNodeIndicesAllFeatures;      // run on CollisionTemplate::AllFeatures
 
-	uint *qIndices;     //maps from matrix index to qIndex
-	real *qValues;
+    uint *qIndices;     //maps from matrix index to qIndex
+    real *qValues;
     uint *qPatches;
 
     bool innerRegionFromFinerGrid;
@@ -156,6 +159,13 @@ public:
     bool getPeriodicityY() const override;
     bool getPeriodicityZ() const override;
 
+    void setPeriodicBoundaryShiftsOnXinY(real shift) override;
+    void setPeriodicBoundaryShiftsOnXinZ(real shift) override;
+    void setPeriodicBoundaryShiftsOnYinX(real shift) override;
+    void setPeriodicBoundaryShiftsOnYinZ(real shift) override;
+    void setPeriodicBoundaryShiftsOnZinX(real shift) override;
+    void setPeriodicBoundaryShiftsOnZinY(real shift) override;
+
     void setEnableFixRefinementIntoTheWall(bool enableFixRefinementIntoTheWall) override;
 
     void setCellTo(uint index, char type);
@@ -273,9 +283,9 @@ public:
     bool isStopperForBC(uint index) const override;
 
     int *getNeighborsX() const override;
-    int* getNeighborsY() const override;
-    int* getNeighborsZ() const override;
-    int* getNeighborsNegative() const override;
+    int *getNeighborsY() const override;
+    int *getNeighborsZ() const override;
+    int *getNeighborsNegative() const override;
 
     uint *getCF_coarse() const override;
     uint *getCF_fine() const override;
@@ -298,12 +308,11 @@ public:
 protected:
     virtual void setStopperNeighborCoords(uint index);
 private:
-    void getNeighborCoords(real &neighborX, real &neighborY, real &neighborZ, real x, real y, real z) const;
-    real getNeighborCoord(bool periodicity, real endCoord, real coords[3], int direction) const;
-    void getNegativeNeighborCoords(real &neighborX, real &neighborY, real &neighborZ, real x, real y, real z) const;
-    real getNegativeNeighborCoord(bool periodicity, real endCoord, real coords[3], int direction) const;
+    int getNeighborIndex(real x, real y, real z, int direction, bool periodicity) const;
+    void getPeriodicNeighborCoords(real x, real y, real z, real* neighborCoords, int direction) const;
+    int getNegativeNeighborIndex(real x, real y, real z) const;
+    void getNegativePeriodicNeighborCoords(real x, real y, real z, real* neighborCoords) const;
     
-
     virtual int getSparseIndex(const real &expectedX, const real &expectedY, const real &expectedZ) const;
 
     static real getMinimumOnNodes(const real &minExact, const real &decimalStart, const real &delta);
@@ -356,7 +365,8 @@ private:
     void allocateQs();
 
 public:
-    void findCommunicationIndices(int direction, SPtr<BoundingBox> subDomainBox) override;
+    int getShiftedCommunicationIndex(uint index, int direction);
+    void findCommunicationIndices(int direction, SPtr<BoundingBox> subDomainBox, bool doShift) override;
     void findCommunicationIndex(uint index, real coordinate, real limit, int direction);
 
     uint getNumberOfSendNodes(int direction) override;
diff --git a/src/gpu/GridGenerator/grid/GridImpTest.cpp b/src/gpu/GridGenerator/grid/GridImpTest.cpp
index fcbf7cc92a97bcea7ca72525dc1981cd7b95dfee..3f688ebf2a30559d745572ed5843b3f6a12c7982 100644
--- a/src/gpu/GridGenerator/grid/GridImpTest.cpp
+++ b/src/gpu/GridGenerator/grid/GridImpTest.cpp
@@ -10,6 +10,8 @@
 #include "grid/Field.h"
 #include "grid/GridBuilder/MultipleGridBuilder.h"
 #include "grid/distributions/Distribution.h"
+#include "geometries/BoundingBox/BoundingBox.h"
+#include "utilities/communication.h"
 
 // This test is commented out because it causes a compiler error in Clang 10 --> The bug is fixed in Clang 14 (https://github.com/google/googletest/issues/2271)
 
@@ -249,3 +251,767 @@ TEST_F(findNeighborsIntegrationTest, validFluidNeighbors2)
     EXPECT_THAT(numberInvalidFluidNeighbors[1], testing::Eq(0));
     EXPECT_THAT(numberInvalidFluidNeighbors[2], testing::Eq(0));
 }
+
+
+class PeriodicBoundaryShiftIntegrationTest : public testing::TestWithParam<std::tuple<int, int>>
+{
+protected:
+    SPtr<MultipleGridBuilder> gridBuilder;
+    const real dx{1.0};
+    const int nx{5}, ny{std::get<0>(GetParam())}, nz{5};
+    const int direction{std::get<1>(GetParam())};
+
+    void SetUp() override
+    {
+        gridBuilder = std::make_shared<MultipleGridBuilder>();
+        gridBuilder->addCoarseGrid(0.0, 0.0, 0.0, nx*dx, ny*dx, nz*dx, dx);
+    }
+};
+
+int getIndex(std::shared_ptr<Grid> grid, uint ix, uint iy, uint iz)
+{
+    return ix + grid->getNumberOfNodesX() * (iy + grid->getNumberOfNodesY() * iz);
+}
+
+void compareNodeToCoordinates(SPtr<Grid> grid, int index, real xExpected, real yExpected, real zExpected , const std::string& message)
+{
+    real xNode, yNode, zNode;
+    grid->transIndexToCoords(index, xNode, yNode, zNode);
+    EXPECT_FLOAT_EQ(xNode, xExpected)  << message;
+    EXPECT_FLOAT_EQ(yNode, yExpected) << message;
+    EXPECT_FLOAT_EQ(zNode, zExpected) << message;
+}
+
+void iterateOverXLine(std::shared_ptr<Grid> grid, uint iy, uint iz, std::function<void(int, const std::string&)> func)
+{
+    const std::string msg = "Failed at X Line with iy: " + std::to_string(iy) + " and iz: " + std::to_string(iz);
+    for(uint ix = 2; ix < grid->getNumberOfNodesX()-2; ix++){
+        func(getIndex(grid, ix, iy, iz), msg);
+    }
+}
+
+void iterateOverYLine(std::shared_ptr<Grid> grid, uint ix, uint iz, std::function<void(int, const std::string&)> func)
+{
+    const std::string msg = "Failed at Y Line with ix: " + std::to_string(ix) + " and iz: " + std::to_string(iz);
+    for(uint iy = 2; iy < grid->getNumberOfNodesY()-2; iy++){
+        func(getIndex(grid, ix, iy, iz), msg);
+    }
+}
+
+void iterateOverZLine(std::shared_ptr<Grid> grid, uint ix, uint iy, std::function<void(int, const std::string&)> func)
+{
+    const std::string msg = "Failed at Z Line with ix: " + std::to_string(ix) + " and iy: " + std::to_string(iy);
+    for(uint iz = 2; iz < grid->getNumberOfNodesZ()-2; iz++){
+        func(getIndex(grid, ix, iy, iz), msg);
+    }
+}
+void iterateOverYZPlane(std::shared_ptr<Grid> grid, uint ix, std::function<void(int, const std::string&)> func)
+{
+    const std::string msg = "Failed at YZ Plane with ix: " + std::to_string(ix);
+    for(uint iz = 2; iz < grid->getNumberOfNodesZ()-2; iz++){
+    for(uint iy = 2; iy < grid->getNumberOfNodesY()-2; iy++){
+        func(getIndex(grid, ix, iy, iz), msg);
+    }}
+}
+
+void iterateOverXZPlane(std::shared_ptr<Grid> grid, uint iy, std::function<void(int, const std::string&)> func)
+{
+    const std::string msg = "Failed at XZ Plane with iy: " + std::to_string(iy);
+    for(uint iz = 2; iz < grid->getNumberOfNodesZ()-2; iz++){
+    for(uint ix = 2; ix < grid->getNumberOfNodesX()-2; ix++){
+        func(getIndex(grid, ix, iy, iz), msg);
+    }}
+}
+void iterateOverXYPlane(std::shared_ptr<Grid> grid, uint iz, std::function<void(int, const std::string&)> func)
+{    
+    const std::string msg = "Failed at XY Plane with iz: " + std::to_string(iz);
+    for(uint iy = 2; iy < grid->getNumberOfNodesY()-2; iy++){
+    for(uint ix = 2; ix < grid->getNumberOfNodesX()-2; ix++){
+        func(getIndex(grid, ix, iy, iz), msg);
+    }}
+}
+void iterateOverInnerDomain(std::shared_ptr<Grid> grid, std::function<void(int, const std::string&)> func)
+{
+    const std::string msg = "Failed at Inner Domain";
+    for(uint iz = 2; iz < grid->getNumberOfNodesZ()-2; iz++){
+    for(uint iy = 2; iy < grid->getNumberOfNodesY()-2; iy++){
+    for(uint ix = 2; ix < grid->getNumberOfNodesX()-2; ix++){
+        func(getIndex(grid, ix, iy, iz), msg);
+    }}}
+}
+
+
+
+TEST_P(PeriodicBoundaryShiftIntegrationTest, NoPeriodicity)
+{
+    gridBuilder->buildGrids(false);
+    auto grid = gridBuilder->getGrid(0);
+    auto func = [&](int index, const std::string msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx, z-dx, msg);
+    };
+    iterateOverInnerDomain(grid, func);
+
+    iterateOverYZPlane(grid, 1, func);
+    iterateOverYZPlane(grid, nx, func);
+
+    iterateOverXZPlane(grid, 1, func);
+    iterateOverXZPlane(grid, ny, func);
+
+    iterateOverXYPlane(grid, 1, func);
+    iterateOverXYPlane(grid, nz, func);
+
+    iterateOverXLine(grid, 1, 1, func);
+    iterateOverXLine(grid, 1, nz, func);
+    iterateOverXLine(grid, ny, 1, func);
+    iterateOverXLine(grid, ny, nz, func);
+
+    iterateOverYLine(grid, 1, 1, func);
+    iterateOverYLine(grid, 1, nz, func);
+    iterateOverYLine(grid, nx, 1, func);
+    iterateOverYLine(grid, nx, nz, func);
+
+    iterateOverZLine(grid, 1, 1, func);
+    iterateOverZLine(grid, 1, ny, func);
+    iterateOverZLine(grid, nx, 1, func);
+    iterateOverZLine(grid, nx, ny, func);
+}
+
+TEST_P(PeriodicBoundaryShiftIntegrationTest, PeriodicNoShift)
+{
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+    gridBuilder->buildGrids(false);
+    auto grid = gridBuilder->getGrid(0);
+    iterateOverInnerDomain(grid, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx, z-dx, msg);
+    });
+    iterateOverYZPlane(grid, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], (nx-0.5)*dx, y-dx, z-dx, msg);
+    });
+    iterateOverYZPlane(grid, nx, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], 0.5*dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx, z-dx, msg);
+    });
+    iterateOverXLine(grid, 1, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, (ny-0.5)*dx, (nz-0.5)*dx, msg);
+    });
+    iterateOverXLine(grid, ny, nz, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, 0.5*dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, 0.5*dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx, z-dx, msg);
+    });
+}
+
+real wrap(real coord, real length){
+    if(coord<0.0)
+        return coord + length;
+    if(coord>length)
+        return coord - length;
+    return coord;
+}
+
+real shiftCoordForward(real coord, real shift, real delta, int n, int direction, int caseNumber){
+    if(caseNumber == direction)
+        return wrap(coord + shift, n*delta);
+    return coord;
+}
+
+real shiftCoordForward(real coord, real shift, real delta, int n, int direction, int caseNumber1, int caseNumber2)
+{   
+    if(direction==caseNumber1 || direction==caseNumber2)
+        return shiftCoordForward(coord, shift, delta, n, 0, 0);
+    return shiftCoordForward(coord, shift, delta, n, 0, 1);
+
+}
+
+real shiftCoordBackward(real coord, real shift, real delta, int n, int direction, int caseNumber){
+    if(caseNumber == direction)
+        return wrap(coord - (shift+delta), n*delta);
+    return wrap(coord - delta, n*delta);
+}
+
+real shiftCoordBackward(real coord, real shift, real delta, int n, int direction, int caseNumber1, int caseNumber2){
+    if(direction==caseNumber1 || direction==caseNumber2)
+        return shiftCoordBackward(coord, shift, delta, n, 0, 0);
+    return shiftCoordBackward(coord, shift, delta, n, 0, 1);
+}
+
+
+TEST_P(PeriodicBoundaryShiftIntegrationTest, PeriodicWithShift){
+    const real shift = 3*dx; // must be integer multiple of dx because gridBuilder shortens shift to multiple of dx
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+    switch(direction){
+        case 0: gridBuilder->setPeriodicShiftOnXBoundaryInYDirection(shift); break;
+        case 1: gridBuilder->setPeriodicShiftOnXBoundaryInZDirection(shift); break;
+        case 2: gridBuilder->setPeriodicShiftOnYBoundaryInXDirection(shift); break;
+        case 3: gridBuilder->setPeriodicShiftOnYBoundaryInZDirection(shift); break;
+        case 4: gridBuilder->setPeriodicShiftOnZBoundaryInXDirection(shift); break;
+        case 5: gridBuilder->setPeriodicShiftOnZBoundaryInYDirection(shift); break;
+    }
+
+    gridBuilder->buildGrids(false);
+    auto grid = gridBuilder->getGrid(0);
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//!Test inner domain
+    iterateOverInnerDomain(grid, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx, z-dx, msg);
+    });
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//!Test faces of the domain
+    iterateOverYZPlane(grid, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real y_shifted = shiftCoordBackward(y, shift, dx, ny, direction, 0);
+        const real z_shifted = shiftCoordBackward(z, shift, dx, nz, direction, 1);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], (nx-0.5)*dx, y_shifted, z_shifted, msg);
+    });
+
+    iterateOverXZPlane(grid, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted = shiftCoordBackward(x, shift, dx, nx, direction, 2);
+        const real z_shifted = shiftCoordBackward(z, shift, dx, nz, direction, 3);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x_shifted, (ny-0.5)*dx , z_shifted, msg);
+    });
+
+    iterateOverXYPlane(grid, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted = shiftCoordBackward(x, shift, dx, nx, direction, 4);
+        const real y_shifted = shiftCoordBackward(y, shift, dx, ny, direction, 5);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x_shifted, y_shifted, (nz-0.5)*dx, msg);
+    });
+
+    iterateOverYZPlane(grid, nx, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real y_shifted = shiftCoordForward(y, shift, dx, ny, direction, 0);
+        const real z_shifted = shiftCoordForward(z, shift, dx, nz, direction, 1);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], 0.5*dx, y_shifted, z_shifted, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx, z-dx, msg);
+    });
+
+    iterateOverXZPlane(grid, ny, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted = shiftCoordForward(x, shift, dx, nx, direction, 2);
+        const real z_shifted = shiftCoordForward(z, shift, dx, nz, direction, 3);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x_shifted, 0.5*dx, z_shifted, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx , z-dx, msg);
+    });
+
+    iterateOverXYPlane(grid, nz, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted = shiftCoordForward(x, shift, dx, nx, direction, 4);
+        const real y_shifted = shiftCoordForward(y, shift, dx, ny, direction, 5);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x_shifted, y_shifted, 0.5*dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx , z-dx, msg);
+    });
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//!Test edges of x-z faces
+    iterateOverYLine(grid, 1, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted = shiftCoordBackward(x, shift, dx, nx, direction, 4);
+        const real y_shifted = shiftCoordBackward(y, shift, dx, ny, direction, 0, 5);
+        const real z_shifted = shiftCoordBackward(z, shift, dx, nz, direction, 1);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x_shifted, y_shifted, z_shifted, msg);
+    });
+
+    iterateOverYLine(grid, 1, nz, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real y_shifted_on_x = shiftCoordBackward(y, shift, dx, ny, direction, 0);
+        const real z_shifted_on_x = shiftCoordBackward(z, shift, dx, nz, direction, 1);
+        const real x_shifted_on_z = shiftCoordForward(x, shift, dx, nx, direction, 4);
+        const real y_shifted_on_z = shiftCoordForward(y, shift, dx, ny, direction, 5);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x_shifted_on_z, y_shifted_on_z, 0.5*dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], (nx-0.5)*dx, y_shifted_on_x, z_shifted_on_x, msg);
+    });
+
+    iterateOverYLine(grid, nx, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real y_shifted_on_x = shiftCoordForward(y, shift, dx, ny, direction, 0);
+        const real z_shifted_on_x = shiftCoordForward(z, shift, dx, nz, direction, 1);
+        const real x_shifted_on_z = shiftCoordBackward(x, shift, dx, nx, direction, 4);
+        const real y_shifted_on_z = shiftCoordBackward(y, shift, dx, ny, direction, 5);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], 0.5*dx, y_shifted_on_x, z_shifted_on_x, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x_shifted_on_z, y_shifted_on_z, (nz-0.5)*dx, msg);
+    });
+
+    iterateOverYLine(grid, nx, nz, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real y_shifted_on_x = shiftCoordForward(y, shift, dx, ny, direction, 0);
+        const real z_shifted_on_x = shiftCoordForward(z, shift, dx, nz, direction, 1);
+        const real x_shifted_on_z = shiftCoordForward(x, shift, dx, nx, direction, 4);
+        const real y_shifted_on_z = shiftCoordForward(y, shift, dx, ny, direction, 5);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], 0.5*dx, y_shifted_on_x, z_shifted_on_x, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x_shifted_on_z, y_shifted_on_z, 0.5*dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx, z-dx, msg);
+    });
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//!Test edges of x-y faces
+    iterateOverZLine(grid, 1, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted = shiftCoordBackward(x, shift, dx, nx, direction, 2);
+        const real y_shifted = shiftCoordBackward(y, shift, dx, ny, direction, 0);
+        const real z_shifted = shiftCoordBackward(z, shift, dx, nz, direction, 1, 3);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x_shifted, y_shifted, z_shifted, msg);
+    });
+
+    iterateOverZLine(grid, 1, ny, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted_on_y = shiftCoordForward(x, shift, dx, nx, direction, 2);
+        const real y_shifted_on_x = shiftCoordBackward(y, shift, dx, ny, direction, 0);
+        const real z_shifted_on_x = shiftCoordBackward(z, shift, dx, nz, direction, 1);
+        const real z_shifted_on_y = shiftCoordForward(z, shift, dx, nz, direction, 3);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x_shifted_on_y, 0.5*dx, z_shifted_on_y, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], (nx-0.5)*dx, y_shifted_on_x, z_shifted_on_x, msg);
+    });
+
+    iterateOverZLine(grid, nx, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted_on_y = shiftCoordBackward(x, shift, dx, nx, direction, 2);
+        const real y_shifted_on_x = shiftCoordForward(y, shift, dx, ny, direction, 0);
+        const real z_shifted_on_x = shiftCoordForward(z, shift, dx, nz, direction, 1);
+        const real z_shifted_on_y = shiftCoordBackward(z, shift, dx, nz, direction, 3);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], 0.5*dx, y_shifted_on_x, z_shifted_on_x, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x_shifted_on_y, (ny-0.5)*dx, z_shifted_on_y, msg);
+    });
+
+    iterateOverZLine(grid, nx, ny, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted_on_y = shiftCoordForward(x, shift, dx, nx, direction, 2);
+        const real y_shifted_on_x = shiftCoordForward(y, shift, dx, ny, direction, 0);
+        const real z_shifted_on_x = shiftCoordForward(z, shift, dx, nz, direction, 1);
+        const real z_shifted_on_y = shiftCoordForward(z, shift, dx, nz, direction, 3);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], 0.5*dx, y_shifted_on_x, z_shifted_on_x, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x_shifted_on_y, 0.5*dx, z_shifted_on_y, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx, z-dx, msg);
+    });
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//!Test edges of y-z faces
+    iterateOverXLine(grid, 1, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted = shiftCoordBackward(x, shift, dx, nx, direction, 2, 4);
+        const real y_shifted = shiftCoordBackward(y, shift, dx, ny, direction, 5);
+        const real z_shifted = shiftCoordBackward(z, shift, dx, nz, direction, 3);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x_shifted, y_shifted, z_shifted, msg);
+    });
+
+    iterateOverXLine(grid, 1, nz, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted_on_y = shiftCoordBackward(x, shift, dx, nx, direction, 2);
+        const real x_shifted_on_z = shiftCoordForward(x, shift, dx, nx, direction, 4);
+        const real y_shifted_on_z = shiftCoordForward(y, shift, dx, ny, direction, 5);
+        const real z_shifted_on_y = shiftCoordBackward(z, shift, dx, nz, direction, 3);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x_shifted_on_z, y_shifted_on_z, 0.5*dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x_shifted_on_y, (ny-0.5)*dx, z_shifted_on_y, msg);
+    });
+
+    iterateOverXLine(grid, ny, 1, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted_on_y = shiftCoordForward(x, shift, dx, nx, direction, 2);
+        const real x_shifted_on_z = shiftCoordBackward(x, shift, dx, nx, direction, 4);
+        const real y_shifted_on_z = shiftCoordBackward(y, shift, dx, ny, direction, 5);
+        const real z_shifted_on_y = shiftCoordForward(z, shift, dx, nz, direction, 3);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x_shifted_on_y, 0.5*dx, z_shifted_on_y, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x_shifted_on_z, y_shifted_on_z, (nz-0.5)*dx, msg);
+    });
+
+    iterateOverXLine(grid, ny, nz, [&](int index, const std::string& msg){
+        real x, y, z;
+        grid->transIndexToCoords(index, x, y, z);
+        const real x_shifted_on_y = shiftCoordForward(x, shift, dx, nx, direction, 2);
+        const real x_shifted_on_z = shiftCoordForward(x, shift, dx, nx, direction, 4);
+        const real y_shifted_on_z = shiftCoordForward(y, shift, dx, ny, direction, 5);
+        const real z_shifted_on_y = shiftCoordForward(z, shift, dx, nz, direction, 3);
+
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[index], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[index], x_shifted_on_y, 0.5*dx, z_shifted_on_y, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[index], x_shifted_on_z, y_shifted_on_z, 0.5*dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[index], x-dx, y-dx, z-dx, msg);
+    });
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//!Test corners
+
+    {
+        const int ix{1}, iy{1}, iz{1};
+        const std::string msg = "Failed at Corner 0";
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, ix, iy, iz), x, y, z);
+        const real x_shifted = shiftCoordBackward(x, shift, dx, nx, direction, 2, 4);
+        const real y_shifted = shiftCoordBackward(y, shift, dx, ny, direction, 0, 5);
+        const real z_shifted = shiftCoordBackward(z, shift, dx, nz, direction, 1, 3);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[getIndex(grid, ix, iy, iz)], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[getIndex(grid, ix, iy, iz)], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[getIndex(grid, ix, iy, iz)], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[getIndex(grid, ix, iy, iz)], x_shifted, y_shifted, z_shifted, msg);
+    }
+
+    {
+        const int ix{nx}, iy{1}, iz{1};
+        const std::string msg = "Failed at Corner 1";
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, ix, iy, iz), x, y, z);
+        const real x_shifted = shiftCoordBackward(x, shift, dx, nx, direction, 2, 4);
+        const real y_shifted_on_x = shiftCoordForward(y, shift, dx, ny, direction, 0);
+        const real y_shifted_on_z = shiftCoordBackward(y, shift, dx, ny, direction, 5);
+        const real z_shifted_on_x = shiftCoordForward(z, shift, dx, nz, direction, 1);
+        const real z_shifted_on_y = shiftCoordBackward(z, shift, dx, nz, direction, 3);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[getIndex(grid, ix, iy, iz)], 0.5*dx, y_shifted_on_x, z_shifted_on_x, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[getIndex(grid, ix, iy, iz)], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[getIndex(grid, ix, iy, iz)], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[getIndex(grid, ix, iy, iz)], x_shifted, y_shifted_on_z, z_shifted_on_y, msg);
+    }
+    {
+        const int ix{1}, iy{ny}, iz{1};
+        const std::string msg = "Failed at Corner 2";
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, ix, iy, iz), x, y, z);
+        const real x_shifted_on_y = shiftCoordForward(x, shift, dx, nx, direction, 2);
+        const real x_shifted_on_z = shiftCoordBackward(x, shift, dx, nx, direction, 4);
+        const real y_shifted = shiftCoordBackward(y, shift, dx, ny, direction, 0, 5);
+        const real z_shifted_on_x = shiftCoordBackward(z, shift, dx, nz, direction, 1);
+        const real z_shifted_on_y = shiftCoordForward(z, shift, dx, nz, direction, 3);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[getIndex(grid, ix, iy, iz)], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[getIndex(grid, ix, iy, iz)], x_shifted_on_y, 0.5*dx, z_shifted_on_y, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[getIndex(grid, ix, iy, iz)], x, y, z+dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[getIndex(grid, ix, iy, iz)], x_shifted_on_z, y_shifted, z_shifted_on_x, msg);
+    }
+    {
+        const int ix{1}, iy{1}, iz{nz};
+        const std::string msg = "Failed at Corner 3";
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, ix, iy, iz), x, y, z);
+        const real x_shifted_on_y = shiftCoordBackward(x, shift, dx, nx, direction, 2);
+        const real x_shifted_on_z = shiftCoordForward(x, shift, dx, nx, direction, 4);
+        const real y_shifted_on_x = shiftCoordBackward(y, shift, dx, ny, direction, 0);
+        const real y_shifted_on_z = shiftCoordForward(y, shift, dx, ny, direction, 5);
+        const real z_shifted = shiftCoordBackward(z, shift, dx, nz, direction, 1, 3);
+        compareNodeToCoordinates(grid, grid->getNeighborsX()[getIndex(grid, ix, iy, iz)], x+dx, y, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsY()[getIndex(grid, ix, iy, iz)], x, y+dx, z, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsZ()[getIndex(grid, ix, iy, iz)], x_shifted_on_z, y_shifted_on_z, 0.5*dx, msg);
+        compareNodeToCoordinates(grid, grid->getNeighborsNegative()[getIndex(grid, ix, iy, iz)], x_shifted_on_y, y_shifted_on_x, z_shifted, msg);
+    }
+}
+
+INSTANTIATE_TEST_SUITE_P(PeriodicBoundaryShiftSingleGPU, PeriodicBoundaryShiftIntegrationTest,
+    testing::Combine(testing::Values(7, 100), testing::Range(0,6)));
+
+class PeriodicBoundaryShiftMultiGPUIntegrationTest : public ::testing::TestWithParam<std::tuple<int, int>>
+{
+protected:
+    SPtr<MultipleGridBuilder> gridBuilder;
+    SPtr<BoundingBox> subdomain;
+    const real dx{1.0};
+    const int nx{5}, ny{std::get<0>(GetParam())}, nz{5};
+    const int direction{std::get<1>(GetParam())};
+
+    void SetUp() override
+    {
+        gridBuilder = std::make_shared<MultipleGridBuilder>();
+        gridBuilder->addCoarseGrid(0.0, 0.0, 0.0, (nx+2)*dx, (ny+2)*dx, (nz+2)*dx, dx);
+        gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+        subdomain = std::make_shared<BoundingBox>(dx, (nx+1)*dx, dx, (ny+1)*dx, dx,  (nz+1)*dx);
+    }
+};
+
+
+TEST_P(PeriodicBoundaryShiftMultiGPUIntegrationTest, PX)
+{
+    const real shift = 3.0f*dx;
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+
+    switch(direction){
+        case 0: gridBuilder->setPeriodicShiftOnXBoundaryInYDirection(shift); break;
+        case 1: gridBuilder->setPeriodicShiftOnXBoundaryInZDirection(shift); break;
+        case 2: gridBuilder->setPeriodicShiftOnYBoundaryInXDirection(shift); break;
+        case 3: gridBuilder->setPeriodicShiftOnYBoundaryInZDirection(shift); break;
+        case 4: gridBuilder->setPeriodicShiftOnZBoundaryInXDirection(shift); break;
+        case 5: gridBuilder->setPeriodicShiftOnZBoundaryInYDirection(shift); break;
+        case 6: break;
+    }
+
+    gridBuilder->buildGrids();
+    auto grid = gridBuilder->getGrid(0);
+    grid->findCommunicationIndices(CommunicationDirections::PX, subdomain, direction!=6);
+    uint nodeIndex=0;
+    for(uint iz=1; iz<grid->getNumberOfNodesZ()-1; iz++){
+    for(uint iy=1; iy<grid->getNumberOfNodesY()-1; iy++){
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, nx+1, iy, iz), x, y, z);
+        if(direction==0)
+            y = wrap(y+shift, (ny+2)*dx);
+        if(direction==1)
+            z = wrap(z+shift, (nz+2)*dx);
+        compareNodeToCoordinates(grid, grid->getSendIndex(CommunicationDirections::PX, nodeIndex), x, y, z, "Send");
+        compareNodeToCoordinates(grid, grid->getReceiveIndex(CommunicationDirections::PX, nodeIndex), x+dx, y, z, "Receive");
+        nodeIndex++;
+    }}; 
+    EXPECT_EQ(nodeIndex, grid->getNumberOfSendNodes(CommunicationDirections::PX));
+    EXPECT_EQ(nodeIndex, grid->getNumberOfReceiveNodes(CommunicationDirections::PX));
+}
+
+TEST_P(PeriodicBoundaryShiftMultiGPUIntegrationTest, MX)
+{
+    const real shift = 3.0f*dx;
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+    switch(direction){
+        case 0: gridBuilder->setPeriodicShiftOnXBoundaryInYDirection(shift); break;
+        case 1: gridBuilder->setPeriodicShiftOnXBoundaryInZDirection(shift); break;
+        case 2: gridBuilder->setPeriodicShiftOnYBoundaryInXDirection(shift); break;
+        case 3: gridBuilder->setPeriodicShiftOnYBoundaryInZDirection(shift); break;
+        case 4: gridBuilder->setPeriodicShiftOnZBoundaryInXDirection(shift); break;
+        case 5: gridBuilder->setPeriodicShiftOnZBoundaryInYDirection(shift); break;
+        case 6: break;
+    }
+    gridBuilder->buildGrids();
+    auto grid = gridBuilder->getGrid(0);
+    grid->findCommunicationIndices(CommunicationDirections::MX, subdomain, direction!=6);
+    uint nodeIndex=0;
+    for(uint iz=1; iz<grid->getNumberOfNodesZ()-1; iz++){
+    for(uint iy=1; iy<grid->getNumberOfNodesY()-1; iy++){
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, 2, iy, iz), x, y, z);
+        if(direction==0)
+            y = wrap(y-shift, (ny+2)*dx);
+        if(direction==1)
+            z = wrap(z-shift, (nz+2)*dx);
+        compareNodeToCoordinates(grid, grid->getSendIndex(CommunicationDirections::MX, nodeIndex), x, y, z, "Send");
+        compareNodeToCoordinates(grid, grid->getReceiveIndex(CommunicationDirections::MX, nodeIndex), x-dx, y, z, "Receive");
+        nodeIndex++;
+    }};
+    EXPECT_EQ(nodeIndex, grid->getNumberOfSendNodes(CommunicationDirections::MX));
+    EXPECT_EQ(nodeIndex, grid->getNumberOfReceiveNodes(CommunicationDirections::MX));
+}
+
+TEST_P(PeriodicBoundaryShiftMultiGPUIntegrationTest, PY)
+{
+    const real shift = 3.0f*dx;
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+
+    switch(direction){
+        case 0: gridBuilder->setPeriodicShiftOnXBoundaryInYDirection(shift); break;
+        case 1: gridBuilder->setPeriodicShiftOnXBoundaryInZDirection(shift); break;
+        case 2: gridBuilder->setPeriodicShiftOnYBoundaryInXDirection(shift); break;
+        case 3: gridBuilder->setPeriodicShiftOnYBoundaryInZDirection(shift); break;
+        case 4: gridBuilder->setPeriodicShiftOnZBoundaryInXDirection(shift); break;
+        case 5: gridBuilder->setPeriodicShiftOnZBoundaryInYDirection(shift); break;
+        case 6: break;
+    }
+
+    gridBuilder->buildGrids();
+    auto grid = gridBuilder->getGrid(0);
+    grid->findCommunicationIndices(CommunicationDirections::PY, subdomain, direction!=6);
+    uint nodeIndex=0;
+    for(uint iz=1; iz<grid->getNumberOfNodesZ()-1; iz++){
+    for(uint ix=1; ix<grid->getNumberOfNodesX()-1; ix++){
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, ix, ny+1, iz), x, y, z);
+        if(direction==2)
+            x = wrap(x+shift, (nx+2)*dx);
+        if(direction==3)
+            z = wrap(z+shift, (nz+2)*dx);
+        compareNodeToCoordinates(grid, grid->getSendIndex(CommunicationDirections::PY, nodeIndex), x, y, z, "Send");
+        compareNodeToCoordinates(grid, grid->getReceiveIndex(CommunicationDirections::PY, nodeIndex), x, y+dx, z, "Receive");
+        nodeIndex++;
+    }}; 
+    EXPECT_EQ(nodeIndex, grid->getNumberOfSendNodes(CommunicationDirections::PY));
+    EXPECT_EQ(nodeIndex, grid->getNumberOfReceiveNodes(CommunicationDirections::PY));
+}
+
+TEST_P(PeriodicBoundaryShiftMultiGPUIntegrationTest, MY)
+{
+    const real shift = 3.0f*dx;
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+    switch(direction){
+        case 0: gridBuilder->setPeriodicShiftOnXBoundaryInYDirection(shift); break;
+        case 1: gridBuilder->setPeriodicShiftOnXBoundaryInZDirection(shift); break;
+        case 2: gridBuilder->setPeriodicShiftOnYBoundaryInXDirection(shift); break;
+        case 3: gridBuilder->setPeriodicShiftOnYBoundaryInZDirection(shift); break;
+        case 4: gridBuilder->setPeriodicShiftOnZBoundaryInXDirection(shift); break;
+        case 5: gridBuilder->setPeriodicShiftOnZBoundaryInYDirection(shift); break;
+        case 6: break;
+    }
+    gridBuilder->buildGrids();
+    auto grid = gridBuilder->getGrid(0);
+    grid->findCommunicationIndices(CommunicationDirections::MY, subdomain, direction!=6);
+    uint nodeIndex=0;
+    for(uint iz=1; iz<grid->getNumberOfNodesZ()-1; iz++){
+    for(uint ix=1; ix<grid->getNumberOfNodesX()-1; ix++){
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, ix, 2, iz), x, y, z);
+        if(direction==2)
+            x = wrap(x-shift, (nx+2)*dx);
+        if(direction==3)
+            z = wrap(z-shift, (nz+2)*dx);
+        compareNodeToCoordinates(grid, grid->getSendIndex(CommunicationDirections::MY, nodeIndex), x, y, z, "Send");
+        compareNodeToCoordinates(grid, grid->getReceiveIndex(CommunicationDirections::MY, nodeIndex), x, y-dx, z, "Receive");
+        nodeIndex++;
+    }};
+    EXPECT_EQ(nodeIndex, grid->getNumberOfSendNodes(CommunicationDirections::MY));
+    EXPECT_EQ(nodeIndex, grid->getNumberOfReceiveNodes(CommunicationDirections::MY));
+}
+
+TEST_P(PeriodicBoundaryShiftMultiGPUIntegrationTest, PZ)
+{
+    const real shift = 3.0f*dx;
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+
+    switch(direction){
+        case 0: gridBuilder->setPeriodicShiftOnXBoundaryInYDirection(shift); break;
+        case 1: gridBuilder->setPeriodicShiftOnXBoundaryInZDirection(shift); break;
+        case 2: gridBuilder->setPeriodicShiftOnYBoundaryInXDirection(shift); break;
+        case 3: gridBuilder->setPeriodicShiftOnYBoundaryInZDirection(shift); break;
+        case 4: gridBuilder->setPeriodicShiftOnZBoundaryInXDirection(shift); break;
+        case 5: gridBuilder->setPeriodicShiftOnZBoundaryInYDirection(shift); break;
+        case 6: break;
+    }
+
+    gridBuilder->buildGrids();
+    auto grid = gridBuilder->getGrid(0);
+    grid->findCommunicationIndices(CommunicationDirections::PZ, subdomain, direction!=6);
+    uint nodeIndex=0;
+    for(uint iy=1; iy<grid->getNumberOfNodesY()-1; iy++){
+    for(uint ix=1; ix<grid->getNumberOfNodesX()-1; ix++){
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, ix, iy, nx+1), x, y, z);
+        if(direction==4)
+            x = wrap(x+shift, (nx+2)*dx);
+        if(direction==5)
+            y = wrap(y+shift, (ny+2)*dx);
+        compareNodeToCoordinates(grid, grid->getSendIndex(CommunicationDirections::PZ, nodeIndex), x, y, z, "Send");
+        compareNodeToCoordinates(grid, grid->getReceiveIndex(CommunicationDirections::PZ, nodeIndex), x, y, z+dx, "Receive");
+        nodeIndex++;
+    }}; 
+    EXPECT_EQ(nodeIndex, grid->getNumberOfSendNodes(CommunicationDirections::PZ));
+    EXPECT_EQ(nodeIndex, grid->getNumberOfReceiveNodes(CommunicationDirections::PZ));
+}
+
+TEST_P(PeriodicBoundaryShiftMultiGPUIntegrationTest, MZ)
+{
+    const real shift = 3.0f*dx;
+    gridBuilder->setPeriodicBoundaryCondition(true, true, true);
+    switch(direction){
+        case 0: gridBuilder->setPeriodicShiftOnXBoundaryInYDirection(shift); break;
+        case 1: gridBuilder->setPeriodicShiftOnXBoundaryInZDirection(shift); break;
+        case 2: gridBuilder->setPeriodicShiftOnYBoundaryInXDirection(shift); break;
+        case 3: gridBuilder->setPeriodicShiftOnYBoundaryInZDirection(shift); break;
+        case 4: gridBuilder->setPeriodicShiftOnZBoundaryInXDirection(shift); break;
+        case 5: gridBuilder->setPeriodicShiftOnZBoundaryInYDirection(shift); break;
+        case 6: break;
+    }
+    gridBuilder->buildGrids();
+    auto grid = gridBuilder->getGrid(0);
+    grid->findCommunicationIndices(CommunicationDirections::MZ, subdomain, direction!=6);
+    uint nodeIndex=0;
+    for(uint iy=1; iy<grid->getNumberOfNodesY()-1; iy++){
+    for(uint ix=1; ix<grid->getNumberOfNodesX()-1; ix++){
+        real x, y, z;
+        grid->transIndexToCoords(getIndex(grid, ix, iy, 2), x, y, z);
+        if(direction==4)
+            x = wrap(x-shift, (nx+2)*dx);
+        if(direction==5)
+            y = wrap(y-shift, (ny+2)*dx);
+        compareNodeToCoordinates(grid, grid->getSendIndex(CommunicationDirections::MZ, nodeIndex), x, y, z, "Send");
+        compareNodeToCoordinates(grid, grid->getReceiveIndex(CommunicationDirections::MZ, nodeIndex), x, y, z-dx, "Receive");
+        nodeIndex++;
+    }};
+    EXPECT_EQ(nodeIndex, grid->getNumberOfSendNodes(CommunicationDirections::MZ));
+    EXPECT_EQ(nodeIndex, grid->getNumberOfReceiveNodes(CommunicationDirections::MZ));
+}
+INSTANTIATE_TEST_SUITE_P(PeriodicBoundaryShiftMultiGPUIntegration, PeriodicBoundaryShiftMultiGPUIntegrationTest, testing::Combine(testing::Values(5), testing::Range(0,7)));
diff --git a/src/gpu/GridGenerator/grid/GridInterface.cpp b/src/gpu/GridGenerator/grid/GridInterface.cpp
index 7a0e1cf4a0cd7a8a87982f38056a601a4a41cba7..70f9f968d678648d5071c77757530b3478269aaf 100644
--- a/src/gpu/GridGenerator/grid/GridInterface.cpp
+++ b/src/gpu/GridGenerator/grid/GridInterface.cpp
@@ -106,10 +106,9 @@ void GridInterface::findBoundaryGridInterfaceCF(const uint& indexOnCoarseGrid, G
     for(const auto dir : coarseGrid->distribution)
     {
         const bool isFineGridNeighborInvalid = isNeighborNestedInvalid(x + dir[0] * coarseGrid->getDelta(), y + dir[1] * coarseGrid->getDelta(), z + dir[2] * coarseGrid->getDelta(), coarseGrid, fineGrid);
-        if(isFineGridNeighborInvalid)
-        {
-			bn.base[bn.numberOfEntries] = this->findOffsetBaseToNested(indexOnCoarseGrid, coarseGrid, bn.numberOfEntries);
-			bn.nested[bn.numberOfEntries]   = indexOnFineGridCF;
+        if (isFineGridNeighborInvalid) {
+            bn.base[bn.numberOfEntries] = this->findOffsetBaseToNested(indexOnCoarseGrid, coarseGrid, bn.numberOfEntries);
+            bn.nested[bn.numberOfEntries] = indexOnFineGridCF;
 
             bn.numberOfEntries++;
 
@@ -145,24 +144,23 @@ void GridInterface::findInterfaceFC(const uint& indexOnCoarseGrid, GridImp* coar
     real x, y, z;
     coarseGrid->transIndexToCoords(indexOnCoarseGrid, x, y, z);
 
-    for (const auto dir : coarseGrid->distribution)
-    {
+    for (const auto dir : coarseGrid->distribution) {
         const uint neighborIndex = findNeighborIndex(x, y, z, coarseGrid, dir);
-		if (neighborIndex != INVALID_INDEX)
-		{
-			const bool neighborBelongsToCoarseToFineInterpolationCell = coarseGrid->getField().isBaseToNestedNode(neighborIndex);
-			if (neighborBelongsToCoarseToFineInterpolationCell)
-			{
-				nb.base[nb.numberOfEntries] = indexOnCoarseGrid;
-				nb.nested[nb.numberOfEntries] = this->findOffsetNestedToBase(indexOnFineGridFC, fineGrid, nb.numberOfEntries);
-
-				nb.numberOfEntries++;
-
-				fineGrid->setNonStopperOutOfGridCellTo(indexOnFineGridFC, FLUID_FCF);
-				coarseGrid->getField().setFieldEntry(indexOnCoarseGrid, FLUID_FCC);
-				break;
-			}
-		}
+        if (neighborIndex != INVALID_INDEX) {
+            const bool neighborBelongsToCoarseToFineInterpolationCell =
+                coarseGrid->getField().isBaseToNestedNode(neighborIndex);
+            if (neighborBelongsToCoarseToFineInterpolationCell) {
+                nb.base[nb.numberOfEntries] = indexOnCoarseGrid;
+                nb.nested[nb.numberOfEntries] =
+                    this->findOffsetNestedToBase(indexOnFineGridFC, fineGrid, nb.numberOfEntries);
+
+                nb.numberOfEntries++;
+
+                fineGrid->setNonStopperOutOfGridCellTo(indexOnFineGridFC, FLUID_FCF);
+                coarseGrid->getField().setFieldEntry(indexOnCoarseGrid, FLUID_FCC);
+                break;
+            }
+        }
     }
 }
 
@@ -290,7 +288,7 @@ void GridInterface::findOverlapStopper(const uint& indexOnCoarseGrid, GridImp* c
     for (const auto dir : coarseGrid->distribution)
     {
         //if (dir[0] > 0 || dir[1] > 0 || dir[2] > 0)  //only Esoteric Twist stopper, not perfectly implemented
-        //    continue;								   //should not be here, should be made conditional
+        //    continue;                                   //should not be here, should be made conditional
 
         const uint neighborIndex = coarseGrid->transCoordToIndex(x + dir[0] * coarseGrid->getDelta(), y + dir[1] * coarseGrid->getDelta(), z + dir[2] * coarseGrid->getDelta());
         neighborBelongsToFineToCoarseInterpolationCell = neighborIndex != INVALID_INDEX ? coarseGrid->getField().isFineToCoarseNode(neighborIndex) : false;
@@ -301,11 +299,11 @@ void GridInterface::findOverlapStopper(const uint& indexOnCoarseGrid, GridImp* c
         }
     }
 
-	//should be inside of fine grid and can be deleted
+    //should be inside of fine grid and can be deleted
     if(!neighborBelongsToFineToCoarseInterpolationCell && (fineGrid->getField().isInvalidSolid(indexOnFineGridFC) || 
-	                                                       fineGrid->getField().isFluid(indexOnFineGridFC) ||
-	                                                       fineGrid->getField().is(indexOnFineGridFC, STOPPER_SOLID) || 
-	                                                       fineGrid->getField().is(indexOnFineGridFC, BC_SOLID)))
+                                                           fineGrid->getField().isFluid(indexOnFineGridFC) ||
+                                                           fineGrid->getField().is(indexOnFineGridFC, STOPPER_SOLID) || 
+                                                           fineGrid->getField().is(indexOnFineGridFC, BC_SOLID)))
         coarseGrid->getField().setFieldEntryToInvalidCoarseUnderFine(indexOnCoarseGrid);
 }
 
@@ -475,16 +473,16 @@ uint GridInterface::findOffsetBaseToNested(const uint& indexOnCoarseGrid, GridIm
         if( coarseGrid->cellContainsOnly( neighborCell, FLUID, FLUID_CFC ) ){
             this->bn.offset[ interfaceIndex ] = dirIndex;
 
-			return coarseGrid->transCoordToIndex( x + dir[0] * coarseGrid->getDelta(),
-				                                  y + dir[1] * coarseGrid->getDelta(),
-				                                  z + dir[2] * coarseGrid->getDelta() );
+            return coarseGrid->transCoordToIndex( x + dir[0] * coarseGrid->getDelta(),
+                                                  y + dir[1] * coarseGrid->getDelta(),
+                                                  z + dir[2] * coarseGrid->getDelta() );
         }
     
         dirIndex++;
     }
 
-	// this point should never be reached
-	return indexOnCoarseGrid;
+    // this point should never be reached
+    return indexOnCoarseGrid;
 }
 
 uint GridInterface::findOffsetNestedToBase(const uint& indexOnFineGrid, GridImp* fineGrid, uint interfaceIndex)
@@ -508,18 +506,18 @@ uint GridInterface::findOffsetNestedToBase(const uint& indexOnFineGrid, GridImp*
                            fineGrid->getDelta() );
 
         if( fineGrid->cellContainsOnly( neighborCell, FLUID, FLUID_CFC ) ){
-			this->nb.offset[interfaceIndex] = dirIndex;
+            this->nb.offset[interfaceIndex] = dirIndex;
 
-			return fineGrid->transCoordToIndex(x + dir[0] * fineGrid->getDelta(),
-				                               y + dir[1] * fineGrid->getDelta(),
-				                               z + dir[2] * fineGrid->getDelta());
+            return fineGrid->transCoordToIndex(x + dir[0] * fineGrid->getDelta(),
+                                               y + dir[1] * fineGrid->getDelta(),
+                                               z + dir[2] * fineGrid->getDelta());
         }
     
         dirIndex++;
     }
 
-	// this point should never be reached
-	return indexOnFineGrid;
+    // this point should never be reached
+    return indexOnFineGrid;
 }
 
 void GridInterface::print() const
diff --git a/src/gpu/GridGenerator/io/QLineWriter.cpp b/src/gpu/GridGenerator/io/QLineWriter.cpp
index 1aece49ceeabc5ca195146f2ac6dcb7ba960f3ea..b642482b3e2ac943227713ee301e1069c554bb82 100644
--- a/src/gpu/GridGenerator/io/QLineWriter.cpp
+++ b/src/gpu/GridGenerator/io/QLineWriter.cpp
@@ -48,11 +48,11 @@ void writeLines(std::string filename, std::vector<UbTupleFloat3> nodes, std::vec
 
 void QLineWriter::writeArrows(std::string fileName, SPtr<GeometryBoundaryCondition> geometryBoundaryCondition, SPtr<Grid> grid)
 {
-	if (geometryBoundaryCondition == nullptr)
-	{
+    if (geometryBoundaryCondition == nullptr)
+    {
         VF_LOG_WARNING("(QLineWriter::writeArrows) no geometry bc on this grid level.");
-		return;
-	}
+        return;
+    }
     std::vector<UbTupleFloat3> nodes;
     std::vector<UbTupleInt2> cells;
 
@@ -60,7 +60,7 @@ void QLineWriter::writeArrows(std::string fileName, SPtr<GeometryBoundaryConditi
     for (std::size_t index = 0; index < geometryBoundaryCondition->indices.size(); index++)
     {
         Vertex startNode = getVertex(geometryBoundaryCondition->indices[index], grid);
-		for (int qi = 0; qi <= 26; qi++)
+        for (int qi = 0; qi <= 26; qi++)
         {
             real qval = geometryBoundaryCondition->qs[index][qi];
             if (qval > 0.0f)
diff --git a/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.cpp b/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.cpp
index 669d7fb258759266b06a5cc214befdb3f1a6ec29..4ec6e71e21c901ea5802b511c83259928fd3eecb 100644
--- a/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.cpp
+++ b/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.cpp
@@ -234,34 +234,34 @@ std::vector<Triangle> STLReader::readBinarySTL(const std::string& name)
         triangles.push_back(Triangle(p1, p2, p3, normal));
     }
     (void)sizef;
-	fclose(file);
+    fclose(file);
 
     return triangles;
 }
 
 std::vector<Triangle> STLReader::readSTL(const BoundingBox &box, const std::string& name)
 {
-	std::ifstream file(name.c_str());
-	if (file.is_open()) {
-		std::string line;
-		std::getline(file, line);
-		line[strcspn(line.c_str(), "\r\n")] = 0;
-		if (strcmp(line.c_str(), "solid ascii") == 0) {
-			file.close();
+    std::ifstream file(name.c_str());
+    if (file.is_open()) {
+        std::string line;
+        std::getline(file, line);
+        line[strcspn(line.c_str(), "\r\n")] = 0;
+        if (strcmp(line.c_str(), "solid ascii") == 0) {
+            file.close();
             VF_LOG_INFO("start reading ascii STL file {}", name);
-			return readASCIISTL(box, name);
-		}
-		else {
-			file.close();
+            return readASCIISTL(box, name);
+        }
+        else {
+            file.close();
             VF_LOG_INFO("start reading binary STL file {}", name);
-			std::vector<Triangle> triangles = readBinarySTL(box, name);
-			return triangles;
-		}
-	}
-	else {
+            std::vector<Triangle> triangles = readBinarySTL(box, name);
+            return triangles;
+        }
+    }
+    else {
         VF_LOG_CRITICAL("can't open STL-file {}", name);
-		exit(1);
-	}
+        exit(1);
+    }
 }
 
 std::vector<Triangle> STLReader::readASCIISTL(const BoundingBox &box, const std::string& name)
@@ -332,7 +332,7 @@ std::vector<Triangle> STLReader::readBinarySTL(const BoundingBox &box, const std
     VF_LOG_INFO("Number of Triangles in process: {}", size);
     VF_LOG_INFO("Complete reading STL file");
     (void)sizef;
-	fclose(file);
+    fclose(file);
 
     return triangles;
 }
diff --git a/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.h b/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.h
index 333313727530ae551c76a76984cd63f6cd0f11ce..e9a76b9fbb8c99557b6825845349dde942158eb6 100644
--- a/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.h
+++ b/src/gpu/GridGenerator/io/STLReaderWriter/STLReader.h
@@ -51,13 +51,13 @@ public:
 
     static std::vector<Triangle> readSTL(const std::string& name);
     static std::vector<Triangle> readSTL(const std::string& name, FileType fileType, const std::vector<uint> ignorePatches = std::vector<uint>() );
-	static std::vector<Triangle> readSTL(const BoundingBox &box, const std::string& name);
+    static std::vector<Triangle> readSTL(const BoundingBox &box, const std::string& name);
 
     static std::vector<Triangle> readBinarySTL(const std::string& name);
     static std::vector<Triangle> readASCIISTL(const std::string& name);
     static std::vector<Triangle> readASCIISTLWithPatches(const std::string& name, const std::vector<uint> ignorePatches);
-	static std::vector<Triangle> readBinarySTL(const BoundingBox &box, const std::string& name);
-	static std::vector<Triangle> readASCIISTL(const BoundingBox &box, const std::string& name);
+    static std::vector<Triangle> readBinarySTL(const BoundingBox &box, const std::string& name);
+    static std::vector<Triangle> readASCIISTL(const BoundingBox &box, const std::string& name);
 
 private:
     STLReader(){};
diff --git a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.cpp b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.cpp
index 34b6b1d3c30b15333afb0afeb5d35d2894e07e52..f8585e2015c9d063d335332bf8a127775bd74aa9 100644
--- a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.cpp
+++ b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.cpp
@@ -50,25 +50,25 @@ const std::string simulationFileNames::scaleFCF = "scaleFCF" + fileEnding;
 
 const std::string simulationFileNames::offsetVecCF = "offsetVecCF" + fileEnding;
 const std::string simulationFileNames::offsetVecFC = "offsetVecFC" + fileEnding;
-		
+        
 const std::string simulationFileNames::geomBoundaryQ = "geomBoundaryQs" + fileEnding;
 const std::string simulationFileNames::geomBoundaryValues = "geomBoundaryValues" + fileEnding;
-			
+            
 const std::string simulationFileNames::topBoundaryQ = "topBoundaryQs" + fileEnding;
 const std::string simulationFileNames::topBoundaryValues = "topBoundaryValues" + fileEnding;
-				
+                
 const std::string simulationFileNames::bottomBoundaryQ = "bottomBoundaryQs" + fileEnding;
 const std::string simulationFileNames::bottomBoundaryValues = "bottomBoundaryValues" + fileEnding;
-			
+            
 const std::string simulationFileNames::frontBoundaryQ = "frontBoundaryQs" + fileEnding;
 const std::string simulationFileNames::frontBoundaryValues = "frontBoundaryValues" + fileEnding;
-				 
+                 
 const std::string simulationFileNames::backBoundaryQ = "backBoundaryQs" + fileEnding;
 const std::string simulationFileNames::backBoundaryValues = "backBoundaryValues" + fileEnding;
-				  
+                  
 const std::string simulationFileNames::inletBoundaryQ = "inletBoundaryQs" + fileEnding;
 const std::string simulationFileNames::inletBoundaryValues = "inletBoundaryValues" + fileEnding;
-				
+                
 const std::string simulationFileNames::outletBoundaryQ = "outletBoundaryQs" + fileEnding;
 const std::string simulationFileNames::outletBoundaryValues = "outletBoundaryValues" + fileEnding;
 
diff --git a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.h b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.h
index 4be5b44bd4760764da672239052e17bd406316d3..58de6dd5d27c37cf126221b6cf44ff6f5f4cd4c0 100644
--- a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.h
+++ b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileNames.h
@@ -39,14 +39,14 @@
 
 struct GRIDGENERATOR_EXPORT simulationFileNames
 {
-	static const std::string coordX;
-	static const std::string coordY;
-	static const std::string coordZ;
-	static const std::string neighborX;
-	static const std::string neighborY;
-	static const std::string neighborZ;
-	static const std::string neighborWSB;
-	static const std::string geoVec;
+    static const std::string coordX;
+    static const std::string coordY;
+    static const std::string coordZ;
+    static const std::string neighborX;
+    static const std::string neighborY;
+    static const std::string neighborZ;
+    static const std::string neighborWSB;
+    static const std::string geoVec;
 
     static const std::string scaleCFC;
     static const std::string scaleCFF;
@@ -55,27 +55,27 @@ struct GRIDGENERATOR_EXPORT simulationFileNames
 
     static const std::string offsetVecCF;
     static const std::string offsetVecFC;
-	
-	static const std::string geomBoundaryQ;
-	static const std::string geomBoundaryValues;
-	
-	static const std::string topBoundaryQ;
-	static const std::string topBoundaryValues;
-	
-	static const std::string bottomBoundaryQ;
-	static const std::string bottomBoundaryValues;
-	
-	static const std::string frontBoundaryQ;
-	static const std::string frontBoundaryValues;
-	
-	static const std::string backBoundaryQ;
-	static const std::string backBoundaryValues;
-	
-	static const std::string inletBoundaryQ;
-	static const std::string inletBoundaryValues;
-	
-	static const std::string outletBoundaryQ;
-	static const std::string outletBoundaryValues;
+    
+    static const std::string geomBoundaryQ;
+    static const std::string geomBoundaryValues;
+    
+    static const std::string topBoundaryQ;
+    static const std::string topBoundaryValues;
+    
+    static const std::string bottomBoundaryQ;
+    static const std::string bottomBoundaryValues;
+    
+    static const std::string frontBoundaryQ;
+    static const std::string frontBoundaryValues;
+    
+    static const std::string backBoundaryQ;
+    static const std::string backBoundaryValues;
+    
+    static const std::string inletBoundaryQ;
+    static const std::string inletBoundaryValues;
+    
+    static const std::string outletBoundaryQ;
+    static const std::string outletBoundaryValues;
 
     static const std::string numberNodes;
     static const std::string LBMvsSI;
diff --git a/src/gpu/GridGenerator/utilities/math/Math.cpp b/src/gpu/GridGenerator/utilities/math/Math.cpp
index 0f5f5cc8e05c9ce08a2854c0354371e18964610e..458aa2c1c83b972ad670aead1ab9f3b18ba0d3a6 100644
--- a/src/gpu/GridGenerator/utilities/math/Math.cpp
+++ b/src/gpu/GridGenerator/utilities/math/Math.cpp
@@ -38,28 +38,28 @@
 
 bool vf::Math::equal(const real& val1, const real& val2, real maxRelDiff)
 {
-	const real diff = std::fabs(val1 - val2);
-	const real val1_abs = std::fabs(val1);
-	const real val2_abs = std::fabs(val2);
+    const real diff = std::fabs(val1 - val2);
+    const real val1_abs = std::fabs(val1);
+    const real val2_abs = std::fabs(val2);
 
-	const real largest = (val2_abs > val1_abs) ? val2_abs : val1_abs;
-	if (diff <= largest * maxRelDiff)
-		return true;
-	return false;
+    const real largest = (val2_abs > val1_abs) ? val2_abs : val1_abs;
+    if (diff <= largest * maxRelDiff)
+        return true;
+    return false;
 }
 
 bool vf::Math::lessEqual(const real& val1, const real& val2, real maxRelDiff)
 {
-	if (val1 < val2 || equal(val1, val2, maxRelDiff))
-		return true;
-	return false;
+    if (val1 < val2 || equal(val1, val2, maxRelDiff))
+        return true;
+    return false;
 }
 
 bool vf::Math::greaterEqual(const real& val1, const real& val2, real maxRelDiff)
 {
-	if (val1 > val2 || equal(val1, val2, maxRelDiff))
-		return true;
-	return false;
+    if (val1 > val2 || equal(val1, val2, maxRelDiff))
+        return true;
+    return false;
 }
 
 real vf::Math::sqrtReal(const real& val)
diff --git a/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.h b/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.h
index ad80114945c9e9be4cc38afa46c493edc1c55b66..c82b4aecdfb83a39729345a78699f1fbb10eb151 100644
--- a/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.h
+++ b/src/gpu/GridGenerator/utilities/transformator/ArrowTransformator.h
@@ -43,13 +43,13 @@ class ArrowTransformator
 {
 public:
     static GRIDGENERATOR_EXPORT std::shared_ptr<ArrowTransformator> makeTransformator(real delta, real dx, real dy, real dz);
-	virtual ~ArrowTransformator() {}
+    virtual ~ArrowTransformator() {}
 
 protected:
-	ArrowTransformator() {}
-	
+    ArrowTransformator() {}
+    
 public:
-	virtual void transformGridToWorld(std::shared_ptr<Arrow> arrow) const = 0;
+    virtual void transformGridToWorld(std::shared_ptr<Arrow> arrow) const = 0;
 };
 
 
diff --git a/src/gpu/GridGenerator/utilities/transformator/Transformator.h b/src/gpu/GridGenerator/utilities/transformator/Transformator.h
index 9510e818f3467bc4346fc9e8ece58a83c139e11d..36c499269272d7b65bbfbd94aa286b566abc81eb 100644
--- a/src/gpu/GridGenerator/utilities/transformator/Transformator.h
+++ b/src/gpu/GridGenerator/utilities/transformator/Transformator.h
@@ -47,21 +47,21 @@ class Transformator
 {
 public:
     static GRIDGENERATOR_EXPORT std::shared_ptr<Transformator> makeTransformator(real delta, real dx, real dy, real dz);
-	virtual ~Transformator() {}
+    virtual ~Transformator() {}
 
 protected:
-	Transformator(){}
+    Transformator(){}
 
 public:
-	virtual void transformWorldToGrid(Triangle &value) const = 0;
-	virtual void transformWorldToGrid(TriangularMesh &geom) const = 0;
-	virtual void transformWorldToGrid(Vertex &value) const = 0;
+    virtual void transformWorldToGrid(Triangle &value) const = 0;
+    virtual void transformWorldToGrid(TriangularMesh &geom) const = 0;
+    virtual void transformWorldToGrid(Vertex &value) const = 0;
 
     virtual void transformGridToWorld(Triangle &t) const = 0;
-	virtual void transformGridToWorld(Vertex &value) const = 0;
-	
-	virtual void transformGridToWorld(BoundingBox &box) const = 0;
-	virtual void transformWorldToGrid(BoundingBox &box) const = 0;
+    virtual void transformGridToWorld(Vertex &value) const = 0;
+    
+    virtual void transformGridToWorld(BoundingBox &box) const = 0;
+    virtual void transformWorldToGrid(BoundingBox &box) const = 0;
 
 };
 
diff --git a/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.cpp b/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.cpp
index 3c7a3b675104eabab89c59d481797ff41b2033c8..ec99818cdea2e62c93c318388fb14cb4c4eb7b02 100644
--- a/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.cpp
+++ b/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.cpp
@@ -42,16 +42,16 @@
 
 TransformatorImp::TransformatorImp() 
 {
-	this->translater = std::shared_ptr<Vertex>(new Vertex());
-	this->delta = 1.0;
-	this->translater->x = 0;
-	this->translater->y = 0;
-	this->translater->z = 0;
+    this->translater = std::shared_ptr<Vertex>(new Vertex());
+    this->delta = 1.0;
+    this->translater->x = 0;
+    this->translater->y = 0;
+    this->translater->z = 0;
 }
 
 TransformatorImp::TransformatorImp(real delta, const Vertex& translater) : delta(delta), translater(std::make_shared<Vertex>(translater))
 {
-	this->verifyDelta(delta);
+    this->verifyDelta(delta);
 }
 
 TransformatorImp::TransformatorImp(real delta, real dx, real dy, real dz) : TransformatorImp(delta, Vertex(dx,dy,dz))
@@ -61,8 +61,8 @@ TransformatorImp::TransformatorImp(real delta, real dx, real dy, real dz) : Tran
 
 TransformatorImp::TransformatorImp(const TransformatorImp& trafo)
 {
-	this->delta = trafo.delta;
-	this->translater = std::shared_ptr<Vertex>(new Vertex(*trafo.translater.get()));
+    this->delta = trafo.delta;
+    this->translater = std::shared_ptr<Vertex>(new Vertex(*trafo.translater.get()));
 }
 
 TransformatorImp::~TransformatorImp()
@@ -72,38 +72,38 @@ TransformatorImp::~TransformatorImp()
 
 void TransformatorImp::transformWorldToGrid(TriangularMesh &geom) const
 {
-	for (int i = 0; i < geom.size; i++)
-		transformWorldToGrid(geom.triangleVec[i]);
+    for (int i = 0; i < geom.size; i++)
+        transformWorldToGrid(geom.triangleVec[i]);
 }
 
 void TransformatorImp::transformWorldToGrid(Triangle &value) const
 {
-	transformWorldToGrid(value.v1);
-	transformWorldToGrid(value.v2);
-	transformWorldToGrid(value.v3);
+    transformWorldToGrid(value.v1);
+    transformWorldToGrid(value.v2);
+    transformWorldToGrid(value.v3);
 }
 
 void TransformatorImp::transformGridToWorld(std::shared_ptr<Arrow> arrow) const
 {
-	transformGridToWorld(*arrow->getStart());
-	transformGridToWorld(*arrow->getEnd());
+    transformGridToWorld(*arrow->getStart());
+    transformGridToWorld(*arrow->getEnd());
 }
 
 void TransformatorImp::transformWorldToGrid(Vertex &v) const
 {
-	translateWorldToView(v);
-	scaleWorldToView(v);
+    translateWorldToView(v);
+    scaleWorldToView(v);
 }
 
 
 void TransformatorImp::translateWorldToView(Vertex& v) const
 {
-	v = *translater.get() + v;
+    v = *translater.get() + v;
 }
 
 void TransformatorImp::scaleWorldToView(Vertex& v) const
 {
-	v = v * (1.0f / this->delta);
+    v = v * (1.0f / this->delta);
 }
 
 
@@ -116,75 +116,75 @@ void TransformatorImp::transformGridToWorld(Triangle & t) const
 
 void TransformatorImp::transformGridToWorld(Vertex &value) const
 {
-	scaleGridToWorld(value);
-	translateGridToWorld(value);
+    scaleGridToWorld(value);
+    translateGridToWorld(value);
 }
 
 void TransformatorImp::scaleGridToWorld(Vertex & value) const
 {
-	value = value * this->delta;
+    value = value * this->delta;
 }
 
 
 void TransformatorImp::translateGridToWorld(Vertex & value) const
 {
-	value = value - *translater.get();
+    value = value - *translater.get();
 }
 
 
 void TransformatorImp::transformGridToWorld(BoundingBox &box) const
 {
-	//scale
-	box.minX = (box.minX * this->delta);
-	box.minY = (box.minY * this->delta);
-	box.minZ = (box.minZ * this->delta);
+    //scale
+    box.minX = (box.minX * this->delta);
+    box.minY = (box.minY * this->delta);
+    box.minZ = (box.minZ * this->delta);
 
-	box.maxX = (box.maxX * this->delta);
-	box.maxY = (box.maxY * this->delta);
-	box.maxZ = (box.maxZ * this->delta);
+    box.maxX = (box.maxX * this->delta);
+    box.maxY = (box.maxY * this->delta);
+    box.maxZ = (box.maxZ * this->delta);
 
-	//translate
-	box.minX = (box.minX - this->translater->x);
-	box.minY = (box.minY - this->translater->y);
-	box.minZ = (box.minZ - this->translater->z);
+    //translate
+    box.minX = (box.minX - this->translater->x);
+    box.minY = (box.minY - this->translater->y);
+    box.minZ = (box.minZ - this->translater->z);
 
-	box.maxX = (box.maxX - this->translater->x);
-	box.maxY = (box.maxY - this->translater->y);
-	box.maxZ = (box.maxZ - this->translater->z);
+    box.maxX = (box.maxX - this->translater->x);
+    box.maxY = (box.maxY - this->translater->y);
+    box.maxZ = (box.maxZ - this->translater->z);
 }
 
 void TransformatorImp::transformWorldToGrid(BoundingBox &box) const
 {
-	//translate
-	box.minX += this->translater->x;
-	box.minY += this->translater->y;
-	box.minZ += this->translater->z;
+    //translate
+    box.minX += this->translater->x;
+    box.minY += this->translater->y;
+    box.minZ += this->translater->z;
 
-	box.maxX += this->translater->x;
-	box.maxY += this->translater->y;
-	box.maxZ += this->translater->z;
+    box.maxX += this->translater->x;
+    box.maxY += this->translater->y;
+    box.maxZ += this->translater->z;
 
-	//scale
-	box.minX *= (1.0f / this->delta);
-	box.minY *= (1.0f / this->delta);
-	box.minZ *= (1.0f / this->delta);
+    //scale
+    box.minX *= (1.0f / this->delta);
+    box.minY *= (1.0f / this->delta);
+    box.minZ *= (1.0f / this->delta);
 
-	box.maxX *= (1.0f / this->delta);
-	box.maxY *= (1.0f / this->delta);
-	box.maxZ *= (1.0f / this->delta);
+    box.maxX *= (1.0f / this->delta);
+    box.maxY *= (1.0f / this->delta);
+    box.maxZ *= (1.0f / this->delta);
 }
 
 
 void TransformatorImp::verifyDelta(real delta) const
 {
-	if (delta <= 0.0)
-		throw invalidDelta();
+    if (delta <= 0.0)
+        throw invalidDelta();
 }
 
 bool TransformatorImp::operator==(const TransformatorImp& trafo) const
 {
-	return (this->delta == trafo.delta
-		&& this->translater->x == trafo.translater->x
-		&& this->translater->y == trafo.translater->y
-		&& this->translater->z == trafo.translater->z);
+    return (this->delta == trafo.delta
+        && this->translater->x == trafo.translater->x
+        && this->translater->y == trafo.translater->y
+        && this->translater->z == trafo.translater->z);
 }
diff --git a/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.h b/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.h
index 40110a15d7deb0d62f12943a48536201022f2321..8df4f6ac18c6f7eb2dcccdfb747eb96959053158 100644
--- a/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.h
+++ b/src/gpu/GridGenerator/utilities/transformator/TransformatorImp.h
@@ -52,50 +52,50 @@ class invalidDelta : public std::exception
     invalidDelta() : error_message ("Delta cant be < Null. To enable no changes change delta to 1.0.")
     {}
 
-	const char* what() const noexcept
+    const char* what() const noexcept
     {
-	    return error_message.c_str();
-	}
+        return error_message.c_str();
+    }
 
     private:
     std::string error_message;
 };
 
 class TransformatorImp
-	: public Transformator, public ArrowTransformator
+    : public Transformator, public ArrowTransformator
 {
 public:
-	GRIDGENERATOR_EXPORT TransformatorImp();
-	GRIDGENERATOR_EXPORT TransformatorImp(const TransformatorImp& trafo);
-	GRIDGENERATOR_EXPORT TransformatorImp(real delta, const Vertex& translater);
-	GRIDGENERATOR_EXPORT TransformatorImp(real delta, real dx, real dy, real dz);
-	GRIDGENERATOR_EXPORT virtual ~TransformatorImp();
-	
-	GRIDGENERATOR_EXPORT void transformWorldToGrid(Triangle &value) const override;
-	GRIDGENERATOR_EXPORT void transformWorldToGrid(TriangularMesh &geom) const override;
-	GRIDGENERATOR_EXPORT void transformWorldToGrid(Vertex &value) const override;
+    GRIDGENERATOR_EXPORT TransformatorImp();
+    GRIDGENERATOR_EXPORT TransformatorImp(const TransformatorImp& trafo);
+    GRIDGENERATOR_EXPORT TransformatorImp(real delta, const Vertex& translater);
+    GRIDGENERATOR_EXPORT TransformatorImp(real delta, real dx, real dy, real dz);
+    GRIDGENERATOR_EXPORT virtual ~TransformatorImp();
+    
+    GRIDGENERATOR_EXPORT void transformWorldToGrid(Triangle &value) const override;
+    GRIDGENERATOR_EXPORT void transformWorldToGrid(TriangularMesh &geom) const override;
+    GRIDGENERATOR_EXPORT void transformWorldToGrid(Vertex &value) const override;
 
     GRIDGENERATOR_EXPORT void transformGridToWorld(Triangle &t) const override;
-	GRIDGENERATOR_EXPORT void transformGridToWorld(Vertex &value) const override;
+    GRIDGENERATOR_EXPORT void transformGridToWorld(Vertex &value) const override;
 
-	GRIDGENERATOR_EXPORT void transformGridToWorld(BoundingBox &box) const override;
-	GRIDGENERATOR_EXPORT void transformWorldToGrid(BoundingBox &box) const override;
+    GRIDGENERATOR_EXPORT void transformGridToWorld(BoundingBox &box) const override;
+    GRIDGENERATOR_EXPORT void transformWorldToGrid(BoundingBox &box) const override;
 
-	GRIDGENERATOR_EXPORT bool operator==(const TransformatorImp& trafo) const;
+    GRIDGENERATOR_EXPORT bool operator==(const TransformatorImp& trafo) const;
 
-	GRIDGENERATOR_EXPORT virtual void transformGridToWorld(std::shared_ptr<Arrow> arrow) const override;
+    GRIDGENERATOR_EXPORT virtual void transformGridToWorld(std::shared_ptr<Arrow> arrow) const override;
 
 private:
-	real delta;
-	std::shared_ptr<Vertex> translater;
+    real delta;
+    std::shared_ptr<Vertex> translater;
 
-	void scaleWorldToView(Vertex & v) const;
-	void translateWorldToView(Vertex & v) const;
+    void scaleWorldToView(Vertex & v) const;
+    void translateWorldToView(Vertex & v) const;
 
-	void translateGridToWorld(Vertex & value) const;
-	void scaleGridToWorld(Vertex & value) const;
+    void translateGridToWorld(Vertex & value) const;
+    void scaleGridToWorld(Vertex & value) const;
 
-	void verifyDelta(real delta) const;
+    void verifyDelta(real delta) const;
 };
 
 
diff --git a/src/gpu/core/CMakeLists.txt b/src/gpu/core/CMakeLists.txt
index 7fa94c2b16aa35d11d926fecefa700466a8c5ebb..1a5e978f761ab80888da2e6723e1a15169c09025 100644
--- a/src/gpu/core/CMakeLists.txt
+++ b/src/gpu/core/CMakeLists.txt
@@ -26,6 +26,7 @@ if(BUILD_VF_UNIT_TESTS)
     set_source_files_properties(DataStructureInitializer/GridReaderGenerator/IndexRearrangementForStreamsTest.cpp PROPERTIES LANGUAGE CUDA)
     set_source_files_properties(Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17/CumulantK17Test.cpp PROPERTIES LANGUAGE CUDA)
     set_source_files_properties(LBM/GPUHelperFunctions/KernelUtilitiesTests.cpp PROPERTIES LANGUAGE CUDA)
+    set_source_files_properties(Output/DistributionDebugWriterTest.cpp PROPERTIES LANGUAGE CUDA)
     set_source_files_properties(Parameter/ParameterTest.cpp PROPERTIES LANGUAGE CUDA)
     set_source_files_properties(PreCollisionInteractor/ActuatorFarmInlinesTest.cpp PROPERTIES LANGUAGE CUDA)
     set_source_files_properties(GPU/GridScaling/interpolateStaticToRotatingInlinesTest.cpp PROPERTIES LANGUAGE CUDA)
diff --git a/src/gpu/core/Calculation/Calc2ndMoments.cpp b/src/gpu/core/Calculation/Calc2ndMoments.cpp
index e3f344231dc9d5e19c09f7ce1fde7d31f1770232..ad60eb6f21583027bbfdd6b5fd922a50dcb0d9a2 100644
--- a/src/gpu/core/Calculation/Calc2ndMoments.cpp
+++ b/src/gpu/core/Calculation/Calc2ndMoments.cpp
@@ -4,61 +4,61 @@
 
 void alloc2ndMoments(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//allocation (device-memory + host-memory)
-		cudaMemoryManager->cudaAlloc2ndMoments(lev, para->getParH(lev)->numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //allocation (device-memory + host-memory)
+        cudaMemoryManager->cudaAlloc2ndMoments(lev, para->getParH(lev)->numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
 
 
 
 void init2ndMoments(Parameter* para)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//init host arrays
-		for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
-		{
-			para->getParH(lev)->kxyFromfcNEQ[pos]    = 0.0;
-			para->getParH(lev)->kyzFromfcNEQ[pos]    = 0.0;
-			para->getParH(lev)->kxzFromfcNEQ[pos]    = 0.0;
-			para->getParH(lev)->kxxMyyFromfcNEQ[pos] = 0.0;
-			para->getParH(lev)->kxxMzzFromfcNEQ[pos] = 0.0;
-		}
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //init host arrays
+        for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
+        {
+            para->getParH(lev)->kxyFromfcNEQ[pos]    = 0.0;
+            para->getParH(lev)->kyzFromfcNEQ[pos]    = 0.0;
+            para->getParH(lev)->kxzFromfcNEQ[pos]    = 0.0;
+            para->getParH(lev)->kxxMyyFromfcNEQ[pos] = 0.0;
+            para->getParH(lev)->kxxMzzFromfcNEQ[pos] = 0.0;
+        }
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
 
 
 
 void calc2ndMoments(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//calc 2nd Moments on device
-		Calc2ndMomentsCompSP27( para->getParD(lev)->kxyFromfcNEQ,
-								para->getParD(lev)->kyzFromfcNEQ,
-								para->getParD(lev)->kxzFromfcNEQ,
-								para->getParD(lev)->kxxMyyFromfcNEQ,
-								para->getParD(lev)->kxxMzzFromfcNEQ,
-								para->getParD(lev)->typeOfGridNode,       
-								para->getParD(lev)->neighborX, 
-								para->getParD(lev)->neighborY, 
-								para->getParD(lev)->neighborZ,
-								para->getParD(lev)->numberOfNodes, 
-								para->getParD(lev)->numberofthreads, 
-								para->getParD(lev)->distributions.f[0],    
-								para->getParD(lev)->isEvenTimestep);
-		//////////////////////////////////////////////////////////////////////////
-		//copy results to host
-		cudaMemoryManager->cudaCopy2ndMoments(lev, para->getParH(lev)->numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //calc 2nd Moments on device
+        Calc2ndMomentsCompSP27( para->getParD(lev)->kxyFromfcNEQ,
+                                para->getParD(lev)->kyzFromfcNEQ,
+                                para->getParD(lev)->kxzFromfcNEQ,
+                                para->getParD(lev)->kxxMyyFromfcNEQ,
+                                para->getParD(lev)->kxxMzzFromfcNEQ,
+                                para->getParD(lev)->typeOfGridNode,       
+                                para->getParD(lev)->neighborX, 
+                                para->getParD(lev)->neighborY, 
+                                para->getParD(lev)->neighborZ,
+                                para->getParD(lev)->numberOfNodes, 
+                                para->getParD(lev)->numberofthreads, 
+                                para->getParD(lev)->distributions.f[0],    
+                                para->getParD(lev)->isEvenTimestep);
+        //////////////////////////////////////////////////////////////////////////
+        //copy results to host
+        cudaMemoryManager->cudaCopy2ndMoments(lev, para->getParH(lev)->numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
 
 
@@ -99,65 +99,65 @@ void calc2ndMoments(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 
 void alloc3rdMoments(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//allocation (device-memory + host-memory)
-		cudaMemoryManager->cudaAlloc3rdMoments(lev, para->getParH(lev)->numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //allocation (device-memory + host-memory)
+        cudaMemoryManager->cudaAlloc3rdMoments(lev, para->getParH(lev)->numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
 
 
 
 void init3rdMoments(Parameter* para)
 {
-	for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//init host arrays
-		for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
-		{
-			para->getParH(lev)->CUMbbb[pos] = 0.0;
-			para->getParH(lev)->CUMabc[pos] = 0.0;
-			para->getParH(lev)->CUMbac[pos] = 0.0;
-			para->getParH(lev)->CUMbca[pos] = 0.0;
-			para->getParH(lev)->CUMcba[pos] = 0.0;
-			para->getParH(lev)->CUMacb[pos] = 0.0;
-			para->getParH(lev)->CUMcab[pos] = 0.0;
-		}
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //init host arrays
+        for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
+        {
+            para->getParH(lev)->CUMbbb[pos] = 0.0;
+            para->getParH(lev)->CUMabc[pos] = 0.0;
+            para->getParH(lev)->CUMbac[pos] = 0.0;
+            para->getParH(lev)->CUMbca[pos] = 0.0;
+            para->getParH(lev)->CUMcba[pos] = 0.0;
+            para->getParH(lev)->CUMacb[pos] = 0.0;
+            para->getParH(lev)->CUMcab[pos] = 0.0;
+        }
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
 
 
 
 void calc3rdMoments(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//calc 2nd Moments on device
-		Calc3rdMomentsCompSP27( para->getParD(lev)->CUMbbb,
-								para->getParD(lev)->CUMabc,
-								para->getParD(lev)->CUMbac,
-								para->getParD(lev)->CUMbca,
-								para->getParD(lev)->CUMcba,
-								para->getParD(lev)->CUMacb,
-								para->getParD(lev)->CUMcab,
-								para->getParD(lev)->typeOfGridNode,       
-								para->getParD(lev)->neighborX, 
-								para->getParD(lev)->neighborY, 
-								para->getParD(lev)->neighborZ,
-								para->getParD(lev)->numberOfNodes, 
-								para->getParD(lev)->numberofthreads, 
-								para->getParD(lev)->distributions.f[0],    
-								para->getParD(lev)->isEvenTimestep);
-		//////////////////////////////////////////////////////////////////////////
-		//copy results to host
-		cudaMemoryManager->cudaCopy3rdMoments(lev, para->getParH(lev)->numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //calc 2nd Moments on device
+        Calc3rdMomentsCompSP27( para->getParD(lev)->CUMbbb,
+                                para->getParD(lev)->CUMabc,
+                                para->getParD(lev)->CUMbac,
+                                para->getParD(lev)->CUMbca,
+                                para->getParD(lev)->CUMcba,
+                                para->getParD(lev)->CUMacb,
+                                para->getParD(lev)->CUMcab,
+                                para->getParD(lev)->typeOfGridNode,       
+                                para->getParD(lev)->neighborX, 
+                                para->getParD(lev)->neighborY, 
+                                para->getParD(lev)->neighborZ,
+                                para->getParD(lev)->numberOfNodes, 
+                                para->getParD(lev)->numberofthreads, 
+                                para->getParD(lev)->distributions.f[0],    
+                                para->getParD(lev)->isEvenTimestep);
+        //////////////////////////////////////////////////////////////////////////
+        //copy results to host
+        cudaMemoryManager->cudaCopy3rdMoments(lev, para->getParH(lev)->numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
 
 
@@ -198,69 +198,69 @@ void calc3rdMoments(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 
 void allocHigherOrderMoments(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//allocation (device-memory + host-memory)
-		cudaMemoryManager->cudaAllocHigherMoments(lev, para->getParH(lev)->numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //allocation (device-memory + host-memory)
+        cudaMemoryManager->cudaAllocHigherMoments(lev, para->getParH(lev)->numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
 
 
 
 void initHigherOrderMoments(Parameter* para)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//init host arrays
-		for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
-		{
-			para->getParH(lev)->CUMcbb[pos] = 0.0;
-			para->getParH(lev)->CUMbcb[pos] = 0.0;
-			para->getParH(lev)->CUMbbc[pos] = 0.0;
-			para->getParH(lev)->CUMcca[pos] = 0.0;
-			para->getParH(lev)->CUMcac[pos] = 0.0;
-			para->getParH(lev)->CUMacc[pos] = 0.0;
-			para->getParH(lev)->CUMbcc[pos] = 0.0;
-			para->getParH(lev)->CUMcbc[pos] = 0.0;
-			para->getParH(lev)->CUMccb[pos] = 0.0;
-			para->getParH(lev)->CUMccc[pos] = 0.0;
-		}
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //init host arrays
+        for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
+        {
+            para->getParH(lev)->CUMcbb[pos] = 0.0;
+            para->getParH(lev)->CUMbcb[pos] = 0.0;
+            para->getParH(lev)->CUMbbc[pos] = 0.0;
+            para->getParH(lev)->CUMcca[pos] = 0.0;
+            para->getParH(lev)->CUMcac[pos] = 0.0;
+            para->getParH(lev)->CUMacc[pos] = 0.0;
+            para->getParH(lev)->CUMbcc[pos] = 0.0;
+            para->getParH(lev)->CUMcbc[pos] = 0.0;
+            para->getParH(lev)->CUMccb[pos] = 0.0;
+            para->getParH(lev)->CUMccc[pos] = 0.0;
+        }
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
 
 
 
 void calcHigherOrderMoments(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//calc 2nd Moments on device
-		CalcHigherMomentsCompSP27(  para->getParD(lev)->CUMcbb,
-									para->getParD(lev)->CUMbcb,
-									para->getParD(lev)->CUMbbc,
-									para->getParD(lev)->CUMcca,
-									para->getParD(lev)->CUMcac,
-									para->getParD(lev)->CUMacc,
-									para->getParD(lev)->CUMbcc,
-									para->getParD(lev)->CUMcbc,
-									para->getParD(lev)->CUMccb,
-									para->getParD(lev)->CUMccc,
-									para->getParD(lev)->typeOfGridNode,       
-									para->getParD(lev)->neighborX, 
-									para->getParD(lev)->neighborY, 
-									para->getParD(lev)->neighborZ,
-									para->getParD(lev)->numberOfNodes, 
-									para->getParD(lev)->numberofthreads, 
-									para->getParD(lev)->distributions.f[0],    
-									para->getParD(lev)->isEvenTimestep);
-		//////////////////////////////////////////////////////////////////////////
-		//copy results to host
-		cudaMemoryManager->cudaCopyHigherMoments(lev, para->getParH(lev)->numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev=para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //calc 2nd Moments on device
+        CalcHigherMomentsCompSP27(  para->getParD(lev)->CUMcbb,
+                                    para->getParD(lev)->CUMbcb,
+                                    para->getParD(lev)->CUMbbc,
+                                    para->getParD(lev)->CUMcca,
+                                    para->getParD(lev)->CUMcac,
+                                    para->getParD(lev)->CUMacc,
+                                    para->getParD(lev)->CUMbcc,
+                                    para->getParD(lev)->CUMcbc,
+                                    para->getParD(lev)->CUMccb,
+                                    para->getParD(lev)->CUMccc,
+                                    para->getParD(lev)->typeOfGridNode,       
+                                    para->getParD(lev)->neighborX, 
+                                    para->getParD(lev)->neighborY, 
+                                    para->getParD(lev)->neighborZ,
+                                    para->getParD(lev)->numberOfNodes, 
+                                    para->getParD(lev)->numberofthreads, 
+                                    para->getParD(lev)->distributions.f[0],    
+                                    para->getParD(lev)->isEvenTimestep);
+        //////////////////////////////////////////////////////////////////////////
+        //copy results to host
+        cudaMemoryManager->cudaCopyHigherMoments(lev, para->getParH(lev)->numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
diff --git a/src/gpu/core/Calculation/CalcMedian.cpp b/src/gpu/core/Calculation/CalcMedian.cpp
index 80a667f91976b745b619fed5d5763b5429a6559c..f2056c24c6baffa5b227a111bd66d7dbf815e373 100644
--- a/src/gpu/core/Calculation/CalcMedian.cpp
+++ b/src/gpu/core/Calculation/CalcMedian.cpp
@@ -11,18 +11,18 @@
 
 void allocMedian(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		cudaMemoryManager->cudaAllocMedianOut(lev);
-		for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
-		{
-			para->getParH(lev)->vx_SP_Med_Out[pos]    = (real)0.0;
-			para->getParH(lev)->vy_SP_Med_Out[pos]    = (real)0.0;
-			para->getParH(lev)->vz_SP_Med_Out[pos]    = (real)0.0;
-			para->getParH(lev)->rho_SP_Med_Out[pos]   = (real)0.0;
-			para->getParH(lev)->press_SP_Med_Out[pos] = (real)0.0;
-		}
-	}
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        cudaMemoryManager->cudaAllocMedianOut(lev);
+        for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
+        {
+            para->getParH(lev)->vx_SP_Med_Out[pos]    = (real)0.0;
+            para->getParH(lev)->vy_SP_Med_Out[pos]    = (real)0.0;
+            para->getParH(lev)->vz_SP_Med_Out[pos]    = (real)0.0;
+            para->getParH(lev)->rho_SP_Med_Out[pos]   = (real)0.0;
+            para->getParH(lev)->press_SP_Med_Out[pos] = (real)0.0;
+        }
+    }
 }
 
 
@@ -31,17 +31,17 @@ void allocMedian(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 
 void calcMedian(Parameter* para, uint tdiff)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
         for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
-		{
-			para->getParH(lev)->vx_SP_Med_Out[pos]    = para->getParH(lev)->vx_SP_Med[pos]   / (real)tdiff;
-			para->getParH(lev)->vy_SP_Med_Out[pos]    = para->getParH(lev)->vy_SP_Med[pos]   / (real)tdiff;
-			para->getParH(lev)->vz_SP_Med_Out[pos]    = para->getParH(lev)->vz_SP_Med[pos]   / (real)tdiff;
-			para->getParH(lev)->rho_SP_Med_Out[pos]   = para->getParH(lev)->rho_SP_Med[pos]  / (real)tdiff;
-			para->getParH(lev)->press_SP_Med_Out[pos] = para->getParH(lev)->press_SP_Med[pos]/ (real)tdiff;
-		}
-	}
+        {
+            para->getParH(lev)->vx_SP_Med_Out[pos]    = para->getParH(lev)->vx_SP_Med[pos]   / (real)tdiff;
+            para->getParH(lev)->vy_SP_Med_Out[pos]    = para->getParH(lev)->vy_SP_Med[pos]   / (real)tdiff;
+            para->getParH(lev)->vz_SP_Med_Out[pos]    = para->getParH(lev)->vz_SP_Med[pos]   / (real)tdiff;
+            para->getParH(lev)->rho_SP_Med_Out[pos]   = para->getParH(lev)->rho_SP_Med[pos]  / (real)tdiff;
+            para->getParH(lev)->press_SP_Med_Out[pos] = para->getParH(lev)->press_SP_Med[pos]/ (real)tdiff;
+        }
+    }
 }
 
 
@@ -50,19 +50,19 @@ void calcMedian(Parameter* para, uint tdiff)
 
 void resetMedian(Parameter* para)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		ResetMedianValuesSP27(
-			para->getParD(lev)->vx_SP_Med,
-			para->getParD(lev)->vy_SP_Med,
-			para->getParD(lev)->vz_SP_Med,
-			para->getParD(lev)->rho_SP_Med,
-			para->getParD(lev)->press_SP_Med,
-			para->getParD(lev)->numberOfNodes,
-			para->getParD(lev)->numberofthreads,
-			para->getParD(lev)->isEvenTimestep);
-		getLastCudaError("ResetMedianValuesSP27 execution failed");
-	}
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        ResetMedianValuesSP27(
+            para->getParD(lev)->vx_SP_Med,
+            para->getParD(lev)->vy_SP_Med,
+            para->getParD(lev)->vz_SP_Med,
+            para->getParD(lev)->rho_SP_Med,
+            para->getParD(lev)->press_SP_Med,
+            para->getParD(lev)->numberOfNodes,
+            para->getParD(lev)->numberofthreads,
+            para->getParD(lev)->isEvenTimestep);
+        getLastCudaError("ResetMedianValuesSP27 execution failed");
+    }
 }
 
 
@@ -72,19 +72,19 @@ void resetMedian(Parameter* para)
 //Advection-Diffusion
 void allocMedianAD(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
         cudaMemoryManager->cudaAllocMedianOutAD(lev);
-		for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
-		{
-			para->getParH(lev)->vx_SP_Med_Out[pos]    = (real)0.0;
-			para->getParH(lev)->vy_SP_Med_Out[pos]    = (real)0.0;
-			para->getParH(lev)->vz_SP_Med_Out[pos]    = (real)0.0;
-			para->getParH(lev)->rho_SP_Med_Out[pos]   = (real)0.0;
-			para->getParH(lev)->press_SP_Med_Out[pos] = (real)0.0;
-			para->getParH(lev)->Conc_Med_Out[pos]     = (real)0.0;
-		}
-	}
+        for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
+        {
+            para->getParH(lev)->vx_SP_Med_Out[pos]    = (real)0.0;
+            para->getParH(lev)->vy_SP_Med_Out[pos]    = (real)0.0;
+            para->getParH(lev)->vz_SP_Med_Out[pos]    = (real)0.0;
+            para->getParH(lev)->rho_SP_Med_Out[pos]   = (real)0.0;
+            para->getParH(lev)->press_SP_Med_Out[pos] = (real)0.0;
+            para->getParH(lev)->Conc_Med_Out[pos]     = (real)0.0;
+        }
+    }
 }
 
 
@@ -93,18 +93,18 @@ void allocMedianAD(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 
 void calcMedianAD(Parameter* para, uint tdiff)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
-		{
-			para->getParH(lev)->vx_SP_Med_Out[pos]    = para->getParH(lev)->vx_SP_Med[pos]    / (real)tdiff;
-			para->getParH(lev)->vy_SP_Med_Out[pos]    = para->getParH(lev)->vy_SP_Med[pos]    / (real)tdiff;
-			para->getParH(lev)->vz_SP_Med_Out[pos]    = para->getParH(lev)->vz_SP_Med[pos]    / (real)tdiff;
-			para->getParH(lev)->rho_SP_Med_Out[pos]   = para->getParH(lev)->rho_SP_Med[pos]   / (real)tdiff;
-			para->getParH(lev)->press_SP_Med_Out[pos] = para->getParH(lev)->press_SP_Med[pos] / (real)tdiff;
-			para->getParH(lev)->Conc_Med_Out[pos]     = para->getParH(lev)->Conc_Med[pos]     / (real)tdiff;
-		}
-	}
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        for (size_t pos = 0; pos < para->getParH(lev)->numberOfNodes; pos++)
+        {
+            para->getParH(lev)->vx_SP_Med_Out[pos]    = para->getParH(lev)->vx_SP_Med[pos]    / (real)tdiff;
+            para->getParH(lev)->vy_SP_Med_Out[pos]    = para->getParH(lev)->vy_SP_Med[pos]    / (real)tdiff;
+            para->getParH(lev)->vz_SP_Med_Out[pos]    = para->getParH(lev)->vz_SP_Med[pos]    / (real)tdiff;
+            para->getParH(lev)->rho_SP_Med_Out[pos]   = para->getParH(lev)->rho_SP_Med[pos]   / (real)tdiff;
+            para->getParH(lev)->press_SP_Med_Out[pos] = para->getParH(lev)->press_SP_Med[pos] / (real)tdiff;
+            para->getParH(lev)->Conc_Med_Out[pos]     = para->getParH(lev)->Conc_Med[pos]     / (real)tdiff;
+        }
+    }
 }
 
 
@@ -113,20 +113,20 @@ void calcMedianAD(Parameter* para, uint tdiff)
 
 void resetMedianAD(Parameter* para)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		ResetMedianValuesAD27(
-			para->getParD(lev)->vx_SP_Med,
-			para->getParD(lev)->vy_SP_Med,
-			para->getParD(lev)->vz_SP_Med,
-			para->getParD(lev)->rho_SP_Med,
-			para->getParD(lev)->press_SP_Med,
-			para->getParD(lev)->Conc_Med,
-			para->getParD(lev)->numberOfNodes,
-			para->getParD(lev)->numberofthreads,
-			para->getParD(lev)->isEvenTimestep);
-		getLastCudaError("ResetMedianValuesSP27 execution failed");
-	}
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        ResetMedianValuesAD27(
+            para->getParD(lev)->vx_SP_Med,
+            para->getParD(lev)->vy_SP_Med,
+            para->getParD(lev)->vz_SP_Med,
+            para->getParD(lev)->rho_SP_Med,
+            para->getParD(lev)->press_SP_Med,
+            para->getParD(lev)->Conc_Med,
+            para->getParD(lev)->numberOfNodes,
+            para->getParD(lev)->numberofthreads,
+            para->getParD(lev)->isEvenTimestep);
+        getLastCudaError("ResetMedianValuesSP27 execution failed");
+    }
 }
 
 
diff --git a/src/gpu/core/Calculation/Cp.cpp b/src/gpu/core/Calculation/Cp.cpp
index 2bb2bd943f6f24a8b904f949a43e75426e497ba1..8cd8aefe9dd3ae51db6523f04290703f4cc49d6f 100644
--- a/src/gpu/core/Calculation/Cp.cpp
+++ b/src/gpu/core/Calculation/Cp.cpp
@@ -19,185 +19,185 @@ using namespace std;
 
 void calcCp(Parameter* para, CudaMemoryManager* cudaMemoryManager, int lev)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//copy to host
-	cudaMemoryManager->cudaCopyCpTop(lev);
-	cudaMemoryManager->cudaCopyCpBottom(lev);
-	cudaMemoryManager->cudaCopyCpBottom2(lev);
-	//////////////////////////////////////////////////////////////////////////
-	//Parameter
-	double rhoSI = 1.204; // kg/m^3
-	double veloSI = (double)para->getVelocity() * (double)para->getVelocityRatio(); // m/s
-	double pressSI;
-	double cp;
-	std::vector< double > cpTopRow;
-	std::vector< double > cpBottomRow;
-	std::vector< double > cpBottom2Row;
-	//////////////////////////////////////////////////////////////////////////
-	//calc cp top
-	for (unsigned int it = 0; it < para->getParH((int)lev)->numberOfPointsCpTop; it++)
-	{
-		pressSI = (double)(para->getParH((int)lev)->cpPressTop[it] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio());
-		cp      = (double) (pressSI / (0.5 * rhoSI * veloSI * veloSI));
-		cpTopRow.push_back(cp);
-	}
-	para->getParH((int)lev)->cpTop.push_back(cpTopRow);
-	//////////////////////////////////////////////////////////////////////////
-	//calc cp bottom
-	for (uint it = 0; it < para->getParH((int)lev)->numberOfPointsCpBottom; it++)
-	{
-		pressSI = (double)(para->getParH((int)lev)->cpPressBottom[it] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio());
-		cp      = (double) (pressSI / (0.5 * rhoSI * veloSI * veloSI));
-		cpBottomRow.push_back(cp);
-	}
-	para->getParH((int)lev)->cpBottom.push_back(cpBottomRow);
-	//////////////////////////////////////////////////////////////////////////
-	//calc cp bottom 2
-	for (uint it = 0; it < para->getParH((int)lev)->numberOfPointsCpBottom2; it++)
-	{
-		pressSI = (double)(para->getParH((int)lev)->cpPressBottom2[it] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio());
-		cp      = (double) (pressSI / (0.5 * rhoSI * veloSI * veloSI));
-		cpBottom2Row.push_back(cp);
-	}
-	para->getParH((int)lev)->cpBottom2.push_back(cpBottom2Row);
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //copy to host
+    cudaMemoryManager->cudaCopyCpTop(lev);
+    cudaMemoryManager->cudaCopyCpBottom(lev);
+    cudaMemoryManager->cudaCopyCpBottom2(lev);
+    //////////////////////////////////////////////////////////////////////////
+    //Parameter
+    double rhoSI = 1.204; // kg/m^3
+    double veloSI = (double)para->getVelocity() * (double)para->getVelocityRatio(); // m/s
+    double pressSI;
+    double cp;
+    std::vector< double > cpTopRow;
+    std::vector< double > cpBottomRow;
+    std::vector< double > cpBottom2Row;
+    //////////////////////////////////////////////////////////////////////////
+    //calc cp top
+    for (unsigned int it = 0; it < para->getParH((int)lev)->numberOfPointsCpTop; it++)
+    {
+        pressSI = (double)(para->getParH((int)lev)->cpPressTop[it] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio());
+        cp      = (double) (pressSI / (0.5 * rhoSI * veloSI * veloSI));
+        cpTopRow.push_back(cp);
+    }
+    para->getParH((int)lev)->cpTop.push_back(cpTopRow);
+    //////////////////////////////////////////////////////////////////////////
+    //calc cp bottom
+    for (uint it = 0; it < para->getParH((int)lev)->numberOfPointsCpBottom; it++)
+    {
+        pressSI = (double)(para->getParH((int)lev)->cpPressBottom[it] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio());
+        cp      = (double) (pressSI / (0.5 * rhoSI * veloSI * veloSI));
+        cpBottomRow.push_back(cp);
+    }
+    para->getParH((int)lev)->cpBottom.push_back(cpBottomRow);
+    //////////////////////////////////////////////////////////////////////////
+    //calc cp bottom 2
+    for (uint it = 0; it < para->getParH((int)lev)->numberOfPointsCpBottom2; it++)
+    {
+        pressSI = (double)(para->getParH((int)lev)->cpPressBottom2[it] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio());
+        cp      = (double) (pressSI / (0.5 * rhoSI * veloSI * veloSI));
+        cpBottom2Row.push_back(cp);
+    }
+    para->getParH((int)lev)->cpBottom2.push_back(cpBottom2Row);
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
 
 void printCpTopIntermediateStep(Parameter* para, unsigned int t, int lev)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffname = para->getFName() + StringUtil::toString<int>(para->getMyProcessID()) + "_" + StringUtil::toString<int>(t) + "_cp_top.txt";
-	const char* fname = ffname.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
-	std::ofstream ostr;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostr.open(fname);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	for (vector< vector<double> >::const_iterator i = para->getParH((int)lev)->cpTop.begin(); i != para->getParH((int)lev)->cpTop.end(); ++i)
-	{
-		for (vector<double>::const_iterator j = i->begin(); j != i->end(); ++j)
-		{
-			ostr << *j << " ";
-		}
-		ostr << endl;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostr.close();
-	//////////////////////////////////////////////////////////////////////////
-	para->getParH((int)lev)->cpTop.clear();
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffname = para->getFName() + StringUtil::toString<int>(para->getMyProcessID()) + "_" + StringUtil::toString<int>(t) + "_cp_top.txt";
+    const char* fname = ffname.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
+    std::ofstream ostr;
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostr.open(fname);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    for (vector< vector<double> >::const_iterator i = para->getParH((int)lev)->cpTop.begin(); i != para->getParH((int)lev)->cpTop.end(); ++i)
+    {
+        for (vector<double>::const_iterator j = i->begin(); j != i->end(); ++j)
+        {
+            ostr << *j << " ";
+        }
+        ostr << endl;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostr.close();
+    //////////////////////////////////////////////////////////////////////////
+    para->getParH((int)lev)->cpTop.clear();
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
 
 void printCpTop(Parameter* para, CudaMemoryManager* cudaMemoryManager, int lev)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_cp_top.txt";
-	const char* fname = ffname.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
-	ofstream ostr;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostr.open(fname);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	for (vector< vector<double> >::const_iterator i = para->getParH((int)lev)->cpTop.begin() ; i != para->getParH((int)lev)->cpTop.end(); ++i)
-	{
-		for (vector<double>::const_iterator j=i->begin(); j!=i->end(); ++j)
-		{
-			ostr << *j << " ";
-		}
-		ostr << endl;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostr.close();
-	//////////////////////////////////////////////////////////////////////////
-	para->getParH((int)lev)->cpTop.clear();
-	cudaMemoryManager->cudaFreeCpTop(lev);
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_cp_top.txt";
+    const char* fname = ffname.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
+    ofstream ostr;
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostr.open(fname);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    for (vector< vector<double> >::const_iterator i = para->getParH((int)lev)->cpTop.begin() ; i != para->getParH((int)lev)->cpTop.end(); ++i)
+    {
+        for (vector<double>::const_iterator j=i->begin(); j!=i->end(); ++j)
+        {
+            ostr << *j << " ";
+        }
+        ostr << endl;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostr.close();
+    //////////////////////////////////////////////////////////////////////////
+    para->getParH((int)lev)->cpTop.clear();
+    cudaMemoryManager->cudaFreeCpTop(lev);
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
 
 void printCpBottom(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set level
-	int lev = para->getMaxLevel();
-	//////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_cp_bottom.txt";
-	const char* fname = ffname.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
-	ofstream ostr;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostr.open(fname);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	for (vector< vector<double> >::const_iterator i = para->getParH((int)lev)->cpBottom.begin() ; i != para->getParH((int)lev)->cpBottom.end(); ++i)
-	{
-		for (vector<double>::const_iterator j=i->begin(); j!=i->end(); ++j)
-		{
-			ostr << *j << " ";
-		}
-		ostr << endl;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostr.close();
-	//////////////////////////////////////////////////////////////////////////
-	para->getParH((int)lev)->cpBottom.clear();
-	cudaMemoryManager->cudaFreeCpBottom(lev);
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //set level
+    int lev = para->getMaxLevel();
+    //////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_cp_bottom.txt";
+    const char* fname = ffname.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
+    ofstream ostr;
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostr.open(fname);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    for (vector< vector<double> >::const_iterator i = para->getParH((int)lev)->cpBottom.begin() ; i != para->getParH((int)lev)->cpBottom.end(); ++i)
+    {
+        for (vector<double>::const_iterator j=i->begin(); j!=i->end(); ++j)
+        {
+            ostr << *j << " ";
+        }
+        ostr << endl;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostr.close();
+    //////////////////////////////////////////////////////////////////////////
+    para->getParH((int)lev)->cpBottom.clear();
+    cudaMemoryManager->cudaFreeCpBottom(lev);
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
 
 void printCpBottom2(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set level
-	int lev = para->getMaxLevel();
-	//////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_cp_bottom2.txt";
-	const char* fname = ffname.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
-	ofstream ostr;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostr.open(fname);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	for (vector< vector<double> >::const_iterator i = para->getParH((int)lev)->cpBottom2.begin() ; i != para->getParH((int)lev)->cpBottom2.end(); ++i)
-	{
-		for (vector<double>::const_iterator j=i->begin(); j!=i->end(); ++j)
-		{
-			ostr << *j << " ";
-		}
-		ostr << endl;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostr.close();
-	//////////////////////////////////////////////////////////////////////////
-	para->getParH((int)lev)->cpBottom2.clear();
-	cudaMemoryManager->cudaFreeCpBottom2(lev);
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //set level
+    int lev = para->getMaxLevel();
+    //////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_cp_bottom2.txt";
+    const char* fname = ffname.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
+    ofstream ostr;
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostr.open(fname);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    for (vector< vector<double> >::const_iterator i = para->getParH((int)lev)->cpBottom2.begin() ; i != para->getParH((int)lev)->cpBottom2.end(); ++i)
+    {
+        for (vector<double>::const_iterator j=i->begin(); j!=i->end(); ++j)
+        {
+            ostr << *j << " ";
+        }
+        ostr << endl;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostr.close();
+    //////////////////////////////////////////////////////////////////////////
+    para->getParH((int)lev)->cpBottom2.clear();
+    cudaMemoryManager->cudaFreeCpBottom2(lev);
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
@@ -223,86 +223,86 @@ void printCpBottom2(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 
 void excludeGridInterfaceNodesForMirror(Parameter* para, int lev)
 {
-	bool tempBool = true;
-	para->getParH((int)lev)->numberOfPointsPressWindow = 0;
-	para->getParH(lev + 1)->numberOfPointsPressWindow = 0;
-	//////////////////////////////////////////////////////////////////////////
-	//define bool vector for nodes outside the interface
-	for (unsigned int it = 0; it < para->getParH(lev + 1)->numberOfPointsCpTop; it++)
-	{
+    bool tempBool = true;
+    para->getParH((int)lev)->numberOfPointsPressWindow = 0;
+    para->getParH(lev + 1)->numberOfPointsPressWindow = 0;
+    //////////////////////////////////////////////////////////////////////////
+    //define bool vector for nodes outside the interface
+    for (unsigned int it = 0; it < para->getParH(lev + 1)->numberOfPointsCpTop; it++)
+    {
         for (unsigned int ifit = 0; ifit < para->getParH((int)lev)->coarseToFine.numberOfCells; ifit++)
-		{
-			if ((para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]) ||
-				(para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborX[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]) ||
-				(para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborY[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]) ||
-				(para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborZ[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]) ||
-				(para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborY[para->getParH(lev + 1)->neighborX[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]]) ||
-				(para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborZ[para->getParH(lev + 1)->neighborX[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]]) ||
-				(para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborZ[para->getParH(lev + 1)->neighborY[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]]) ||
-				(para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborZ[para->getParH(lev + 1)->neighborY[para->getParH(lev + 1)->neighborX[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]]]))
-			{
-				para->getParH(lev + 1)->isOutsideInterface.push_back(false);
-				tempBool = false;
-				break;
-			}
-		}
-		if (tempBool == true)
-		{
-			para->getParH(lev + 1)->isOutsideInterface.push_back(true);
-			para->getParH(lev + 1)->numberOfPointsPressWindow++;
-		}
-		tempBool = true;
-	}
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	for (unsigned int it = 0; it < para->getParH((int)lev)->numberOfPointsCpTop; it++)
-	{
+        {
+            if ((para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]) ||
+                (para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborX[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]) ||
+                (para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborY[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]) ||
+                (para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborZ[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]) ||
+                (para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborY[para->getParH(lev + 1)->neighborX[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]]) ||
+                (para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborZ[para->getParH(lev + 1)->neighborX[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]]) ||
+                (para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborZ[para->getParH(lev + 1)->neighborY[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]]) ||
+                (para->getParH(lev + 1)->cpTopIndex[it] == (int)para->getParH(lev + 1)->neighborZ[para->getParH(lev + 1)->neighborY[para->getParH(lev + 1)->neighborX[para->getParH((int)lev)->coarseToFine.fineCellIndices[ifit]]]]))
+            {
+                para->getParH(lev + 1)->isOutsideInterface.push_back(false);
+                tempBool = false;
+                break;
+            }
+        }
+        if (tempBool == true)
+        {
+            para->getParH(lev + 1)->isOutsideInterface.push_back(true);
+            para->getParH(lev + 1)->numberOfPointsPressWindow++;
+        }
+        tempBool = true;
+    }
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    for (unsigned int it = 0; it < para->getParH((int)lev)->numberOfPointsCpTop; it++)
+    {
         for (unsigned int ifit = 0; ifit < para->getParH((int)lev)->fineToCoarse.numberOfCells; ifit++)
-		{
-			if (para->getParH((int)lev)->cpTopIndex[it] == (int)para->getParH((int)lev)->fineToCoarse.coarseCellIndices[ifit])
-			{
-				para->getParH((int)lev)->isOutsideInterface.push_back(false);
-				tempBool = false;
-				break;
-			}
-		}
-		if (tempBool == true)
-		{
-			para->getParH((int)lev)->isOutsideInterface.push_back(true);
-			para->getParH((int)lev)->numberOfPointsPressWindow++;
-		}
-		tempBool = true;
-	}
-	////////////////////////////////////////////////////////////////////////////
-	std::cout << "number of nodes cp top level 7:" << para->getParH((int)lev)->numberOfPointsCpTop << endl;
-	std::cout << "number of nodes bool level 7:" << para->getParH((int)lev)->isOutsideInterface.size() << endl;
-	std::cout << "number of nodes press window level 7:" << para->getParH((int)lev)->numberOfPointsPressWindow << endl;
-	std::cout << "number of nodes cp top level 8:" << para->getParH(lev + 1)->numberOfPointsCpTop << endl;
-	std::cout << "number of nodes bool level 8:" << para->getParH(lev + 1)->isOutsideInterface.size() << endl;
-	std::cout << "number of nodes press window level 8:" << para->getParH(lev + 1)->numberOfPointsPressWindow << endl;
+        {
+            if (para->getParH((int)lev)->cpTopIndex[it] == (int)para->getParH((int)lev)->fineToCoarse.coarseCellIndices[ifit])
+            {
+                para->getParH((int)lev)->isOutsideInterface.push_back(false);
+                tempBool = false;
+                break;
+            }
+        }
+        if (tempBool == true)
+        {
+            para->getParH((int)lev)->isOutsideInterface.push_back(true);
+            para->getParH((int)lev)->numberOfPointsPressWindow++;
+        }
+        tempBool = true;
+    }
+    ////////////////////////////////////////////////////////////////////////////
+    std::cout << "number of nodes cp top level 7:" << para->getParH((int)lev)->numberOfPointsCpTop << endl;
+    std::cout << "number of nodes bool level 7:" << para->getParH((int)lev)->isOutsideInterface.size() << endl;
+    std::cout << "number of nodes press window level 7:" << para->getParH((int)lev)->numberOfPointsPressWindow << endl;
+    std::cout << "number of nodes cp top level 8:" << para->getParH(lev + 1)->numberOfPointsCpTop << endl;
+    std::cout << "number of nodes bool level 8:" << para->getParH(lev + 1)->isOutsideInterface.size() << endl;
+    std::cout << "number of nodes press window level 8:" << para->getParH(lev + 1)->numberOfPointsPressWindow << endl;
 }
 
 
 
 void calcPressForMirror(Parameter* para, CudaMemoryManager* cudaMemoryManager, int lev)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//copy to host
-	cudaMemoryManager->cudaCopyCpTop(lev);
-	//////////////////////////////////////////////////////////////////////////
-	//Parameter
-	double pressSI;
-	//////////////////////////////////////////////////////////////////////////
-	//calc press
-	for (unsigned int it = 0; it < para->getParH((int)lev)->numberOfPointsCpTop; it++)
-	{
-		if (para->getParH((int)lev)->isOutsideInterface[it])
-		{
-			pressSI = (double)(para->getParH((int)lev)->cpPressTop[it] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio());
-			para->getParH((int)lev)->pressMirror.push_back(pressSI);
-		}
-	}
-	////////////////////////////////////////////////////////////////////////////
-	//std::cout << "number of nodes press mirror:" << para->getParH((int)lev)->pressMirror.size() << ", at level: " << lev << endl;
+    //////////////////////////////////////////////////////////////////////////
+    //copy to host
+    cudaMemoryManager->cudaCopyCpTop(lev);
+    //////////////////////////////////////////////////////////////////////////
+    //Parameter
+    double pressSI;
+    //////////////////////////////////////////////////////////////////////////
+    //calc press
+    for (unsigned int it = 0; it < para->getParH((int)lev)->numberOfPointsCpTop; it++)
+    {
+        if (para->getParH((int)lev)->isOutsideInterface[it])
+        {
+            pressSI = (double)(para->getParH((int)lev)->cpPressTop[it] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio());
+            para->getParH((int)lev)->pressMirror.push_back(pressSI);
+        }
+    }
+    ////////////////////////////////////////////////////////////////////////////
+    //std::cout << "number of nodes press mirror:" << para->getParH((int)lev)->pressMirror.size() << ", at level: " << lev << endl;
 }
 
 
@@ -310,59 +310,59 @@ void calcPressForMirror(Parameter* para, CudaMemoryManager* cudaMemoryManager, i
 //Ensight Gold
 void printCaseFile(Parameter* para)
 {
-	//////////////////////////////////////////////////////////////////////////
-	double deltaXcoarse = 0.256; // [m]
-	double deltat = (para->getVelocity() * deltaXcoarse) / (para->getVelocity() * para->getVelocityRatio());
-	unsigned int numberOfSteps = (unsigned int)((para->getTimestepEnd() - para->getTimestepStartOut()) * pow(2,5) );
-	//cout << "number of nodes:" << numberOfSteps << endl;
-	//////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffname = para->getFName() + "_" + StringUtil::toString<int>(para->getMyProcessID()) + ".case";
-	const char* fname = ffname.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set filename geo
-	std::string ffnameGeo = para->getOutputPrefix() + "_" + StringUtil::toString<int>(para->getMyProcessID()) + ".geo";
-	const char* fnameGeo = ffnameGeo.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set filename scalar
-	std::string ffnameScalar = para->getOutputPrefix() + "_" + StringUtil::toString<int>(para->getMyProcessID()) + ".*****.p";
-	const char* fnameScalar = ffnameScalar.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
-	ofstream ostr;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostr.open(fname);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	ostr << "###########################################################" << std::endl;
-	ostr << "#### Casefile written by VirtualFluidsGPU" << std::endl;
-	ostr << "###########################################################" << std::endl << std::endl;
-
-	ostr << "FORMAT " << std::endl;
-	ostr << "type:                  ensight gold" << std::endl << std::endl;
-
-	ostr << "GEOMETRY " << std::endl;
-	ostr << "model:                 " << "Data/" << fnameGeo << std::endl << std::endl;
-
-	ostr << "VARIABLE " << std::endl;
-	ostr << "scalar per element:    1  Pressure \t" << "Data/" << fnameScalar << std::endl << std::endl;
-
-	ostr << "TIME " << std::endl;
-	ostr << "time set:              1" << std::endl;
-	ostr << "number of steps:       " << numberOfSteps << "\n";
-	ostr << "filename start number: 0" << std::endl;
-	ostr << "filename increment:    1" << std::endl;
-	ostr << "time values:" << std::endl;
-	//////////////////////////////////////////////////////////////////////////
-	for (unsigned int t = 0; t < numberOfSteps; t++) 
-	{
-		ostr << "\t" << t * deltat / (pow(2, 5)) << std::endl;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostr.close();
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    double deltaXcoarse = 0.256; // [m]
+    double deltat = (para->getVelocity() * deltaXcoarse) / (para->getVelocity() * para->getVelocityRatio());
+    unsigned int numberOfSteps = (unsigned int)((para->getTimestepEnd() - para->getTimestepStartOut()) * pow(2,5) );
+    //cout << "number of nodes:" << numberOfSteps << endl;
+    //////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffname = para->getFName() + "_" + StringUtil::toString<int>(para->getMyProcessID()) + ".case";
+    const char* fname = ffname.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set filename geo
+    std::string ffnameGeo = para->getOutputPrefix() + "_" + StringUtil::toString<int>(para->getMyProcessID()) + ".geo";
+    const char* fnameGeo = ffnameGeo.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set filename scalar
+    std::string ffnameScalar = para->getOutputPrefix() + "_" + StringUtil::toString<int>(para->getMyProcessID()) + ".*****.p";
+    const char* fnameScalar = ffnameScalar.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
+    ofstream ostr;
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostr.open(fname);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    ostr << "###########################################################" << std::endl;
+    ostr << "#### Casefile written by VirtualFluidsGPU" << std::endl;
+    ostr << "###########################################################" << std::endl << std::endl;
+
+    ostr << "FORMAT " << std::endl;
+    ostr << "type:                  ensight gold" << std::endl << std::endl;
+
+    ostr << "GEOMETRY " << std::endl;
+    ostr << "model:                 " << "Data/" << fnameGeo << std::endl << std::endl;
+
+    ostr << "VARIABLE " << std::endl;
+    ostr << "scalar per element:    1  Pressure \t" << "Data/" << fnameScalar << std::endl << std::endl;
+
+    ostr << "TIME " << std::endl;
+    ostr << "time set:              1" << std::endl;
+    ostr << "number of steps:       " << numberOfSteps << "\n";
+    ostr << "filename start number: 0" << std::endl;
+    ostr << "filename increment:    1" << std::endl;
+    ostr << "time values:" << std::endl;
+    //////////////////////////////////////////////////////////////////////////
+    for (unsigned int t = 0; t < numberOfSteps; t++) 
+    {
+        ostr << "\t" << t * deltat / (pow(2, 5)) << std::endl;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostr.close();
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
@@ -372,25 +372,25 @@ void printCaseFile(Parameter* para)
 
 void printGeoFile(Parameter* para, bool fileFormat)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set filename geo
-	std::string ffnameGeo = para->getOutputPrefix() + "_" + StringUtil::toString<int>(para->getMyProcessID());
-	const char* fnameGeo = ffnameGeo.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	char fname[1024];
-	sprintf(fname, "%s/Data/%s.geo", para->getOutputPath().c_str(), fnameGeo);
-	//////////////////////////////////////////////////////////////////////////
-	size_t startlevel = para->getMaxLevel() - 1;
-	size_t endlevel   = para->getMaxLevel();
-	//////////////////////////////////////////////////////////////////////////
-	unsigned int non = 0;
-	for (size_t lev = startlevel; lev <= endlevel; lev++)
-	{
-		non += para->getParH((int)lev)->numberOfPointsPressWindow;
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-	if (!fileFormat) //ASCII
+    //////////////////////////////////////////////////////////////////////////
+    //set filename geo
+    std::string ffnameGeo = para->getOutputPrefix() + "_" + StringUtil::toString<int>(para->getMyProcessID());
+    const char* fnameGeo = ffnameGeo.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    char fname[1024];
+    sprintf(fname, "%s/Data/%s.geo", para->getOutputPath().c_str(), fnameGeo);
+    //////////////////////////////////////////////////////////////////////////
+    size_t startlevel = para->getMaxLevel() - 1;
+    size_t endlevel   = para->getMaxLevel();
+    //////////////////////////////////////////////////////////////////////////
+    unsigned int non = 0;
+    for (size_t lev = startlevel; lev <= endlevel; lev++)
+    {
+        non += para->getParH((int)lev)->numberOfPointsPressWindow;
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+    if (!fileFormat) //ASCII
     {
         //////////////////////////////////////////////////////////////////////////
         //set ofstream
@@ -544,21 +544,21 @@ void printGeoFile(Parameter* para, bool fileFormat)
 
 void printScalars(Parameter* para, bool fileFormat)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set filename scalar
-	std::string ffnameScalar = para->getOutputPrefix() + "_" + StringUtil::toString<int>(para->getMyProcessID());
-	const char* fnameScalar = ffnameScalar.c_str();
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //set filename scalar
+    std::string ffnameScalar = para->getOutputPrefix() + "_" + StringUtil::toString<int>(para->getMyProcessID());
+    const char* fnameScalar = ffnameScalar.c_str();
+    //////////////////////////////////////////////////////////////////////////
     char fname[1024];
     sprintf(fname, "%s/Data/%s.%05u.p", para->getOutputPath().c_str(), fnameScalar, para->getStepEnsight());
-	para->setStepEnsight(para->getStepEnsight()+1);
-	//////////////////////////////////////////////////////////////////////////
-	size_t startlevel = para->getMaxLevel() - 1;
-	size_t endlevel   = para->getMaxLevel();
-	//////////////////////////////////////////////////////////////////////////
-
-	if (!fileFormat) //ASCII
-	{
+    para->setStepEnsight(para->getStepEnsight()+1);
+    //////////////////////////////////////////////////////////////////////////
+    size_t startlevel = para->getMaxLevel() - 1;
+    size_t endlevel   = para->getMaxLevel();
+    //////////////////////////////////////////////////////////////////////////
+
+    if (!fileFormat) //ASCII
+    {
         ofstream ostr;
         ostr.open(fname);
         //////////////////////////////////////////////////////////////////////////
@@ -615,22 +615,22 @@ void printScalars(Parameter* para, bool fileFormat)
 //functions to write binary files
 void writeIntToFile(const int &i, std::ofstream &ofile)
 {
-	ofile.write((char*)&i, sizeof(int));
+    ofile.write((char*)&i, sizeof(int));
 }
 
 void writeFloatToFile(const float &f, std::ofstream &ofile)
 {
-	ofile.write((char*)&f, sizeof(float));
+    ofile.write((char*)&f, sizeof(float));
 }
 
 void writeStringToFile(const std::string &s, std::ofstream &ofile)
 {
-	assert(s.size() <= 80);
-	char cbuffer[81];
-	// Terminate the buffer to avoid static analyzer warnings about strncpy not
-	// NUL-terminating its destination buffer in case the input is too long.
-	cbuffer[80] = '\0';
-	strncpy(cbuffer, s.c_str(), 80);
-	// Write a constant 80 bytes to the file.
-	ofile.write(cbuffer, 80);
+    assert(s.size() <= 80);
+    char cbuffer[81];
+    // Terminate the buffer to avoid static analyzer warnings about strncpy not
+    // NUL-terminating its destination buffer in case the input is too long.
+    cbuffer[80] = '\0';
+    strncpy(cbuffer, s.c_str(), 80);
+    // Write a constant 80 bytes to the file.
+    ofile.write(cbuffer, 80);
 }
diff --git a/src/gpu/core/Calculation/DragLift.cpp b/src/gpu/core/Calculation/DragLift.cpp
index 2c2dc19795959c87a02705778a9768210580be41..e0318d6ca4f34d040889395daaf2e589f48744d3 100644
--- a/src/gpu/core/Calculation/DragLift.cpp
+++ b/src/gpu/core/Calculation/DragLift.cpp
@@ -18,113 +18,113 @@ using namespace std;
 
 void calcDragLift(Parameter* para, CudaMemoryManager* cudaMemoryManager, int lev)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//copy to host
-	//finest Grid ... with the geometry nodes
-	//please test -> Copy == Alloc ??
-	cudaMemoryManager->cudaCopyDragLift(lev, para->getParH(lev)->geometryBC.numberOfBCnodes);
-	//////////////////////////////////////////////////////////////////////////
-	//calc drag
-	double dragX = 0., dragY = 0., dragZ = 0.;
-	double CDX   = 0., CDY   = 0., CDZ   = 0.;
-	//double Pi = 3.14159265358979323846;
-	//double A  = Pi * 1000.0 * 1000.0;// Sphere 
-	//////////////////////////////////////////////////////////////////////////
-	//Cars
-	//double delta_x_F = 0.00625;//[m] fine  11.25MI
-	//double delta_x_F = 0.0045;//[m] fine  12.54MI
-	//double delta_x_F = 0.00359375;//[m] fine  13.54MI
-	///////////////////////////////
-	//double delta_x_F = 0.00703125;//[m] fine  16.22MI
-	////double delta_x_F = 0.00625;//[m] fine  16.22MI
-	////double delta_x_F = 0.0046875;//[m] fine  16.43MI
-	////double delta_x_F = 0.003125;//[m] fine  16.117MI
-	///////////////////////////////
-	//DLC
-	double delta_x_F = 0.00625;//[m]
-
-	//////////////////////////////////////////////////////////////////////////
-	//double A  = 2.16693/(delta_x_F*delta_x_F);// Car 
-	double A  = 2.19/(delta_x_F*delta_x_F);// DLC 
-	//////////////////////////////////////////////////////////////////////////
-
-	//double LBtoSI = 1.0;//Sphere 
-	//double A  = 110.0 * 28.0; //Ship width times height in fine nodes
-	//double delta_x = 0.0045;//[m] fine
-	//double delta_t = para->getVelocity() * delta_x / 15.96; 
-	//double LBtoSI = 1.204 * (pow(delta_x, 4))/(pow(delta_t,2));//rho_SI * delta_x^4 / delta_t^2 = 1.204 kg/m^3 * (0.0045m)^4 / (0.00000757s)^2 ... LB to kg*m/s^2
-	//double LBtoSI = 1000 * (pow(delta_x, 4))/(pow(delta_t,2));//rho_SI * delta_x^4 / delta_t^2 = 1000 kg/m^3 * (0.1m)^4 / (0.00187s)^2 ... LB to kg*m/s^2
-
-	for (unsigned int it = 0; it < para->getParH(lev)->geometryBC.numberOfBCnodes; it++)
-	{
-		dragX += (double) (para->getParH(lev)->DragPreX[it] - para->getParH(lev)->DragPostX[it]); //Kraft da Impuls pro Zeitschritt merke: andere nennen es FD
-		dragY += (double) (para->getParH(lev)->DragPreY[it] - para->getParH(lev)->DragPostY[it]); //Kraft da Impuls pro Zeitschritt merke: andere nennen es FD
-		dragZ += (double) (para->getParH(lev)->DragPreZ[it] - para->getParH(lev)->DragPostZ[it]); //Kraft da Impuls pro Zeitschritt merke: andere nennen es FD
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//calc CD
-	CDX = 2.0 * dragX / (1.0 /*rho_0*/ * para->getVelocity() * para->getVelocity() * A);
-	CDY = 2.0 * dragY / (1.0 /*rho_0*/ * para->getVelocity() * para->getVelocity() * A);
-	CDZ = 2.0 * dragZ / (1.0 /*rho_0*/ * para->getVelocity() * para->getVelocity() * A);
-	//////////////////////////////////////////////////////////////////////////
-	//transform CD to SI
-	//CDX *= LBtoSI;
-	//CDY *= LBtoSI;
-	//CDZ *= LBtoSI;
-	//////////////////////////////////////////////////////////////////////////
-	//Copy to vector x,y,z
-	para->getParH(lev)->DragXvector.push_back(CDX);
-	para->getParH(lev)->DragYvector.push_back(CDY);
-	para->getParH(lev)->DragZvector.push_back(CDZ);
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //copy to host
+    //finest Grid ... with the geometry nodes
+    //please test -> Copy == Alloc ??
+    cudaMemoryManager->cudaCopyDragLift(lev, para->getParH(lev)->geometryBC.numberOfBCnodes);
+    //////////////////////////////////////////////////////////////////////////
+    //calc drag
+    double dragX = 0., dragY = 0., dragZ = 0.;
+    double CDX   = 0., CDY   = 0., CDZ   = 0.;
+    //double Pi = 3.14159265358979323846;
+    //double A  = Pi * 1000.0 * 1000.0;// Sphere 
+    //////////////////////////////////////////////////////////////////////////
+    //Cars
+    //double delta_x_F = 0.00625;//[m] fine  11.25MI
+    //double delta_x_F = 0.0045;//[m] fine  12.54MI
+    //double delta_x_F = 0.00359375;//[m] fine  13.54MI
+    ///////////////////////////////
+    //double delta_x_F = 0.00703125;//[m] fine  16.22MI
+    ////double delta_x_F = 0.00625;//[m] fine  16.22MI
+    ////double delta_x_F = 0.0046875;//[m] fine  16.43MI
+    ////double delta_x_F = 0.003125;//[m] fine  16.117MI
+    ///////////////////////////////
+    //DLC
+    double delta_x_F = 0.00625;//[m]
+
+    //////////////////////////////////////////////////////////////////////////
+    //double A  = 2.16693/(delta_x_F*delta_x_F);// Car 
+    double A  = 2.19/(delta_x_F*delta_x_F);// DLC 
+    //////////////////////////////////////////////////////////////////////////
+
+    //double LBtoSI = 1.0;//Sphere 
+    //double A  = 110.0 * 28.0; //Ship width times height in fine nodes
+    //double delta_x = 0.0045;//[m] fine
+    //double delta_t = para->getVelocity() * delta_x / 15.96; 
+    //double LBtoSI = 1.204 * (pow(delta_x, 4))/(pow(delta_t,2));//rho_SI * delta_x^4 / delta_t^2 = 1.204 kg/m^3 * (0.0045m)^4 / (0.00000757s)^2 ... LB to kg*m/s^2
+    //double LBtoSI = 1000 * (pow(delta_x, 4))/(pow(delta_t,2));//rho_SI * delta_x^4 / delta_t^2 = 1000 kg/m^3 * (0.1m)^4 / (0.00187s)^2 ... LB to kg*m/s^2
+
+    for (unsigned int it = 0; it < para->getParH(lev)->geometryBC.numberOfBCnodes; it++)
+    {
+        dragX += (double) (para->getParH(lev)->DragPreX[it] - para->getParH(lev)->DragPostX[it]); //Kraft da Impuls pro Zeitschritt merke: andere nennen es FD
+        dragY += (double) (para->getParH(lev)->DragPreY[it] - para->getParH(lev)->DragPostY[it]); //Kraft da Impuls pro Zeitschritt merke: andere nennen es FD
+        dragZ += (double) (para->getParH(lev)->DragPreZ[it] - para->getParH(lev)->DragPostZ[it]); //Kraft da Impuls pro Zeitschritt merke: andere nennen es FD
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //calc CD
+    CDX = 2.0 * dragX / (1.0 /*rho_0*/ * para->getVelocity() * para->getVelocity() * A);
+    CDY = 2.0 * dragY / (1.0 /*rho_0*/ * para->getVelocity() * para->getVelocity() * A);
+    CDZ = 2.0 * dragZ / (1.0 /*rho_0*/ * para->getVelocity() * para->getVelocity() * A);
+    //////////////////////////////////////////////////////////////////////////
+    //transform CD to SI
+    //CDX *= LBtoSI;
+    //CDY *= LBtoSI;
+    //CDZ *= LBtoSI;
+    //////////////////////////////////////////////////////////////////////////
+    //Copy to vector x,y,z
+    para->getParH(lev)->DragXvector.push_back(CDX);
+    para->getParH(lev)->DragYvector.push_back(CDY);
+    para->getParH(lev)->DragZvector.push_back(CDZ);
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
 
 void allocDragLift(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set level
-	int lev = para->getMaxLevel();
-	//////////////////////////////////////////////////////////////////////////
-	//allocation
-	//finest Grid ... with the geometry nodes
-	//please test -> Copy == Alloc ??
-	cudaMemoryManager->cudaAllocDragLift(lev, para->getParH(lev)->geometryBC.numberOfBCnodes);
-	//////////////////////////////////////////////////////////////////////////
-	printf("\n Anzahl Elemente fuer Drag Lift = %d \n", para->getParH(lev)->geometryBC.numberOfBCnodes);
+    //////////////////////////////////////////////////////////////////////////
+    //set level
+    int lev = para->getMaxLevel();
+    //////////////////////////////////////////////////////////////////////////
+    //allocation
+    //finest Grid ... with the geometry nodes
+    //please test -> Copy == Alloc ??
+    cudaMemoryManager->cudaAllocDragLift(lev, para->getParH(lev)->geometryBC.numberOfBCnodes);
+    //////////////////////////////////////////////////////////////////////////
+    printf("\n Anzahl Elemente fuer Drag Lift = %d \n", para->getParH(lev)->geometryBC.numberOfBCnodes);
 }
 
 
 
 void printDragLift(Parameter* para, CudaMemoryManager* cudaMemoryManager, int timestep)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set level
-	int lev = para->getMaxLevel();
-	//////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_"+StringUtil::toString<int>(timestep)+"_DragLift.txt";
-	const char* fname = ffname.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
-	ofstream ostr;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostr.open(fname);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	for (size_t i = 0; i < para->getParH(lev)->DragXvector.size(); i++)
-	{
-		ostr << para->getParH(lev)->DragXvector[i] << "\t" << para->getParH(lev)->DragYvector[i] << "\t" << para->getParH(lev)->DragZvector[i] << endl ;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostr.close();
-	//////////////////////////////////////////////////////////////////////////
-	if (timestep == (int)para->getTimestepEnd())
-	{
-		cudaMemoryManager->cudaFreeDragLift(lev);
-	}
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //set level
+    int lev = para->getMaxLevel();
+    //////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_"+StringUtil::toString<int>(timestep)+"_DragLift.txt";
+    const char* fname = ffname.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
+    ofstream ostr;
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostr.open(fname);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    for (size_t i = 0; i < para->getParH(lev)->DragXvector.size(); i++)
+    {
+        ostr << para->getParH(lev)->DragXvector[i] << "\t" << para->getParH(lev)->DragYvector[i] << "\t" << para->getParH(lev)->DragZvector[i] << endl ;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostr.close();
+    //////////////////////////////////////////////////////////////////////////
+    if (timestep == (int)para->getTimestepEnd())
+    {
+        cudaMemoryManager->cudaFreeDragLift(lev);
+    }
+    //////////////////////////////////////////////////////////////////////////
 }
\ No newline at end of file
diff --git a/src/gpu/core/Calculation/ForceCalculations.cpp b/src/gpu/core/Calculation/ForceCalculations.cpp
index c498721e56ff3aea1eab6258b26bfd2c4d95e33a..c0becbf5f4fb15017a3169df8bd0e59a4d97f8c8 100644
--- a/src/gpu/core/Calculation/ForceCalculations.cpp
+++ b/src/gpu/core/Calculation/ForceCalculations.cpp
@@ -15,113 +15,113 @@
 
 ForceCalculations::ForceCalculations(Parameter* para)
 {
-	Ta = 10.0;        // number of time steps between adjusting
-	vx1Targed = para->getVelocity(); // objected LB velocity
+    Ta = 10.0;        // number of time steps between adjusting
+    vx1Targed = para->getVelocity(); // objected LB velocity
 
-	Kpcrit = 3.0 / Ta;// 0.3;
-	Tcrit = 3.0 * Ta; // 30.0;
-	Tn = 1.0 * Tcrit; //0.5 * Tcrit;
-	Tv = 0.24 * Tcrit; //0.12 * Tcrit;
+    Kpcrit = 3.0 / Ta;// 0.3;
+    Tcrit = 3.0 * Ta; // 30.0;
+    Tn = 1.0 * Tcrit; //0.5 * Tcrit;
+    Tv = 0.24 * Tcrit; //0.12 * Tcrit;
 
-	Kp = 0.6 * Kpcrit;
-	Ki = Kp / Tn;
-	Kd = Kp * Tv;
+    Kp = 0.6 * Kpcrit;
+    Ki = Kp / Tn;
+    Kd = Kp * Tv;
 
-	y = 0.0;
-	e = 0.0;
-	esum = 0.0;
-	eold = 0.0;
+    y = 0.0;
+    e = 0.0;
+    esum = 0.0;
+    eold = 0.0;
 
-	isPID = true;
+    isPID = true;
 }
 
 void ForceCalculations::calcPIDControllerForForce(Parameter* para, CudaMemoryManager* cudaMemoryManager)
  {
-	 //////////////////////////////////////////////////////////////////////////
-	 double tempVeloX = 0.0;
-	 double veloAverageX = 0.0;
-	 double levelVeloAverageX = 0.0;
-	 int counter = 0;
-	 //////////////////////////////////////////////////////////////////////////
-	 for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	 {
-		 //////////////////////////////////////////////////////////////////////
-		 //measure the velocity
-		 unsigned long long numberOfElements = para->getParH(lev)->numberOfNodes;
-		 if (numberOfElements > 0)
-		 {
-			 CalcMacCompSP27(para->getParD(lev)->velocityX,
-							 para->getParD(lev)->velocityY,
-							 para->getParD(lev)->velocityZ,
-							 para->getParD(lev)->rho,
-							 para->getParD(lev)->pressure,
-							 para->getParD(lev)->typeOfGridNode,
-							 para->getParD(lev)->neighborX,
-							 para->getParD(lev)->neighborY,
-							 para->getParD(lev)->neighborZ,
-							 para->getParD(lev)->numberOfNodes,
-							 para->getParD(lev)->numberofthreads,
-							 para->getParD(lev)->distributions.f[0],
-							 para->getParD(lev)->isEvenTimestep);
-			 getLastCudaError("CalcMacSP27 execution failed");
-			 //////////////////////////////////////////////////////////////////
-			 cudaMemoryManager->cudaCopyPrint(lev);
-			 //////////////////////////////////////////////////////////////////
-			 for (size_t pos = 0; pos < numberOfElements; pos++)
-			 {
-				 tempVeloX += (double)para->getParH(lev)->velocityX[pos];
-			 }
-			 tempVeloX /= (double)numberOfElements;
-			 //////////////////////////////////////////////////////////////////
-			 levelVeloAverageX += tempVeloX;
-			 //////////////////////////////////////////////////////////////////
-			 counter++;
-			 //////////////////////////////////////////////////////////////////
-		 }
-	 }
-	 //////////////////////////////////////////////////////////////////////////
-	 veloAverageX = levelVeloAverageX / (double)counter;
-	 //////////////////////////////////////////////////////////////////////////
-	 if (isPID)
-	 {
-		 //PID-Controller
-		 e = vx1Targed - veloAverageX;
-		 esum = esum + e;
-		 y = Kp * e + Ki * Ta * esum + Kd * (e - eold) / Ta;
-		 eold = e;
+     //////////////////////////////////////////////////////////////////////////
+     double tempVeloX = 0.0;
+     double veloAverageX = 0.0;
+     double levelVeloAverageX = 0.0;
+     int counter = 0;
+     //////////////////////////////////////////////////////////////////////////
+     for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+     {
+         //////////////////////////////////////////////////////////////////////
+         //measure the velocity
+         unsigned long long numberOfElements = para->getParH(lev)->numberOfNodes;
+         if (numberOfElements > 0)
+         {
+             CalcMacCompSP27(para->getParD(lev)->velocityX,
+                             para->getParD(lev)->velocityY,
+                             para->getParD(lev)->velocityZ,
+                             para->getParD(lev)->rho,
+                             para->getParD(lev)->pressure,
+                             para->getParD(lev)->typeOfGridNode,
+                             para->getParD(lev)->neighborX,
+                             para->getParD(lev)->neighborY,
+                             para->getParD(lev)->neighborZ,
+                             para->getParD(lev)->numberOfNodes,
+                             para->getParD(lev)->numberofthreads,
+                             para->getParD(lev)->distributions.f[0],
+                             para->getParD(lev)->isEvenTimestep);
+             getLastCudaError("CalcMacSP27 execution failed");
+             //////////////////////////////////////////////////////////////////
+             cudaMemoryManager->cudaCopyPrint(lev);
+             //////////////////////////////////////////////////////////////////
+             for (size_t pos = 0; pos < numberOfElements; pos++)
+             {
+                 tempVeloX += (double)para->getParH(lev)->velocityX[pos];
+             }
+             tempVeloX /= (double)numberOfElements;
+             //////////////////////////////////////////////////////////////////
+             levelVeloAverageX += tempVeloX;
+             //////////////////////////////////////////////////////////////////
+             counter++;
+             //////////////////////////////////////////////////////////////////
+         }
+     }
+     //////////////////////////////////////////////////////////////////////////
+     veloAverageX = levelVeloAverageX / (double)counter;
+     //////////////////////////////////////////////////////////////////////////
+     if (isPID)
+     {
+         //PID-Controller
+         e = vx1Targed - veloAverageX;
+         esum = esum + e;
+         y = Kp * e + Ki * Ta * esum + Kd * (e - eold) / Ta;
+         eold = e;
 
-		 y = y / 2.0;
-	 }
-	 //////////////////////////////////////////////////////////////////////////
-	 para->getForcesDouble()[0] = (para->getForcesDouble()[0] + y);
-	 para->getForcesDouble()[1] = (para->getForcesDouble()[1] + y) * 0.0;
-	 para->getForcesDouble()[2] = (para->getForcesDouble()[2] + y) * 0.0;
-	 //////////////////////////////////////////////////////////////////////////
-	 para->getForcesHost()[0] = (real)(para->getForcesHost()[0] + y);
-	 para->getForcesHost()[1] = (real)(para->getForcesHost()[1] + y) * (real)0.0;
-	 para->getForcesHost()[2] = (real)(para->getForcesHost()[2] + y) * (real)0.0;
-	 //////////////////////////////////////////////////////////////////////////
-	 cudaMemoryManager->cudaCopyForcingToDevice();
-	 //////////////////////////////////////////////////////////////////////////
+         y = y / 2.0;
+     }
+     //////////////////////////////////////////////////////////////////////////
+     para->getForcesDouble()[0] = (para->getForcesDouble()[0] + y);
+     para->getForcesDouble()[1] = (para->getForcesDouble()[1] + y) * 0.0;
+     para->getForcesDouble()[2] = (para->getForcesDouble()[2] + y) * 0.0;
+     //////////////////////////////////////////////////////////////////////////
+     para->getForcesHost()[0] = (real)(para->getForcesHost()[0] + y);
+     para->getForcesHost()[1] = (real)(para->getForcesHost()[1] + y) * (real)0.0;
+     para->getForcesHost()[2] = (real)(para->getForcesHost()[2] + y) * (real)0.0;
+     //////////////////////////////////////////////////////////////////////////
+     cudaMemoryManager->cudaCopyForcingToDevice();
+     //////////////////////////////////////////////////////////////////////////
  }
 
 
 void ForceCalculations::printForcing(Parameter* para)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffname = para->getFName() + StringUtil::toString<int>(para->getMyProcessID()) + "_forcing.txt";
-	const char* fname = ffname.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
-	std::ofstream ostr;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostr.open(fname, std::fstream::app);
-	ostr << para->getForcesHost()[0] << " " << para->getForcesHost()[1] << " " << para->getForcesHost()[2];
-	ostr << std::endl;
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostr.close();
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffname = para->getFName() + StringUtil::toString<int>(para->getMyProcessID()) + "_forcing.txt";
+    const char* fname = ffname.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
+    std::ofstream ostr;
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostr.open(fname, std::fstream::app);
+    ostr << para->getForcesHost()[0] << " " << para->getForcesHost()[1] << " " << para->getForcesHost()[2];
+    ostr << std::endl;
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostr.close();
+    //////////////////////////////////////////////////////////////////////////
 }
diff --git a/src/gpu/core/Calculation/ForceCalculations.h b/src/gpu/core/Calculation/ForceCalculations.h
index 867e1327d1a6e2fefaa049f9e3d8e3dd6eb19666..1b8bb4859cc7acfd30b620bf1ba4aeeb37ab7a0b 100644
--- a/src/gpu/core/Calculation/ForceCalculations.h
+++ b/src/gpu/core/Calculation/ForceCalculations.h
@@ -12,25 +12,25 @@ class CudaMemoryManager;
 class ForceCalculations
 {
 public:
-	ForceCalculations(Parameter* para);
-	void calcPIDControllerForForce(Parameter* para, CudaMemoryManager* cudaMemoryManager);
-	void printForcing(Parameter* para);
+    ForceCalculations(Parameter* para);
+    void calcPIDControllerForForce(Parameter* para, CudaMemoryManager* cudaMemoryManager);
+    void printForcing(Parameter* para);
 
 private:
-	double vx1Targed; //!< target velocity.
-	double Kpcrit; //Kp critical
-	double Tcrit;  //the oscillation period 
-	double Tn;
-	double Tv;
-	double e;
-	double Ta;
-	double Kp;
-	double Ki;
-	double Kd;
-	double y;
-	double esum;
-	double eold;
-	bool isPID;
+    double vx1Targed; //!< target velocity.
+    double Kpcrit; //Kp critical
+    double Tcrit;  //the oscillation period 
+    double Tn;
+    double Tv;
+    double e;
+    double Ta;
+    double Kp;
+    double Ki;
+    double Kd;
+    double y;
+    double esum;
+    double eold;
+    bool isPID;
 };
 
 #endif /* FORCE_CALCULATIONS_H */
diff --git a/src/gpu/core/Calculation/PlaneCalculations.cpp b/src/gpu/core/Calculation/PlaneCalculations.cpp
index 48896c9e1f809552092d10f538f0b184e523d3b8..edeab64e9bf3c5c8c730cfae75f96b3f2b3b3c02 100644
--- a/src/gpu/core/Calculation/PlaneCalculations.cpp
+++ b/src/gpu/core/Calculation/PlaneCalculations.cpp
@@ -54,9 +54,9 @@ void setSizeOfPlane(Parameter* para, int lev, unsigned int z)
 
 void calcPressure(Parameter* para, std::string inorout, int lev)
 {
-	unsigned int m   = para->getParH(lev)->startP;
+    unsigned int m   = para->getParH(lev)->startP;
    unsigned int anz = 0;
-	double sumrho = 0.0, mrho = 0.0;
+    double sumrho = 0.0, mrho = 0.0;
    double PressIn, PressOut;
 
    for (unsigned int i = 0; i < para->getParH(lev)->sizePlanePress; i++)
@@ -65,23 +65,23 @@ void calcPressure(Parameter* para, std::string inorout, int lev)
       anz++;
       m++;
    }
-	mrho = sumrho/anz;
-	double deltav = para->getVelocityRatio();
-	std::cout << "\n sumrho = "   << sumrho ;
-	std::cout << "\n anz = "      << anz ;
-	std::cout << "\n mrho = "     << mrho ;
-	std::cout << "\n deltarho = " << para->getDensityRatio();
-	std::cout << "\n deltav = "   << deltav ;
-	if (inorout=="in")
-	{
-		PressIn = para->getDensityRatio() * deltav * deltav * mrho/3.0;
-		std::cout << "\n Druck Ein: " << PressIn << " Pa \n";
-	}
-	else if (inorout=="out")
-	{
-		PressOut = para->getDensityRatio() * deltav * deltav * mrho/3.0;
-		std::cout << "\n Druck Aus: " << PressOut << " Pa \n";
-	}
+    mrho = sumrho/anz;
+    double deltav = para->getVelocityRatio();
+    std::cout << "\n sumrho = "   << sumrho ;
+    std::cout << "\n anz = "      << anz ;
+    std::cout << "\n mrho = "     << mrho ;
+    std::cout << "\n deltarho = " << para->getDensityRatio();
+    std::cout << "\n deltav = "   << deltav ;
+    if (inorout=="in")
+    {
+        PressIn = para->getDensityRatio() * deltav * deltav * mrho/3.0;
+        std::cout << "\n Druck Ein: " << PressIn << " Pa \n";
+    }
+    else if (inorout=="out")
+    {
+        PressOut = para->getDensityRatio() * deltav * deltav * mrho/3.0;
+        std::cout << "\n Druck Aus: " << PressOut << " Pa \n";
+    }
 }
 
 
@@ -161,172 +161,172 @@ void calcFlowRate(Parameter* para, int lev)
 
 void calcPlaneConc(Parameter* para, CudaMemoryManager* cudaMemoryManager, int lev)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//copy to host
-	//coarsest Grid ... with the pressure nodes
-	//please test -> Copy == Alloc ??
-	////////////////////////////////////////////
-	//Version Press neighbor
-	unsigned int NoNin   = para->getParH(lev)->numberOfPointsCpTop;
-	unsigned int NoNout1 = para->getParH(lev)->numberOfPointsCpBottom;
-	unsigned int NoNout2 = para->getParH(lev)->pressureBC.numberOfBCnodes;
-	////////////////////////////////////////////
-	////Version cp top
-	//unsigned int NoN = para->getParH(lev)->numberOfPointsCpTop;
-	////////////////////////////////////////////
-	////Version cp bottom
-	//unsigned int NoN = para->getParH(lev)->numberOfPointsCpBottom;
-
-	cudaMemoryManager->cudaCopyPlaneConcIn(lev, NoNin);
-	cudaMemoryManager->cudaCopyPlaneConcOut1(lev, NoNout1);
-	cudaMemoryManager->cudaCopyPlaneConcOut2(lev, NoNout2);
-	////////////////////////////////////////////
-	//calculate concentration
-	double concPlaneIn = 0.;
-	double concPlaneOut1 = 0.;
-	double concPlaneOut2 = 0.;
-	////////////////////////////////////////////
-	double counter1 = 0.;
-	for (unsigned int it = 0; it < NoNin; it++)
-	{
-		if (para->getParH(lev)->typeOfGridNode[it] == GEO_FLUID)
-		{
-			concPlaneIn   += (double) (para->getParH(lev)->ConcPlaneIn[it]);
-			counter1 += 1.;
-		}
-	}
-	concPlaneIn /= (double)(counter1);
-	////////////////////////////////////////////
-	counter1 = 0.;
-	for (unsigned int it = 0; it < NoNout1; it++)
-	{
-		if (para->getParH(lev)->typeOfGridNode[it] == GEO_FLUID)
-		{
-			concPlaneOut1 += (double) (para->getParH(lev)->ConcPlaneOut1[it]);
-			counter1 += 1.;
-		}
-	}
-	concPlaneOut1 /= (double)(counter1);
-	////////////////////////////////////////////
-	counter1 = 0.;
-	for (unsigned int it = 0; it < NoNout2; it++)
-	{
-		if (para->getParH(lev)->typeOfGridNode[it] == GEO_FLUID)
-		{
-			concPlaneOut2 += (double) (para->getParH(lev)->ConcPlaneOut2[it]);
-			counter1 += 1.;
-		}
-	}
-	concPlaneOut2 /= (double)(counter1);
-	////////////////////////////////////////////
-	//concPlaneIn /= (double)(NoN);
-	//concPlaneOut1 /= (double)(NoN);
-	//concPlaneOut2 /= (double)(NoN);
-	//////////////////////////////////////////////////////////////////////////
-	//Copy to vector x,y,z
-	para->getParH(lev)->PlaneConcVectorIn.push_back(concPlaneIn);
-	para->getParH(lev)->PlaneConcVectorOut1.push_back(concPlaneOut1);
-	para->getParH(lev)->PlaneConcVectorOut2.push_back(concPlaneOut2);
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //copy to host
+    //coarsest Grid ... with the pressure nodes
+    //please test -> Copy == Alloc ??
+    ////////////////////////////////////////////
+    //Version Press neighbor
+    unsigned int NoNin   = para->getParH(lev)->numberOfPointsCpTop;
+    unsigned int NoNout1 = para->getParH(lev)->numberOfPointsCpBottom;
+    unsigned int NoNout2 = para->getParH(lev)->pressureBC.numberOfBCnodes;
+    ////////////////////////////////////////////
+    ////Version cp top
+    //unsigned int NoN = para->getParH(lev)->numberOfPointsCpTop;
+    ////////////////////////////////////////////
+    ////Version cp bottom
+    //unsigned int NoN = para->getParH(lev)->numberOfPointsCpBottom;
+
+    cudaMemoryManager->cudaCopyPlaneConcIn(lev, NoNin);
+    cudaMemoryManager->cudaCopyPlaneConcOut1(lev, NoNout1);
+    cudaMemoryManager->cudaCopyPlaneConcOut2(lev, NoNout2);
+    ////////////////////////////////////////////
+    //calculate concentration
+    double concPlaneIn = 0.;
+    double concPlaneOut1 = 0.;
+    double concPlaneOut2 = 0.;
+    ////////////////////////////////////////////
+    double counter1 = 0.;
+    for (unsigned int it = 0; it < NoNin; it++)
+    {
+        if (para->getParH(lev)->typeOfGridNode[it] == GEO_FLUID)
+        {
+            concPlaneIn   += (double) (para->getParH(lev)->ConcPlaneIn[it]);
+            counter1 += 1.;
+        }
+    }
+    concPlaneIn /= (double)(counter1);
+    ////////////////////////////////////////////
+    counter1 = 0.;
+    for (unsigned int it = 0; it < NoNout1; it++)
+    {
+        if (para->getParH(lev)->typeOfGridNode[it] == GEO_FLUID)
+        {
+            concPlaneOut1 += (double) (para->getParH(lev)->ConcPlaneOut1[it]);
+            counter1 += 1.;
+        }
+    }
+    concPlaneOut1 /= (double)(counter1);
+    ////////////////////////////////////////////
+    counter1 = 0.;
+    for (unsigned int it = 0; it < NoNout2; it++)
+    {
+        if (para->getParH(lev)->typeOfGridNode[it] == GEO_FLUID)
+        {
+            concPlaneOut2 += (double) (para->getParH(lev)->ConcPlaneOut2[it]);
+            counter1 += 1.;
+        }
+    }
+    concPlaneOut2 /= (double)(counter1);
+    ////////////////////////////////////////////
+    //concPlaneIn /= (double)(NoN);
+    //concPlaneOut1 /= (double)(NoN);
+    //concPlaneOut2 /= (double)(NoN);
+    //////////////////////////////////////////////////////////////////////////
+    //Copy to vector x,y,z
+    para->getParH(lev)->PlaneConcVectorIn.push_back(concPlaneIn);
+    para->getParH(lev)->PlaneConcVectorOut1.push_back(concPlaneOut1);
+    para->getParH(lev)->PlaneConcVectorOut2.push_back(concPlaneOut2);
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
 
 void allocPlaneConc(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set level   ---> maybe we need a loop
-	int lev = para->getCoarse();
-	//////////////////////////////////////////////////////////////////////////
-	//allocation
-	//coarsest Grid ... with the pressure nodes
-	//please test -> Copy == Alloc ??
-	////////////////////////////////////////////
-	//Version Press neighbor
-	cudaMemoryManager->cudaAllocPlaneConcIn(lev, para->getParH(lev)->numberOfPointsCpTop);
-	cudaMemoryManager->cudaAllocPlaneConcOut1(lev, para->getParH(lev)->numberOfPointsCpBottom);
-	cudaMemoryManager->cudaAllocPlaneConcOut2(lev, para->getParH(lev)->pressureBC.numberOfBCnodes);
-	printf("\n Number of elements plane concentration = %d + %d + %d \n", para->getParH(lev)->numberOfPointsCpTop, para->getParH(lev)->numberOfPointsCpBottom, para->getParH(lev)->pressureBC.numberOfBCnodes);
-	////////////////////////////////////////////
-	////Version cp top
-	//para->cudaAllocPlaneConc(lev, para->getParH(lev)->numberOfPointsCpTop);
-	//printf("\n Number of elements plane concentration = %d \n", para->getParH(lev)->numberOfPointsCpTop);
-	////////////////////////////////////////////
-	////Version cp bottom
-	//para->cudaAllocPlaneConc(lev, para->getParH(lev)->numberOfPointsCpBottom);
-	//printf("\n Number of elements plane concentration = %d \n", para->getParH(lev)->numberOfPointsCpBottom);
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //set level   ---> maybe we need a loop
+    int lev = para->getCoarse();
+    //////////////////////////////////////////////////////////////////////////
+    //allocation
+    //coarsest Grid ... with the pressure nodes
+    //please test -> Copy == Alloc ??
+    ////////////////////////////////////////////
+    //Version Press neighbor
+    cudaMemoryManager->cudaAllocPlaneConcIn(lev, para->getParH(lev)->numberOfPointsCpTop);
+    cudaMemoryManager->cudaAllocPlaneConcOut1(lev, para->getParH(lev)->numberOfPointsCpBottom);
+    cudaMemoryManager->cudaAllocPlaneConcOut2(lev, para->getParH(lev)->pressureBC.numberOfBCnodes);
+    printf("\n Number of elements plane concentration = %d + %d + %d \n", para->getParH(lev)->numberOfPointsCpTop, para->getParH(lev)->numberOfPointsCpBottom, para->getParH(lev)->pressureBC.numberOfBCnodes);
+    ////////////////////////////////////////////
+    ////Version cp top
+    //para->cudaAllocPlaneConc(lev, para->getParH(lev)->numberOfPointsCpTop);
+    //printf("\n Number of elements plane concentration = %d \n", para->getParH(lev)->numberOfPointsCpTop);
+    ////////////////////////////////////////////
+    ////Version cp bottom
+    //para->cudaAllocPlaneConc(lev, para->getParH(lev)->numberOfPointsCpBottom);
+    //printf("\n Number of elements plane concentration = %d \n", para->getParH(lev)->numberOfPointsCpBottom);
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
 
 void printPlaneConc(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//set level   ---> maybe we need a loop
-	int lev = para->getCoarse();
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffnameIn = para->getFName() + UbSystem::toString(para->getMyProcessID()) + "_" + "In" + "_PlaneConc.txt";
-	const char* fnameIn = ffnameIn.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
-	std::ofstream ostrIn;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostrIn.open(fnameIn);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	for (size_t i = 0; i < para->getParH(lev)->PlaneConcVectorIn.size(); i++)
-	{
-		ostrIn << para->getParH(lev)->PlaneConcVectorIn[i]  << std::endl ;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostrIn.close();
-	
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffnameOut1 = para->getFName() + UbSystem::toString(para->getMyProcessID()) + "_" + "Out1" + "_PlaneConc.txt";
-	const char* fnameOut1 = ffnameOut1.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //set level   ---> maybe we need a loop
+    int lev = para->getCoarse();
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffnameIn = para->getFName() + UbSystem::toString(para->getMyProcessID()) + "_" + "In" + "_PlaneConc.txt";
+    const char* fnameIn = ffnameIn.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
+    std::ofstream ostrIn;
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostrIn.open(fnameIn);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    for (size_t i = 0; i < para->getParH(lev)->PlaneConcVectorIn.size(); i++)
+    {
+        ostrIn << para->getParH(lev)->PlaneConcVectorIn[i]  << std::endl ;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostrIn.close();
+    
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffnameOut1 = para->getFName() + UbSystem::toString(para->getMyProcessID()) + "_" + "Out1" + "_PlaneConc.txt";
+    const char* fnameOut1 = ffnameOut1.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
     std::ofstream ostrOut1;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostrOut1.open(fnameOut1);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	for (size_t i = 0; i < para->getParH(lev)->PlaneConcVectorOut1.size(); i++)
-	{
-		ostrOut1 << para->getParH(lev)->PlaneConcVectorOut1[i]  << std::endl ;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostrOut1.close();
-
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffnameOut2 = para->getFName() + UbSystem::toString(para->getMyProcessID()) + "_" + "Out2" + "_PlaneConc.txt";
-	const char* fnameOut2 = ffnameOut2.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostrOut1.open(fnameOut1);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    for (size_t i = 0; i < para->getParH(lev)->PlaneConcVectorOut1.size(); i++)
+    {
+        ostrOut1 << para->getParH(lev)->PlaneConcVectorOut1[i]  << std::endl ;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostrOut1.close();
+
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffnameOut2 = para->getFName() + UbSystem::toString(para->getMyProcessID()) + "_" + "Out2" + "_PlaneConc.txt";
+    const char* fnameOut2 = ffnameOut2.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
     std::ofstream ostrOut2;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostrOut2.open(fnameOut2);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	for (size_t i = 0; i < para->getParH(lev)->PlaneConcVectorOut2.size(); i++)
-	{
-		ostrOut2 << para->getParH(lev)->PlaneConcVectorOut2[i]  << std::endl ;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostrOut2.close();
-	//////////////////////////////////////////////////////////////////////////
-	cudaMemoryManager->cudaFreePlaneConc(lev);
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostrOut2.open(fnameOut2);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    for (size_t i = 0; i < para->getParH(lev)->PlaneConcVectorOut2.size(); i++)
+    {
+        ostrOut2 << para->getParH(lev)->PlaneConcVectorOut2[i]  << std::endl ;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostrOut2.close();
+    //////////////////////////////////////////////////////////////////////////
+    cudaMemoryManager->cudaFreePlaneConc(lev);
+    //////////////////////////////////////////////////////////////////////////
 }
 
 
@@ -337,47 +337,47 @@ void printPlaneConc(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 //Print Test round of Error
 void printRE(Parameter* para, CudaMemoryManager* cudaMemoryManager, int timestep)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//set level
-	int lev = 0;
-	//////////////////////////////////////////////////////////////////////////
-	//set filename
-	std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_"+StringUtil::toString<int>(timestep)+"_RE.txt";
-	const char* fname = ffname.c_str();
-	//////////////////////////////////////////////////////////////////////////
-	//set ofstream
+    //////////////////////////////////////////////////////////////////////////
+    //set level
+    int lev = 0;
+    //////////////////////////////////////////////////////////////////////////
+    //set filename
+    std::string ffname = para->getFName()+StringUtil::toString<int>(para->getMyProcessID())+"_"+StringUtil::toString<int>(timestep)+"_RE.txt";
+    const char* fname = ffname.c_str();
+    //////////////////////////////////////////////////////////////////////////
+    //set ofstream
     std::ofstream ostr;
-	//////////////////////////////////////////////////////////////////////////
-	//open file
-	ostr.open(fname);
-	//////////////////////////////////////////////////////////////////////////
-	//fill file with data
-	bool doNothing = false;
-	for (unsigned int i = 0; i < para->getParH(lev)->pressureBC.numberOfBCnodes; i++)
-	{
-		doNothing = false;
-		for (std::size_t j = 0; j < 27; j++)
-		{
-			if (para->getParH(lev)->kDistTestRE.f[0][j*para->getParH(lev)->pressureBC.numberOfBCnodes + i]==0)
-			{
-				doNothing = true;
-				continue;
-			}
-			ostr << para->getParH(lev)->kDistTestRE.f[0][j*para->getParH(lev)->pressureBC.numberOfBCnodes + i]  << "\t";
-		}
-		if (doNothing==true)
-		{
-			continue;
-		}
-		ostr << std::endl;
-	}
-	//////////////////////////////////////////////////////////////////////////
-	//close file
-	ostr.close();
-	//////////////////////////////////////////////////////////////////////////
-	if (timestep == (int)para->getTimestepEnd())
-	{
-		cudaMemoryManager->cudaFreeTestRE(lev);
-	}
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+    //open file
+    ostr.open(fname);
+    //////////////////////////////////////////////////////////////////////////
+    //fill file with data
+    bool doNothing = false;
+    for (unsigned int i = 0; i < para->getParH(lev)->pressureBC.numberOfBCnodes; i++)
+    {
+        doNothing = false;
+        for (std::size_t j = 0; j < 27; j++)
+        {
+            if (para->getParH(lev)->kDistTestRE.f[0][j*para->getParH(lev)->pressureBC.numberOfBCnodes + i]==0)
+            {
+                doNothing = true;
+                continue;
+            }
+            ostr << para->getParH(lev)->kDistTestRE.f[0][j*para->getParH(lev)->pressureBC.numberOfBCnodes + i]  << "\t";
+        }
+        if (doNothing==true)
+        {
+            continue;
+        }
+        ostr << std::endl;
+    }
+    //////////////////////////////////////////////////////////////////////////
+    //close file
+    ostr.close();
+    //////////////////////////////////////////////////////////////////////////
+    if (timestep == (int)para->getTimestepEnd())
+    {
+        cudaMemoryManager->cudaFreeTestRE(lev);
+    }
+    //////////////////////////////////////////////////////////////////////////
 }
diff --git a/src/gpu/core/Calculation/PorousMedia.cpp b/src/gpu/core/Calculation/PorousMedia.cpp
deleted file mode 100644
index d70e8a8da75b2b7c30e700be3f3fec035ad1e4a6..0000000000000000000000000000000000000000
--- a/src/gpu/core/Calculation/PorousMedia.cpp
+++ /dev/null
@@ -1,133 +0,0 @@
-#include "Calculation/PorousMedia.h"
-
-//////////////////////////////////////////////////////////////////////////
-//#include "GPU/GPU_Interface.h"
-//#include <cuda_runtime.h>
-//#include <helper_cuda.h>
-//#include <stdio.h>
-//#include <fstream>
-//#include <sstream>
-//using namespace std;
-//////////////////////////////////////////////////////////////////////////
-
-PorousMedia::PorousMedia()
-{
-	porosity = 0.0;
-	geoID = 0;
-	setLBMvaluesToZero();
-	setSIvaluesToZero();
-	setCoordinatesToZero();
-}
-
-PorousMedia::PorousMedia(double porosity, unsigned int geoID, double darcySI, double forchheimerSI, double dxLBM, double dtLBM, unsigned int level)
-{
-	this->porosity = porosity;
-	this->geoID = geoID;
-	this->darcySI = darcySI;
-	this->forchheimerSI = forchheimerSI;
-	this->dxLBM = dxLBM;
-	this->dtLBM = dtLBM;
-	//this->lengthOfPorousMedia = 1.0;
-	//this->forchheimerLBM = this->forchheimerSI * this->dxLBM / this->lengthOfPorousMedia;
-	//this->darcyLBM = this->darcySI * this->dtLBM / this->lengthOfPorousMedia;
-	this->level = level;
-	setCoordinatesToZero();
-	setResistanceLBM();
-}
-
-PorousMedia::~PorousMedia()
-{
-}
-
-
-//setter
-void PorousMedia::setPorosity(double porosity) {			this->porosity = porosity; }
-void PorousMedia::setDarcySI(double darcySI) {				this->darcySI = darcySI; }
-void PorousMedia::setForchheimerSI(double forchheimerSI) {	this->forchheimerSI = forchheimerSI; }
-
-void PorousMedia::setStartCoordinates(double startCoordX, double startCoordY, double startCoordZ) 
-{
-	this->startCoordX = startCoordX;
-	this->startCoordY = startCoordY;
-	this->startCoordZ = startCoordZ;
-}
-
-void PorousMedia::setEndCoordinates(double endCoordX, double endCoordY, double endCoordZ)
-{
-	this->endCoordX = endCoordX;
-	this->endCoordY = endCoordY;
-	this->endCoordZ = endCoordZ;
-}
-
-void PorousMedia::setHostNodeIDsPM(unsigned int* hostNodeIDsPM)
-{
-	this->hostNodeIDsPM = hostNodeIDsPM;
-}
-
-void PorousMedia::setDeviceNodeIDsPM(unsigned int* deviceNodeIDsPM)
-{
-	this->deviceNodeIDsPM = deviceNodeIDsPM;
-}
-
-void PorousMedia::setSizePM(unsigned int sizePM)
-{
-	this->sizePM = sizePM;
-}
-
-void PorousMedia::setResistanceLBM() 
-{
-	if ((this->endCoordX - this->startCoordX) > 1.0)
-	{
-		this->lengthOfPorousMedia = (this->endCoordX - this->startCoordX);
-	}
-	else
-	{
-		this->lengthOfPorousMedia = 1.0;
-	}
-	this->forchheimerLBM = this->forchheimerSI * this->dxLBM / this->lengthOfPorousMedia;
-	this->darcyLBM = this->darcySI * this->dtLBM / this->lengthOfPorousMedia;
-}
-
-//void PorousMedia::definePMarea(Parameter* para, unsigned int level)
-//{
-//	unsigned int counter = 0;
-//	for (unsigned int i = 0; i < para->getParH(level)->numberOfNodes; i++)
-//	{
-//		if (((para->getParH(level)->coordinateX[i] >= this->startCoordX) && (para->getParH(level)->coordinateX[i] <= this->endCoordX)) &&
-//			((para->getParH(level)->coordinateY[i] >= this->startCoordY) && (para->getParH(level)->coordinateY[i] <= this->endCoordY)) && 
-//			((para->getParH(level)->coordinateZ[i] >= this->startCoordZ) && (para->getParH(level)->coordinateZ[i] <= this->endCoordZ)) )
-//		{
-//			if (para->getParH(level)->typeOfGridNode[i] >= GEO_FLUID)
-//			{
-//				para->getParH(level)->typeOfGridNode[i] = this->geoID;
-//				nodeIDsPorousMedia.push_back(i);
-//				counter++;
-//			}
-//		}
-//	}
-//
-//	this->sizePM = counter;
-//
-//	for (unsigned int j = 0; j <= this->sizePM; j++)
-//	{
-//	}
-//}
-
-//getter
-double PorousMedia::getPorosity(){					return this->porosity; }
-double PorousMedia::getDarcySI() {					return this->darcySI; }
-double PorousMedia::getForchheimerSI(){				return this->forchheimerSI; }
-double PorousMedia::getDarcyLBM() {					return this->darcyLBM; }
-double PorousMedia::getForchheimerLBM() {			return this->forchheimerLBM; }
-unsigned int PorousMedia::getGeoID() {				return this->geoID; }
-unsigned int PorousMedia::getSizePM() {				return this->sizePM; }
-unsigned int PorousMedia::getLevelPM() {			return this->level; }
-unsigned int* PorousMedia::getHostNodeIDsPM() {		return this->hostNodeIDsPM; }
-unsigned int* PorousMedia::getDeviceNodeIDsPM() {	return this->deviceNodeIDsPM; }
-double PorousMedia::getStartX(){					return this->startCoordX; }
-double PorousMedia::getStartY(){					return this->startCoordY; }
-double PorousMedia::getStartZ(){					return this->startCoordZ; }
-double PorousMedia::getEndX(){						return this->endCoordX; }
-double PorousMedia::getEndY(){						return this->endCoordY; }
-double PorousMedia::getEndZ(){						return this->endCoordZ; }
-
diff --git a/src/gpu/core/Calculation/PorousMedia.h b/src/gpu/core/Calculation/PorousMedia.h
deleted file mode 100644
index 990894faf7a7de3c5028bb4eedcb83769236d360..0000000000000000000000000000000000000000
--- a/src/gpu/core/Calculation/PorousMedia.h
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef POROUS_MEDIA_H
-#define POROUS_MEDIA_H
-
-//#include "Parameter/Parameter.h"
-//#include "Utilities/StringUtil.hpp"
-//#include "basics/utilities/UbSystem.h"
-
-#include <iostream>
-#include <vector>
-#include <stdio.h>
-//using namespace std;
-
-class PorousMedia
-{
-public:
-	PorousMedia();
-	PorousMedia(double porosity, unsigned int geoID, double darcySI, double forchheimerSI, double dxLBM, double dtLBM, unsigned int level);
-	~PorousMedia();
-
-	//setter
-	void setPorosity(double porosity);
-	void setDarcySI(double darcySI);
-	void setForchheimerSI(double forchheimerSI);
-	void setStartCoordinates(double startCoordX, double startCoordY, double startCoordZ);
-	void setEndCoordinates(double endCoordX, double endCoordY, double endCoordZ);
-	//void definePMarea(Parameter* para, unsigned int level);
-	void setHostNodeIDsPM(unsigned int* hostNodeIDsPM);
-	void setDeviceNodeIDsPM(unsigned int* deviceNodeIDsPM);
-	void setSizePM(unsigned int sizePM);
-	void setResistanceLBM();
-
-	//getter
-	double getPorosity();
-	double getDarcySI();
-	double getForchheimerSI();
-	double getDarcyLBM();
-	double getForchheimerLBM();
-	unsigned int getGeoID();
-	unsigned int getSizePM();
-	unsigned int getLevelPM();
-	unsigned int* getHostNodeIDsPM();
-	unsigned int* getDeviceNodeIDsPM();
-	double getStartX();
-	double getStartY();
-	double getStartZ();
-	double getEndX();
-	double getEndY();
-	double getEndZ();
-
-private:
-	double porosity;
-	double darcySI; //[1/s]
-	double darcyLBM; 
-	double forchheimerSI; //[1/m]
-	double forchheimerLBM;
-	double dxLBM;
-	double dtLBM;
-	double startCoordX;
-	double startCoordY;
-	double startCoordZ;
-	double endCoordX;
-	double endCoordY;
-	double endCoordZ;
-	double lengthOfPorousMedia;
-	unsigned int geoID;
-	//std::vector< unsigned int > nodeIDsPorousMedia;
-	unsigned int sizePM;
-	unsigned int level;
-	unsigned int *hostNodeIDsPM;
-	unsigned int *deviceNodeIDsPM;
-
-	void setCoordinatesToZero() 
-	{
-		startCoordX = 0;
-		startCoordY = 0;
-		startCoordZ = 0;
-		endCoordX = 0;
-		endCoordY = 0;
-		endCoordZ = 0;
-	};
-
-	void setSIvaluesToZero()
-	{
-		darcySI = 0.0;
-		forchheimerSI = 0.0;
-	};
-
-	void setLBMvaluesToZero()
-	{
-		darcyLBM = 0.0;
-		forchheimerLBM = 0.0;
-		dxLBM = 0.0;
-		dtLBM = 0.0;
-	};
-
-
-};
-
-
-#endif /* POROUS_MEDIA_H */
diff --git a/src/gpu/core/Calculation/UpdateGrid27.cpp b/src/gpu/core/Calculation/UpdateGrid27.cpp
index 243642679eedd90475f5500ccd7e4322abf14c15..894c945b1be26a3dbf4c37c6acd5d6c01f5c8c37 100644
--- a/src/gpu/core/Calculation/UpdateGrid27.cpp
+++ b/src/gpu/core/Calculation/UpdateGrid27.cpp
@@ -45,9 +45,6 @@ void UpdateGrid27::updateGrid(int level, unsigned int t)
 
     //////////////////////////////////////////////////////////////////////////
 
-    if (para->getUseWale()) //TODO: make WALE consistent with structure of other turbulence models
-        calcMacroscopicQuantities(level);
-
     calcTurbulentViscosity(level);
 
     //////////////////////////////////////////////////////////////////////////
@@ -101,11 +98,6 @@ void UpdateGrid27::collisionAllNodes(int level, unsigned int t)
 
     //////////////////////////////////////////////////////////////////////////
 
-    if (para->getSimulatePorousMedia())
-        collisionPorousMedia(level);
-
-    //////////////////////////////////////////////////////////////////////////
-
     if (para->getDiffOn())
         collisionAdvectionDiffusion(level);
 }
@@ -118,41 +110,12 @@ void UpdateGrid27::collisionUsingIndices(int level, unsigned int t, uint *tagged
         std::cout << "In collision: fluidNodeIndices or numberOfFluidNodes not defined"
                       << std::endl;
 
-    //////////////////////////////////////////////////////////////////////////
-    //! \todo: AD collision and porousMedia should be called separately, not in collisionUsingIndices
-
-    if (para->getSimulatePorousMedia())
-        collisionPorousMedia(level);
-
     //////////////////////////////////////////////////////////////////////////
 
     if (para->getDiffOn())
         collisionAdvectionDiffusion(level);
 }
 
-void UpdateGrid27::collisionPorousMedia(int level)
-{
-    for( std::size_t i = 0; i < pm.size(); i++ )
-    {
-        KernelPMCumOneCompSP27(para->getParD(level)->numberofthreads,
-                               para->getParD(level)->omega,
-                               para->getParD(level)->neighborX,
-                               para->getParD(level)->neighborY,
-                               para->getParD(level)->neighborZ,
-                               para->getParD(level)->distributions.f[0],
-                               para->getParD(level)->numberOfNodes,
-                               level,
-                               para->getForcesDev(),
-                               pm[i]->getPorosity(),
-                               pm[i]->getDarcyLBM(),
-                               pm[i]->getForchheimerLBM(),
-                               pm[i]->getSizePM(),
-                               pm[i]->getHostNodeIDsPM(),
-                               para->getParD(level)->isEvenTimestep);
-        getLastCudaError("KernelPMCumOneCompSP27 execution failed");
-    }
-}
-
 void UpdateGrid27::collisionAdvectionDiffusion(int level)
 {
     this->adKernelManager->runADcollisionKernel(level);
@@ -416,16 +379,16 @@ void UpdateGrid27::exchangeData(int level)
 }
 
 UpdateGrid27::UpdateGrid27(SPtr<Parameter> para, vf::parallel::Communicator &comm, SPtr<CudaMemoryManager> cudaMemoryManager,
-                           std::vector<std::shared_ptr<PorousMedia>> &pm, std::vector<SPtr<Kernel>> &kernels,
-                           BoundaryConditionFactory *bcFactory, SPtr<TurbulenceModelFactory> tmFactory,
-                           GridScalingFactory *scalingFactory)
-    : para(para), comm(comm), cudaMemoryManager(cudaMemoryManager), pm(pm), kernels(kernels), tmFactory(tmFactory)
+                           std::vector<SPtr<Kernel>>& kernels,
+                           std::vector<SPtr<AdvectionDiffusionKernel>>& adkernels, BoundaryConditionFactory* bcFactory,
+                           SPtr<TurbulenceModelFactory> tmFactory, GridScalingFactory* scalingFactory)
+    : para(para), comm(comm), cudaMemoryManager(cudaMemoryManager), kernels(kernels), tmFactory(tmFactory)
 {
     this->collision = getFunctionForCollisionAndExchange(para->getUseStreams(), para->getNumprocs(), para->getKernelNeedsFluidNodeIndicesToRun());
     this->refinement = getFunctionForRefinementAndExchange(para->getUseStreams(), para->getNumprocs(), para->getMaxLevel(), para->useReducedCommunicationAfterFtoC);
 
     this->bcKernelManager = std::make_shared<BCKernelManager>(para, bcFactory);
-    this->adKernelManager = std::make_shared<ADKernelManager>(para);
+    this->adKernelManager = std::make_shared<ADKernelManager>(para, adkernels);
     this->gridScalingKernelManager = std::make_shared<GridScalingKernelManager>(para, scalingFactory);
 }
 
diff --git a/src/gpu/core/Calculation/UpdateGrid27.h b/src/gpu/core/Calculation/UpdateGrid27.h
index f6ba49678c49a579335abcc65203d7f66f4f8653..e22b400884524f146fdea380d985134dd61ca678 100644
--- a/src/gpu/core/Calculation/UpdateGrid27.h
+++ b/src/gpu/core/Calculation/UpdateGrid27.h
@@ -1,12 +1,14 @@
 #ifndef UPDATEGRID27_H
 #define UPDATEGRID27_H
 
-#include "Calculation/PorousMedia.h"
+#include <vector>
+
 #include "GPU/CudaMemoryManager.h"
 #include "GPU/GPU_Interface.h"
 #include "LBM/LB.h"
 #include "Parameter/CudaStreamManager.h"
 #include "Parameter/Parameter.h"
+#include "Kernel/AdvectionDiffusionKernel.h"
 
 namespace vf::parallel
 {
@@ -28,8 +30,9 @@ using RefinementStrategy = std::function<void (UpdateGrid27* updateGrid, Paramet
 class UpdateGrid27
 {
 public:
-    UpdateGrid27(SPtr<Parameter> para, vf::parallel::Communicator& comm, SPtr<CudaMemoryManager> cudaMemoryManager,
-                 std::vector<std::shared_ptr<PorousMedia>> &pm, std::vector<SPtr<Kernel>> &kernels, BoundaryConditionFactory* bcFactory, SPtr<TurbulenceModelFactory> tmFactory, GridScalingFactory* scalingFactory);
+    UpdateGrid27(SPtr<Parameter> para, vf::parallel::Communicator& comm, SPtr<CudaMemoryManager> cudaMemoryManager, std::vector<SPtr<Kernel>>& kernels,
+                 std::vector<SPtr<AdvectionDiffusionKernel>>& adkernels, BoundaryConditionFactory* bcFactory,
+                 SPtr<TurbulenceModelFactory> tmFactory, GridScalingFactory* scalingFactory);
     void updateGrid(int level, unsigned int t);
     void exchangeData(int level);
 
@@ -41,7 +44,6 @@ private:
 
     void postCollisionBC(int level, unsigned int t);
     void preCollisionBC(int level, unsigned int t);
-    void collisionPorousMedia(int level);
 
     void fineToCoarse(int level, InterpolationCells* fineToCoarse, ICellNeigh &neighborFineToCoarse, CudaStreamIndex streamIndex);
     void coarseToFine(int level, InterpolationCells* coarseToFine, ICellNeigh &neighborCoarseToFine, CudaStreamIndex streamIndex);
@@ -81,7 +83,6 @@ private:
     SPtr<Parameter> para;
     vf::parallel::Communicator& comm;
     SPtr<CudaMemoryManager> cudaMemoryManager;
-    std::vector<std::shared_ptr<PorousMedia>> pm;
     std::vector<SPtr<Kernel>> kernels;
     //! \property lbKernelManager is a shared pointer to an object of LBKernelManager
     std::shared_ptr<BCKernelManager> bcKernelManager;
diff --git a/src/gpu/core/DataStructureInitializer/GridProvider.cpp b/src/gpu/core/DataStructureInitializer/GridProvider.cpp
index 4336928e8b0dbeedcc864ac892d6e60ac0e3a785..ddf0cac2a9faa537fbf8a52fafc091f26f99bc06 100644
--- a/src/gpu/core/DataStructureInitializer/GridProvider.cpp
+++ b/src/gpu/core/DataStructureInitializer/GridProvider.cpp
@@ -72,21 +72,6 @@ void GridProvider::setInitialNodeValues(uint numberOfNodes, int level) const
             para->getParH(level)->rho_SP_Med[pos] = 0.0f;
             para->getParH(level)->press_SP_Med[pos] = 0.0f;
         }
-        if (para->getUseWale()) {
-            para->getParH(level)->turbViscosity[pos] = 0.0f;
-            //Debug
-            para->getParH(level)->gSij[pos] = 0.0f;
-            para->getParH(level)->gSDij[pos] = 0.0f;
-            para->getParH(level)->gDxvx[pos] = 0.0f;
-            para->getParH(level)->gDyvx[pos] = 0.0f;
-            para->getParH(level)->gDzvx[pos] = 0.0f;
-            para->getParH(level)->gDxvy[pos] = 0.0f;
-            para->getParH(level)->gDyvy[pos] = 0.0f;
-            para->getParH(level)->gDzvy[pos] = 0.0f;
-            para->getParH(level)->gDxvz[pos] = 0.0f;
-            para->getParH(level)->gDyvz[pos] = 0.0f;
-            para->getParH(level)->gDzvz[pos] = 0.0f;
-        }
 
         if (para->getIsBodyForce()) {
             para->getParH(level)->forceX_SP[pos] = 0.0f;
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryQs.cpp b/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryQs.cpp
index ab266e499fbe9aae16eef29c8bd35b67019323f3..06b0ddb837fdeefe2656f50f5c62bc1e3afcf059 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryQs.cpp
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryQs.cpp
@@ -10,36 +10,36 @@
 
 BoundaryQs::BoundaryQs(std::string path, bool isBinary)
 {
-	if (isBinary) 
-	{
-		file.open(path.c_str(), std::ios::in | std::ios::binary);
-		checkFileStatus(path);
-		init_Binary();
-	} 
-	else
-	{
-		file.open(path.c_str(), std::ios::in );
-		checkFileStatus(path);
-		init();
-	}
+    if (isBinary) 
+    {
+        file.open(path.c_str(), std::ios::in | std::ios::binary);
+        checkFileStatus(path);
+        init_Binary();
+    } 
+    else
+    {
+        file.open(path.c_str(), std::ios::in );
+        checkFileStatus(path);
+        init();
+    }
 }
 
 BoundaryQs::BoundaryQs(std::string path, std::shared_ptr<Parameter> para, std::string str, bool isBinary)
 {
-	if (isBinary) file.open(path.c_str(), std::ios::in | std::ios::binary);
-	else file.open(path.c_str(), std::ios::in);
-
-	if (!file) 
-		para->setObj(str, false);
-	else 
-	{
-		para->setObj(str, true);
-		if(isBinary)
-			init_Binary();
-		else
-			init();
-	}
-	
+    if (isBinary) file.open(path.c_str(), std::ios::in | std::ios::binary);
+    else file.open(path.c_str(), std::ios::in);
+
+    if (!file) 
+        para->setObj(str, false);
+    else 
+    {
+        para->setObj(str, true);
+        if(isBinary)
+            init_Binary();
+        else
+            init();
+    }
+    
 }
 
 BoundaryQs::BoundaryQs()
@@ -50,119 +50,119 @@ BoundaryQs::BoundaryQs()
 
 void BoundaryQs::checkFileStatus(std::string path)
 {
-	if (!file)
-	{
-		std::cerr << "can not open q-file: " << path << std::endl;
-		exit(1);
-	}
+    if (!file)
+    {
+        std::cerr << "can not open q-file: " << path << std::endl;
+        exit(1);
+    }
 }
 
 BoundaryQs::~BoundaryQs()
 {
-	file.close();
+    file.close();
 }
 
 void BoundaryQs::init()
 {
-	std::vector<uint32_t> vec1D_code;
-	std::string bufferString;
-
-	file >> maxLevel;
-	resizeVectors();
-
-	for (unsigned int level = 0; level <= maxLevel; level++)
-	{
-		file >> levelSizes[level];
-		resizeVectorsPerLevel(level, vec1D_code);
-		if (levelSizes[level] == 0)
-			continue;
-		
-		for (unsigned int elem = 0; elem < levelSizes[level]; elem++)
-		{
-			int columnCounter = 26;
-			file >> indices[level][elem];
-			file >> vec1D_code[elem];
-
-			while (vec1D_code[elem] != 0)
-			{
-				if (vec1D_code[elem] % 2 == 1)
-					file >> values[level][columnCounter][elem];
-				vec1D_code[elem] /= 2;
-				columnCounter--;
-			}
-			getline(file, bufferString);
-		}
-		vec1D_code.clear();
-	}
+    std::vector<uint32_t> vec1D_code;
+    std::string bufferString;
+
+    file >> maxLevel;
+    resizeVectors();
+
+    for (unsigned int level = 0; level <= maxLevel; level++)
+    {
+        file >> levelSizes[level];
+        resizeVectorsPerLevel(level, vec1D_code);
+        if (levelSizes[level] == 0)
+            continue;
+        
+        for (unsigned int elem = 0; elem < levelSizes[level]; elem++)
+        {
+            int columnCounter = 26;
+            file >> indices[level][elem];
+            file >> vec1D_code[elem];
+
+            while (vec1D_code[elem] != 0)
+            {
+                if (vec1D_code[elem] % 2 == 1)
+                    file >> values[level][columnCounter][elem];
+                vec1D_code[elem] /= 2;
+                columnCounter--;
+            }
+            getline(file, bufferString);
+        }
+        vec1D_code.clear();
+    }
 }
 
 void BoundaryQs::init_Binary() 
 {
-	std::vector<uint32_t> vec1D_code;
-
-	std::string bufferString;
-	unsigned int bufferInt;
-	real bufferDouble;
-	uint32_t bufferUint32_t;
-
-	file >> maxLevel;
-	resizeVectors();
-
-	for (unsigned int level = 0; level <= maxLevel; level++)
-	{
-		file >> levelSizes[level];
-		resizeVectorsPerLevel(level, vec1D_code);
-		if (levelSizes[level] == 0)
-			continue;
-
-		for (unsigned int elem = 0; elem < levelSizes[level]; elem++)
-		{
-			int zaehler = 26;
-			file.read((char*)&bufferInt, sizeof(int));
-			indices[level][elem] = bufferInt;
-
-			file.read((char*)&bufferUint32_t, sizeof(uint32_t));
-			vec1D_code[elem] = bufferUint32_t;
-			while (vec1D_code[elem] != 0)
-			{
-				if (vec1D_code[elem] % 2 == 1)
-				{
-					file.read((char*)&bufferDouble, sizeof(double));
-					values[level][zaehler][elem] = bufferDouble;
-				}
-				vec1D_code[elem] /= 2;
-				zaehler--;
-			}
-			getline(file, bufferString);
-		}
-		vec1D_code.clear();
-	}
+    std::vector<uint32_t> vec1D_code;
+
+    std::string bufferString;
+    unsigned int bufferInt;
+    real bufferDouble;
+    uint32_t bufferUint32_t;
+
+    file >> maxLevel;
+    resizeVectors();
+
+    for (unsigned int level = 0; level <= maxLevel; level++)
+    {
+        file >> levelSizes[level];
+        resizeVectorsPerLevel(level, vec1D_code);
+        if (levelSizes[level] == 0)
+            continue;
+
+        for (unsigned int elem = 0; elem < levelSizes[level]; elem++)
+        {
+            int zaehler = 26;
+            file.read((char*)&bufferInt, sizeof(int));
+            indices[level][elem] = bufferInt;
+
+            file.read((char*)&bufferUint32_t, sizeof(uint32_t));
+            vec1D_code[elem] = bufferUint32_t;
+            while (vec1D_code[elem] != 0)
+            {
+                if (vec1D_code[elem] % 2 == 1)
+                {
+                    file.read((char*)&bufferDouble, sizeof(double));
+                    values[level][zaehler][elem] = bufferDouble;
+                }
+                vec1D_code[elem] /= 2;
+                zaehler--;
+            }
+            getline(file, bufferString);
+        }
+        vec1D_code.clear();
+    }
 }
 
 void BoundaryQs::resizeVectors()
 {
-	levelSizes.resize(maxLevel + 1);
-	values.resize(maxLevel + 1);
-	indices.resize(maxLevel + 1);
+    levelSizes.resize(maxLevel + 1);
+    values.resize(maxLevel + 1);
+    indices.resize(maxLevel + 1);
 }
 
 void BoundaryQs::resizeVectorsPerLevel(unsigned int level, std::vector<uint32_t> &vec1D_code)
 {
-	values[level].resize(QCOLUMNS);
-	for (int i = 0; i < QCOLUMNS; i++)
-		values[level][i].resize(levelSizes[level], -1);
-	indices[level].resize(levelSizes[level]);
-	vec1D_code.resize(levelSizes[level]);
+    values[level].resize(QCOLUMNS);
+    for (int i = 0; i < QCOLUMNS; i++)
+        values[level][i].resize(levelSizes[level], -1);
+    indices[level].resize(levelSizes[level]);
+    vec1D_code.resize(levelSizes[level]);
 }
 
 unsigned int BoundaryQs::getSize(unsigned int level)
 {
-	return this->levelSizes[level];
+    return this->levelSizes[level];
 }
 
 unsigned int BoundaryQs::getLevel()
 {
-	return maxLevel;
+    return maxLevel;
 }
 
 
@@ -175,9 +175,9 @@ void BoundaryQs::setValuesInVector(std::vector<std::vector<std::vector<real>>> &
 
 void BoundaryQs::setValues(real **q27, unsigned int level) const
 {
-	for (std::size_t column = 0; column < values[level].size(); column++)
-		for (std::size_t index = 0; index < values[level][column].size(); index++)
-			q27[column][index] = values[level][column][index];
+    for (std::size_t column = 0; column < values[level].size(); column++)
+        for (std::size_t index = 0; index < values[level][column].size(); index++)
+            q27[column][index] = values[level][column][index];
 }
 
 void BoundaryQs::setIndexInVector(std::vector<std::vector<int>> &data, unsigned int level) const 
@@ -188,30 +188,30 @@ void BoundaryQs::setIndexInVector(std::vector<std::vector<int>> &data, unsigned
 
 void BoundaryQs::setIndex(int *data, unsigned int level) const
 {
-	for (std::size_t index = 0; index < indices[level].size(); index++)
-		data[index] = indices[level][index];
+    for (std::size_t index = 0; index < indices[level].size(); index++)
+        data[index] = indices[level][index];
 }
 
 
 void BoundaryQs::getQs(std::vector<std::vector<std::vector<real> > > &qs) {
-	int j = 0;
-	int i = 0;
-	for (std::vector<std::vector<std::vector<real> > >::iterator it = values.begin(); it != values.end(); it++) {
-		i = 0;
-		for (std::vector<std::vector<real> >::iterator it2 = it->begin(); it2 != it->end(); it2++) {
+    int j = 0;
+    int i = 0;
+    for (std::vector<std::vector<std::vector<real> > >::iterator it = values.begin(); it != values.end(); it++) {
+        i = 0;
+        for (std::vector<std::vector<real> >::iterator it2 = it->begin(); it2 != it->end(); it2++) {
 
-			for (std::vector<real>::iterator it3 = it2->begin(); it3 != it2->end(); it3++) {
-				qs[j][i].push_back(*it3);
-			}
-			i++;
-		}
-		j++;
-	}
+            for (std::vector<real>::iterator it3 = it2->begin(); it3 != it2->end(); it3++) {
+                qs[j][i].push_back(*it3);
+            }
+            i++;
+        }
+        j++;
+    }
 }
 
 void BoundaryQs::getIndices(std::vector<std::vector<uint> > &indices) {
-	for (std::size_t level = 0; level < this->indices.size(); level++)
-		for (std::size_t index = 0; index < this->indices[level].size(); index++)
-			indices[level].push_back(this->indices[level][index]);
+    for (std::size_t level = 0; level < this->indices.size(); level++)
+        for (std::size_t index = 0; index < this->indices[level].size(); index++)
+            indices[level].push_back(this->indices[level][index]);
 }
 
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryQs.h b/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryQs.h
index 804051824b5c8ca01809c78e58034eb06d45874e..30c13e06a5112e4d8d599907edb80201bd1585f4 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryQs.h
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryQs.h
@@ -13,41 +13,41 @@ class Parameter;
 class BoundaryQs
 {
 public:
-	BoundaryQs();
-	BoundaryQs(std::string q, bool binaer);
-	BoundaryQs(std::string q, std::shared_ptr<Parameter> para, std::string str, bool binaer);
-	~BoundaryQs(void);
+    BoundaryQs();
+    BoundaryQs(std::string q, bool binaer);
+    BoundaryQs(std::string q, std::shared_ptr<Parameter> para, std::string str, bool binaer);
+    ~BoundaryQs(void);
 
 public:
-	unsigned int getSize(unsigned int level);
-	unsigned int getLevel();
+    unsigned int getSize(unsigned int level);
+    unsigned int getLevel();
 
 
-private:	
-	void checkFileStatus(std::string path);
-	void init();
-	void resizeVectors();
-	void resizeVectorsPerLevel(unsigned int level, std::vector<uint32_t> &vec1D_code);
+private:    
+    void checkFileStatus(std::string path);
+    void init();
+    void resizeVectors();
+    void resizeVectorsPerLevel(unsigned int level, std::vector<uint32_t> &vec1D_code);
 
-	void init_Binary();
+    void init_Binary();
 
 public:
     void setIndexInVector(std::vector<std::vector<int>> &data, unsigned int level) const;
     void setValuesInVector(std::vector<std::vector<std::vector<real>>> &q27, unsigned int level) const;
     void setIndex(int *indices, unsigned int level) const;
-	void setValues(real** q27, unsigned int level) const;
-	void getQs(std::vector<std::vector<std::vector<real> > > &qs);
-	void getIndices(std::vector<std::vector<uint> > &indices);
-	//void initArray(real* ptr, unsigned int level, unsigned int column);
-	//void initIndex(int *ptr, unsigned int level);
+    void setValues(real** q27, unsigned int level) const;
+    void getQs(std::vector<std::vector<std::vector<real> > > &qs);
+    void getIndices(std::vector<std::vector<uint> > &indices);
+    //void initArray(real* ptr, unsigned int level, unsigned int column);
+    //void initIndex(int *ptr, unsigned int level);
 
 private:
-	std::vector< std::vector<std::vector<real> > >values;
-	std::vector< std::vector<unsigned int> >indices;
+    std::vector< std::vector<std::vector<real> > >values;
+    std::vector< std::vector<unsigned int> >indices;
 
-	std::ifstream file;
-	unsigned int maxLevel;
-	std::vector<unsigned int> levelSizes;
+    std::ifstream file;
+    unsigned int maxLevel;
+    std::vector<unsigned int> levelSizes;
 
 };
 
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryValues.cpp b/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryValues.cpp
index 9fbf2105b85424996ac67c8edbc42915b369a04e..d77bf9316349343594dafb0e75680e26c077feb5 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryValues.cpp
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryValues.cpp
@@ -8,254 +8,254 @@
 
 BoundaryValues::BoundaryValues(std::string path)
 {
-	file.open(path.c_str(), std::ios::in);
+    file.open(path.c_str(), std::ios::in);
 
-	if (!file) {
-		std::cerr << "error can not open value file:" << path << std::endl;
-		exit(1);
-	}
-	init();
+    if (!file) {
+        std::cerr << "error can not open value file:" << path << std::endl;
+        exit(1);
+    }
+    init();
 }
 
 BoundaryValues::BoundaryValues(std::string path, std::shared_ptr<Parameter> para, std::string str)
 {
-	if (!file) {
-		std::cerr << "error can not open value file:" << path << std::endl;
-		exit(1);
-	}
-
-	file.open(path.c_str(), std::ios::in);
-	if (!file) {
-		para->setObj(str, false);
-	} else {
-		init();
-		para->setObj(str, true);
-	}
+    if (!file) {
+        std::cerr << "error can not open value file:" << path << std::endl;
+        exit(1);
+    }
+
+    file.open(path.c_str(), std::ios::in);
+    if (!file) {
+        para->setObj(str, false);
+    } else {
+        init();
+        para->setObj(str, true);
+    }
 }
 
 
 BoundaryValues::BoundaryValues(int neighbor, std::shared_ptr<Parameter> para, std::string sor, std::string direction)
 {
-	if (direction=="X")
-	{
-		std::string ad = para->getPossNeighborFilesX(sor)[neighbor];
-		file.open(ad.c_str(), std::ios::in);
-
-		if (file.fail()) {
-			para->setIsNeighborX(false);
-		} else {
-			para->setIsNeighborX(true);
-			init();
-		}
-	} 
-	else if (direction=="Y")
-	{
-		std::string ad = para->getPossNeighborFilesY(sor)[neighbor];
-		file.open(ad.c_str(), std::ios::in);
-
-		if (file.fail()) {
-			para->setIsNeighborY(false);
-		} else {
-			para->setIsNeighborY(true);
-			init();
-		}
-	}
-	else
-	{
-		std::string ad = para->getPossNeighborFilesZ(sor)[neighbor];
-		file.open(ad.c_str(), std::ios::in);
-
-		if (file.fail()) {
-			para->setIsNeighborZ(false);
-		} else {
-			para->setIsNeighborZ(true);
-			init();
-		}
-	}
+    if (direction=="X")
+    {
+        std::string ad = para->getPossNeighborFilesX(sor)[neighbor];
+        file.open(ad.c_str(), std::ios::in);
+
+        if (file.fail()) {
+            para->setIsNeighborX(false);
+        } else {
+            para->setIsNeighborX(true);
+            init();
+        }
+    } 
+    else if (direction=="Y")
+    {
+        std::string ad = para->getPossNeighborFilesY(sor)[neighbor];
+        file.open(ad.c_str(), std::ios::in);
+
+        if (file.fail()) {
+            para->setIsNeighborY(false);
+        } else {
+            para->setIsNeighborY(true);
+            init();
+        }
+    }
+    else
+    {
+        std::string ad = para->getPossNeighborFilesZ(sor)[neighbor];
+        file.open(ad.c_str(), std::ios::in);
+
+        if (file.fail()) {
+            para->setIsNeighborZ(false);
+        } else {
+            para->setIsNeighborZ(true);
+            init();
+        }
+    }
 }
 
 
 BoundaryValues::~BoundaryValues(void)
 {
-	file.close();
+    file.close();
 }
 
 
 int BoundaryValues::getNumberOfColumns()
 {
-	if (boundaryCondition == "velocity")
-		return 3;
-	if (boundaryCondition == "noSlip")
-		return 3;
-	if (boundaryCondition == "pressure")
-		return 2;
-	if (boundaryCondition == "processor")
-		return 0;
-	if (boundaryCondition == "concentration")
-		return 0;
-	else
-		return -1;
+    if (boundaryCondition == "velocity")
+        return 3;
+    if (boundaryCondition == "noSlip")
+        return 3;
+    if (boundaryCondition == "pressure")
+        return 2;
+    if (boundaryCondition == "processor")
+        return 0;
+    if (boundaryCondition == "concentration")
+        return 0;
+    else
+        return -1;
 }
 
 
 void BoundaryValues::init() 
 {
-	readBC();
-	readNumberOfLevels();
-	resizeVectors();
+    readBC();
+    readNumberOfLevels();
+    resizeVectors();
 
-	int maxColumn = getNumberOfColumns();
+    int maxColumn = getNumberOfColumns();
 
-	if (maxColumn == -1)
-		initalVectorsWithSingleZero();
-	else
-		initalVectors(maxColumn);
+    if (maxColumn == -1)
+        initalVectorsWithSingleZero();
+    else
+        initalVectors(maxColumn);
 }
 
 void BoundaryValues::initalVectors(unsigned int maxColumn)
 {
-	for (unsigned int level = 0; level <= maxLevel; level++)
-	{
-		readLevelSize(level);
+    for (unsigned int level = 0; level <= maxLevel; level++)
+    {
+        readLevelSize(level);
 
-		if (levelSizes[level] == 0)
-		{
-			skipLine();
-			continue;
-		}
+        if (levelSizes[level] == 0)
+        {
+            skipLine();
+            continue;
+        }
 
-		resizeVectorsPerLevel(level, maxColumn);
+        resizeVectorsPerLevel(level, maxColumn);
 
-		for (unsigned int index = 0; index < levelSizes[level]; index++)
-			readData(level, index, maxColumn);
+        for (unsigned int index = 0; index < levelSizes[level]; index++)
+            readData(level, index, maxColumn);
 
-	}
+    }
 }
 
 void BoundaryValues::readData(unsigned int level, int index, unsigned int maxColumn)
 {
-	file >> indices[level][index];
-	for (unsigned int column = 0; column < maxColumn; column++)
-		file >> values[level][column][index];
+    file >> indices[level][index];
+    for (unsigned int column = 0; column < maxColumn; column++)
+        file >> values[level][column][index];
 }
 
 void BoundaryValues::resizeVectorsPerLevel(unsigned int level, unsigned int maxColumn)
 {
-	values[level].resize(maxColumn);
-	indices[level].resize(levelSizes[level]);
-	for (unsigned int column = 0; column < maxColumn; column++)
-		values[level][column].resize(levelSizes[level]);
+    values[level].resize(maxColumn);
+    indices[level].resize(levelSizes[level]);
+    for (unsigned int column = 0; column < maxColumn; column++)
+        values[level][column].resize(levelSizes[level]);
 }
 
 void BoundaryValues::skipLine()
 {
-	std::string bufferString;
-	getline(file, bufferString);
+    std::string bufferString;
+    getline(file, bufferString);
 }
 
 void BoundaryValues::readLevelSize(unsigned int level)
 {
-	file >> levelSizes[level];
+    file >> levelSizes[level];
 }
 
 void BoundaryValues::initalVectorsWithSingleZero()
 {
-	indices = { {0} };
-	values = { { {0.0} } };
+    indices = { {0} };
+    values = { { {0.0} } };
 }
 
 void BoundaryValues::readNumberOfLevels()
 {
-	file >> maxLevel;
+    file >> maxLevel;
 }
 
 void BoundaryValues::readBC()
 {
-	file >> boundaryCondition;
+    file >> boundaryCondition;
 }
 
 void BoundaryValues::resizeVectors()
 {
-	levelSizes.resize(maxLevel + 1);
-	values.resize(maxLevel + 1);
-	indices.resize(maxLevel + 1);
+    levelSizes.resize(maxLevel + 1);
+    values.resize(maxLevel + 1);
+    indices.resize(maxLevel + 1);
 }
 
 void BoundaryValues::setBoundarys(std::vector<std::vector<std::vector<real> > > &qs) const
 {
-	for (unsigned int level = 0; level < values.size(); level++)
-		for (unsigned int index = 0; index < values[level].size(); index++)
-			for (unsigned int value = 0; value < values[level][index].size(); value++)
-				qs[level][index].push_back(values[level][index][value]);
+    for (unsigned int level = 0; level < values.size(); level++)
+        for (unsigned int index = 0; index < values[level].size(); index++)
+            for (unsigned int value = 0; value < values[level][index].size(); value++)
+                qs[level][index].push_back(values[level][index][value]);
 }
 
 void BoundaryValues::setValues(real* velo, unsigned int level, unsigned int column) const
 {
-	for (std::size_t index = 0; index < values[level][column].size(); index++)
-		velo[index] = values[level][column][index];
+    for (std::size_t index = 0; index < values[level][column].size(); index++)
+        velo[index] = values[level][column][index];
 }
 
 void BoundaryValues::initIndex(/*unsigned*/ int *ptr, unsigned int level)
 {
-	for (std::size_t i = 0; i < indices[level].size(); i++)
-		ptr[i] = indices[level][i];
+    for (std::size_t i = 0; i < indices[level].size(); i++)
+        ptr[i] = indices[level][i];
 }
 
 unsigned int BoundaryValues::getLevel()
 {
-	return maxLevel;
+    return maxLevel;
 }
 
 unsigned int BoundaryValues::getSize(unsigned int level)
 {
-	return this->levelSizes[level];
+    return this->levelSizes[level];
 }
 
 std::string BoundaryValues::getBoundaryCondition() 
 {
-	return this->boundaryCondition;
+    return this->boundaryCondition;
 }
 
 
 void BoundaryValues::setProcNeighbor(bool pN)
 {
-	procNeighbor = pN;
+    procNeighbor = pN;
 }
 
 bool BoundaryValues::getProcNeighbor()
 {
-	return procNeighbor;
+    return procNeighbor;
 }
 
 
 void BoundaryValues::setPressValues(real *RhoBC, int* kN, int level) const
 {
-	for (std::size_t column = 0; column < values[level].size(); column++) {
-		for (std::size_t index = 0; index < values[level][column].size(); index++) {
-			if (column == 0) RhoBC[index] = values[level][column][index];
-			if (column == 1) kN[index] = (int)values[level][column][index];
-		}
-	}
+    for (std::size_t column = 0; column < values[level].size(); column++) {
+        for (std::size_t index = 0; index < values[level][column].size(); index++) {
+            if (column == 0) RhoBC[index] = values[level][column][index];
+            if (column == 1) kN[index] = (int)values[level][column][index];
+        }
+    }
 }
 
 void BoundaryValues::setVelocityValues(real *vx, real *vy, real *vz, int level) const
 {
-	for (std::size_t column = 0; column < values[level].size(); column++) {
-		for (std::size_t index = 0; index < values[level][column].size(); index++) {
-			if (column == 0) vx[index] = values[level][column][index];
-			if (column == 1) vy[index] = values[level][column][index];
-			if (column == 2) vz[index] = values[level][column][index];
-		}
-	}
+    for (std::size_t column = 0; column < values[level].size(); column++) {
+        for (std::size_t index = 0; index < values[level][column].size(); index++) {
+            if (column == 0) vx[index] = values[level][column][index];
+            if (column == 1) vy[index] = values[level][column][index];
+            if (column == 2) vz[index] = values[level][column][index];
+        }
+    }
 }
 
 void BoundaryValues::setOutflowValues(real *RhoBC, int* kN, int level) const
 {
-	for (std::size_t column = 0; column < values[level].size(); column++) {
-		for (std::size_t index = 0; index < values[level][column].size(); index++) {
-			if (column == 0) RhoBC[index] = values[level][column][index];
-			if (column == 1) kN[index] = (int)values[level][column][index];
-		}
-	}
+    for (std::size_t column = 0; column < values[level].size(); column++) {
+        for (std::size_t index = 0; index < values[level][column].size(); index++) {
+            if (column == 0) RhoBC[index] = values[level][column][index];
+            if (column == 1) kN[index] = (int)values[level][column][index];
+        }
+    }
 }
 
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryValues.h b/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryValues.h
index da3693d5c7e7fcf3c8879ec14464050359a44e28..903893f21574da02c1bd7ae7022624b033ced8d1 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryValues.h
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/BoundaryValues.h
@@ -13,48 +13,48 @@ class Parameter;
 class BoundaryValues
 {
 private:
-	std::string boundaryCondition;
-	bool procNeighbor;
+    std::string boundaryCondition;
+    bool procNeighbor;
 
-	std::vector< std::vector<std::vector<real> > >values;
-	std::vector< std::vector<unsigned int> >indices;
-	std::vector<unsigned int> levelSizes;
+    std::vector< std::vector<std::vector<real> > >values;
+    std::vector< std::vector<unsigned int> >indices;
+    std::vector<unsigned int> levelSizes;
 
-	std::ifstream file;
-	unsigned int maxLevel;
-	
+    std::ifstream file;
+    unsigned int maxLevel;
+    
 public:
-	BoundaryValues(std::string path);
-	BoundaryValues(std::string path, std::shared_ptr<Parameter> para, std::string str);
-	BoundaryValues(int neighbor, std::shared_ptr<Parameter> para, std::string sor, std::string dir);
-	~BoundaryValues();
+    BoundaryValues(std::string path);
+    BoundaryValues(std::string path, std::shared_ptr<Parameter> para, std::string str);
+    BoundaryValues(int neighbor, std::shared_ptr<Parameter> para, std::string sor, std::string dir);
+    ~BoundaryValues();
 
-	unsigned int getLevel();
-	unsigned int getSize(unsigned int level);
-	std::string getBoundaryCondition();
-	void setBoundarys(std::vector<std::vector<std::vector<real> > > &qs) const;
-	void setValues(real* velo, unsigned int level, unsigned int column) const;
-	void initIndex(/*unsigned*/ int *ptr, unsigned int level);
+    unsigned int getLevel();
+    unsigned int getSize(unsigned int level);
+    std::string getBoundaryCondition();
+    void setBoundarys(std::vector<std::vector<std::vector<real> > > &qs) const;
+    void setValues(real* velo, unsigned int level, unsigned int column) const;
+    void initIndex(/*unsigned*/ int *ptr, unsigned int level);
 
-	void setProcNeighbor(bool pN);
-	bool getProcNeighbor();
+    void setProcNeighbor(bool pN);
+    bool getProcNeighbor();
 
-	void setPressValues(real *RhoBC, int* kN, int level) const;
-	void setVelocityValues(real *vx, real *vy, real *vz, int level) const;
-	void setOutflowValues(real *RhoBC, int* kN, int level) const;
+    void setPressValues(real *RhoBC, int* kN, int level) const;
+    void setVelocityValues(real *vx, real *vy, real *vz, int level) const;
+    void setOutflowValues(real *RhoBC, int* kN, int level) const;
 
 private:
-	void init();
-	int getNumberOfColumns();
-	void initalVectors(unsigned int maxColumn);
-	void readData(unsigned int level, int index, unsigned int maxColumn);
-	void resizeVectorsPerLevel(unsigned int level, unsigned int maxColumn);
-	void skipLine();
-	void readLevelSize(unsigned int level);
-	void initalVectorsWithSingleZero();
-	void readNumberOfLevels();
-	void readBC();
-	void resizeVectors();
+    void init();
+    int getNumberOfColumns();
+    void initalVectors(unsigned int maxColumn);
+    void readData(unsigned int level, int index, unsigned int maxColumn);
+    void resizeVectorsPerLevel(unsigned int level, unsigned int maxColumn);
+    void skipLine();
+    void readLevelSize(unsigned int level);
+    void initalVectorsWithSingleZero();
+    void readNumberOfLevels();
+    void readBC();
+    void resizeVectors();
 
 
 };
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/CoordNeighborGeoV.cpp b/src/gpu/core/DataStructureInitializer/GridReaderFiles/CoordNeighborGeoV.cpp
index 4b857e0d4f7d8bcab407eb8954235d23c9325395..c973f19b319c2d09fe2c1a4de9c6b4b58295f595 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/CoordNeighborGeoV.cpp
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/CoordNeighborGeoV.cpp
@@ -12,152 +12,152 @@ CoordNeighborGeoV::CoordNeighborGeoV()
 
 CoordNeighborGeoV::CoordNeighborGeoV(std::string path, bool binaer, bool coord)
 {
-	file.open(path.c_str(), std::ios::in | std::ios::binary);
-	if (!file) 
-	{
-		std::cerr << "error: can not open file CoordNeighborGeo: " << path << std::endl;
-		exit(1);
-	}
-	if(binaer)
-		init_Binary(coord);
-	else
-		init(coord);	
+    file.open(path.c_str(), std::ios::in | std::ios::binary);
+    if (!file) 
+    {
+        std::cerr << "error: can not open file CoordNeighborGeo: " << path << std::endl;
+        exit(1);
+    }
+    if(binaer)
+        init_Binary(coord);
+    else
+        init(coord);    
 }
 
 CoordNeighborGeoV::~CoordNeighborGeoV()
 {
-	file.close();
+    file.close();
 }
 
 void CoordNeighborGeoV::init(bool isCoord)
 {
-	this->readLevel();
-	resizeVectors();
+    this->readLevel();
+    resizeVectors();
 
-	for (unsigned int i = 0; i <= maxLevel; i++)
-	{
-		readLevelSize(i);
-		if (isCoord)
-		{
-			coordinates[i].resize(levelSizes[i] + 1);
-			for (unsigned int j = 0; j <= levelSizes[i]; j++)
-				file >> coordinates[i][j];
-		}
-		else
-		{
-			neighbors[i].resize(levelSizes[i] + 1);
-			for (unsigned int j = 0; j <= levelSizes[i]; j++)
-				file >> neighbors[i][j];
-		}
-	}
+    for (unsigned int i = 0; i <= maxLevel; i++)
+    {
+        readLevelSize(i);
+        if (isCoord)
+        {
+            coordinates[i].resize(levelSizes[i] + 1);
+            for (unsigned int j = 0; j <= levelSizes[i]; j++)
+                file >> coordinates[i][j];
+        }
+        else
+        {
+            neighbors[i].resize(levelSizes[i] + 1);
+            for (unsigned int j = 0; j <= levelSizes[i]; j++)
+                file >> neighbors[i][j];
+        }
+    }
 }
 
 
 void CoordNeighborGeoV::resizeVectors()
 {
-	levelSizes.resize(maxLevel + 1);
-	coordinates.resize(maxLevel + 1);
-	neighbors.resize(maxLevel + 1);
+    levelSizes.resize(maxLevel + 1);
+    coordinates.resize(maxLevel + 1);
+    neighbors.resize(maxLevel + 1);
 }
 
 void CoordNeighborGeoV::readLevel()
 {
-	file >> this->maxLevel;
+    file >> this->maxLevel;
 }
 
 void CoordNeighborGeoV::init_Binary(bool isCoord) 
 {
-	this->readLevel();
-	this->resizeVectors();
+    this->readLevel();
+    this->resizeVectors();
 
-	readLevelSize(0);
+    readLevelSize(0);
 
-	for(unsigned int level = 0; level <= maxLevel; level++) 
-	{
+    for(unsigned int level = 0; level <= maxLevel; level++) 
+    {
         //readLevelSize(level);
-		if(isCoord) 
-			readCoordinates(level);
-		else 
-			readNeighbors(level);
+        if(isCoord) 
+            readCoordinates(level);
+        else 
+            readNeighbors(level);
 
-		if(level == maxLevel) break;
+        if(level == maxLevel) break;
 
-		skipSpace();
-		readLevelSize(level+1);
-	}
+        skipSpace();
+        readLevelSize(level+1);
+    }
 }
 
 void CoordNeighborGeoV::readLevelSize(unsigned int level)
 {
-	file >> levelSizes[level];
+    file >> levelSizes[level];
 }
 
 void CoordNeighborGeoV::readNeighbors(unsigned int level)
 {
-	unsigned int bufferInt;
-	neighbors[level].resize(levelSizes[level] + 1);
-	file >> neighbors[level][0];
-	skipSpace();
+    unsigned int bufferInt;
+    neighbors[level].resize(levelSizes[level] + 1);
+    file >> neighbors[level][0];
+    skipSpace();
 
-	for (unsigned int j = 0; j < levelSizes[level]; j++)
-	{
-		file.read((char*)&bufferInt, sizeof(unsigned int));
-		neighbors[level][j + 1] = bufferInt;
-	}
+    for (unsigned int j = 0; j < levelSizes[level]; j++)
+    {
+        file.read((char*)&bufferInt, sizeof(unsigned int));
+        neighbors[level][j + 1] = bufferInt;
+    }
 }
 
 void CoordNeighborGeoV::readCoordinates(unsigned int level)
 {
-	double bufferDouble;
-	coordinates[level].resize(levelSizes[level] + 1);
-	file >> coordinates[level][0];
-	skipSpace();
+    double bufferDouble;
+    coordinates[level].resize(levelSizes[level] + 1);
+    file >> coordinates[level][0];
+    skipSpace();
 
-	for (unsigned int j = 0; j < levelSizes[level]; j++)
-	{
-		file.read((char*)&bufferDouble, sizeof(double));
-		coordinates[level][j + 1] = (real)bufferDouble;
-	}
+    for (unsigned int j = 0; j < levelSizes[level]; j++)
+    {
+        file.read((char*)&bufferDouble, sizeof(double));
+        coordinates[level][j + 1] = (real)bufferDouble;
+    }
 }
 
 unsigned int CoordNeighborGeoV::getLevel() 
 {
-	return maxLevel;
+    return maxLevel;
 }
 
 unsigned int CoordNeighborGeoV::getSize(unsigned int level) 
 {
-	return this->levelSizes[level];
+    return this->levelSizes[level];
 }
 
 
 std::vector<unsigned int> CoordNeighborGeoV::getVec(unsigned int level) 
 {
-	return this->neighbors[level];
+    return this->neighbors[level];
 }
 
 void CoordNeighborGeoV::setVec(unsigned int level, std::vector<unsigned int> vec) {
-	this->neighbors[level]=vec;
-	//for (int i=0; i<=2200; i++) {
-		//std::cout <<"Test im Setter: "<< i <<": " << vec[i] << std::endl;
-	//}
+    this->neighbors[level]=vec;
+    //for (int i=0; i<=2200; i++) {
+        //std::cout <<"Test im Setter: "<< i <<": " << vec[i] << std::endl;
+    //}
 }
 
 
 void CoordNeighborGeoV::initalCoords(real *data, unsigned int level) const
 {
-	for (std::size_t index = 0; index < coordinates[level].size(); index++)
-		data[index] = coordinates[level][index];
+    for (std::size_t index = 0; index < coordinates[level].size(); index++)
+        data[index] = coordinates[level][index];
 }
 
 void CoordNeighborGeoV::initalNeighbors(unsigned int *data, unsigned int level) const
 {
-	for (std::size_t index = 0; index < neighbors[level].size(); index++)
-		data[index] = neighbors[level][index];
+    for (std::size_t index = 0; index < neighbors[level].size(); index++)
+        data[index] = neighbors[level][index];
 }
 
 void CoordNeighborGeoV::skipSpace()
 {
-	char c;
-	file.get(c);
+    char c;
+    file.get(c);
 }
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/CoordNeighborGeoV.h b/src/gpu/core/DataStructureInitializer/GridReaderFiles/CoordNeighborGeoV.h
index 4de581a2c51448fabd012665269debd4f5bcf39b..416c8fae8e3b544d72b9ebeb48c411e387500942 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/CoordNeighborGeoV.h
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/CoordNeighborGeoV.h
@@ -10,35 +10,35 @@
 class CoordNeighborGeoV 
 {
 protected:
-	std::ifstream file; 
-	unsigned int maxLevel; 
-	std::vector<unsigned int> levelSizes;
-	std::vector< std::vector<unsigned int> > neighbors;
-	std::vector< std::vector< real> > coordinates; 
+    std::ifstream file; 
+    unsigned int maxLevel; 
+    std::vector<unsigned int> levelSizes;
+    std::vector< std::vector<unsigned int> > neighbors;
+    std::vector< std::vector< real> > coordinates; 
 
 public:
-	CoordNeighborGeoV();
-	CoordNeighborGeoV(std::string ad, bool binaer, bool coord);
-	~CoordNeighborGeoV(void);
+    CoordNeighborGeoV();
+    CoordNeighborGeoV(std::string ad, bool binaer, bool coord);
+    ~CoordNeighborGeoV(void);
 
-	void init(bool coord);
-	void init_Binary(bool coord);
+    void init(bool coord);
+    void init_Binary(bool coord);
 
-	unsigned int getLevel();
-	unsigned int getSize(unsigned int level);
-	std::vector<unsigned int>getVec(unsigned int level);
-	void setVec(unsigned int level, std::vector<unsigned int> vec);
+    unsigned int getLevel();
+    unsigned int getSize(unsigned int level);
+    std::vector<unsigned int>getVec(unsigned int level);
+    void setVec(unsigned int level, std::vector<unsigned int> vec);
 
-	void initalNeighbors(unsigned int *int_ptr, unsigned int level ) const;
-	void initalCoords(real *int_ptr, unsigned int level ) const;
+    void initalNeighbors(unsigned int *int_ptr, unsigned int level ) const;
+    void initalCoords(real *int_ptr, unsigned int level ) const;
 
 protected:
-	void skipSpace();
-	void readLevelSize(unsigned int level);
-	void readNeighbors(unsigned int level);
-	void readCoordinates(unsigned int level);
-	void resizeVectors();
-	void readLevel();
+    void skipSpace();
+    void readLevelSize(unsigned int level);
+    void readNeighbors(unsigned int level);
+    void readCoordinates(unsigned int level);
+    void resizeVectors();
+    void readLevel();
 
 };
 
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/GridReader.cpp b/src/gpu/core/DataStructureInitializer/GridReaderFiles/GridReader.cpp
index ead8794bf7994cee875e66953f5255d2ba1fb7d0..af96315cdbb3e6dd53427a7480d1004fdc652fde 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/GridReader.cpp
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/GridReader.cpp
@@ -18,26 +18,26 @@ GridReader::GridReader(FILEFORMAT format, std::shared_ptr<Parameter> para, std::
     this->para = para;
     this->cudaMemoryManager = cudaMemoryManager;
 
-	if (format == FILEFORMAT::ASCII)
-		this->binaer = false;
-	else
-		this->binaer = true;
+    if (format == FILEFORMAT::ASCII)
+        this->binaer = false;
+    else
+        this->binaer = true;
 
-	channelDirections.resize(6);
-	channelBoundaryConditions.resize(6);
-	BC_Values.resize(6);
+    channelDirections.resize(6);
+    channelBoundaryConditions.resize(6);
+    BC_Values.resize(6);
 
-	channelDirections[0] = "inlet";
-	channelDirections[1] = "outlet";
-	channelDirections[2] = "front";
-	channelDirections[3] = "back";
-	channelDirections[4] = "top";
-	channelDirections[5] = "bottom";
+    channelDirections[0] = "inlet";
+    channelDirections[1] = "outlet";
+    channelDirections[2] = "front";
+    channelDirections[3] = "back";
+    channelDirections[4] = "top";
+    channelDirections[5] = "bottom";
 }
 
 bool GridReader::getBinaer()
 {
-	return binaer;
+    return binaer;
 }
 
 void rearrangeGeometry(Parameter* para, int lev)
@@ -55,18 +55,18 @@ void GridReader::allocArrays_CoordNeighborGeo()
 {
     VF_LOG_TRACE("-----Config Arrays Coord, Neighbor, Geo------");
 
-	CoordNeighborGeoV coordX(para->getcoordX(), binaer, true);
-	CoordNeighborGeoV coordY(para->getcoordY(), binaer, true);
-	CoordNeighborGeoV coordZ(para->getcoordZ(), binaer, true);
-	neighX   = std::shared_ptr<CoordNeighborGeoV>(new CoordNeighborGeoV(para->getneighborX(),   binaer, false));
-	neighY   = std::shared_ptr<CoordNeighborGeoV>(new CoordNeighborGeoV(para->getneighborY(),   binaer, false));
-	neighZ   = std::shared_ptr<CoordNeighborGeoV>(new CoordNeighborGeoV(para->getneighborZ(),   binaer, false));
+    CoordNeighborGeoV coordX(para->getcoordX(), binaer, true);
+    CoordNeighborGeoV coordY(para->getcoordY(), binaer, true);
+    CoordNeighborGeoV coordZ(para->getcoordZ(), binaer, true);
+    neighX   = std::shared_ptr<CoordNeighborGeoV>(new CoordNeighborGeoV(para->getneighborX(),   binaer, false));
+    neighY   = std::shared_ptr<CoordNeighborGeoV>(new CoordNeighborGeoV(para->getneighborY(),   binaer, false));
+    neighZ   = std::shared_ptr<CoordNeighborGeoV>(new CoordNeighborGeoV(para->getneighborZ(),   binaer, false));
     neighWSB = std::shared_ptr<CoordNeighborGeoV>(new CoordNeighborGeoV(para->getneighborWSB(), binaer, false));
     CoordNeighborGeoV geoV(para->getgeoVec(), binaer, false);
 
-	uint maxLevel = coordX.getLevel();
+    uint maxLevel = coordX.getLevel();
     VF_LOG_INFO("Number of Level: {}", maxLevel + 1);
-	uint numberOfNodesGlobal = 0;
+    uint numberOfNodesGlobal = 0;
     VF_LOG_INFO("Number of Nodes: ");
 
     for (uint level = 0; level <= maxLevel; level++)
@@ -75,31 +75,28 @@ void GridReader::allocArrays_CoordNeighborGeo()
         numberOfNodesGlobal += numberOfNodesPerLevel;
         VF_LOG_INFO("Level {} = {} Nodes", level, numberOfNodesPerLevel);
 
-		setNumberOfNodes(numberOfNodesPerLevel, level);
+        setNumberOfNodes(numberOfNodesPerLevel, level);
 
         cudaMemoryManager->cudaAllocCoord(level);
-		cudaMemoryManager->cudaAllocSP(level);
+        cudaMemoryManager->cudaAllocSP(level);
         //cudaMemoryManager->cudaAllocF3SP(level);
         cudaMemoryManager->cudaAllocNeighborWSB(level);
 
-        if (para->getUseWale())
-			cudaMemoryManager->cudaAllocTurbulentViscosity(level);
-
-		coordX.initalCoords(      para->getParH(level)->coordinateX,      level);
-		coordY.initalCoords(      para->getParH(level)->coordinateY,      level);
-		coordZ.initalCoords(      para->getParH(level)->coordinateZ,      level);
-		neighX->initalNeighbors(  para->getParH(level)->neighborX,   level);
-		neighY->initalNeighbors(  para->getParH(level)->neighborY,   level);
-		neighZ->initalNeighbors(  para->getParH(level)->neighborZ,   level);
+        coordX.initalCoords(      para->getParH(level)->coordinateX,      level);
+        coordY.initalCoords(      para->getParH(level)->coordinateY,      level);
+        coordZ.initalCoords(      para->getParH(level)->coordinateZ,      level);
+        neighX->initalNeighbors(  para->getParH(level)->neighborX,   level);
+        neighY->initalNeighbors(  para->getParH(level)->neighborY,   level);
+        neighZ->initalNeighbors(  para->getParH(level)->neighborZ,   level);
         neighWSB->initalNeighbors(para->getParH(level)->neighborInverse, level);
         geoV.initalNeighbors(     para->getParH(level)->typeOfGridNode,          level);
         rearrangeGeometry(para.get(), level);
-		setInitialNodeValues(numberOfNodesPerLevel, level);
+        setInitialNodeValues(numberOfNodesPerLevel, level);
 
         cudaMemoryManager->cudaCopyNeighborWSB(level);
         cudaMemoryManager->cudaCopySP(level);
         cudaMemoryManager->cudaCopyCoord(level);
-	}
+    }
     VF_LOG_INFO("Number of Nodes: {}", numberOfNodesGlobal);
     VF_LOG_TRACE("-----finish Config Arrays Coord, Neighbor, Geo------");
 }
@@ -109,11 +106,11 @@ void GridReader::allocArrays_BoundaryValues()
     VF_LOG_TRACE("------read BoundaryValues-------");
     
 
-	this->makeReader(para);
-	this->setChannelBoundaryCondition();
-	int level = BC_Values[0]->getLevel();
+    this->makeReader(para);
+    this->setChannelBoundaryCondition();
+    int level = BC_Values[0]->getLevel();
 
-	for (int i = 0; i <= level; i++) {
+    for (int i = 0; i <= level; i++) {
         velocityX_BCvalues.push_back(std::vector<real>());
         velocityY_BCvalues.push_back(std::vector<real>());
         velocityZ_BCvalues.push_back(std::vector<real>());
@@ -131,9 +128,9 @@ void GridReader::allocArrays_BoundaryValues()
         else if (this->channelBoundaryConditions[i] == "outflow")  { setOutflowValues(i);  }
     }
 
-	setVelocityValues();
+    setVelocityValues();
 
-	initalValuesDomainDecompostion(level);
+    initalValuesDomainDecompostion(level);
 }
 
 void GridReader::allocArrays_OffsetScale()
@@ -170,10 +167,10 @@ void GridReader::allocArrays_OffsetScale()
         para->getParD(i)->fineToCoarse.numberOfCells = para->getParH(i)->fineToCoarse.numberOfCells;
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         //alloc
-		cudaMemoryManager->cudaAllocInterfaceCF(i);
-		cudaMemoryManager->cudaAllocInterfaceFC(i);
-		cudaMemoryManager->cudaAllocInterfaceOffCF(i);
-		cudaMemoryManager->cudaAllocInterfaceOffFC(i);
+        cudaMemoryManager->cudaAllocInterfaceCF(i);
+        cudaMemoryManager->cudaAllocInterfaceFC(i);
+        cudaMemoryManager->cudaAllocInterfaceOffCF(i);
+        cudaMemoryManager->cudaAllocInterfaceOffFC(i);
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         //init
         obj_offCF->initArrayOffset(para->getParH(i)->neighborCoarseToFine.x, para->getParH(i)->neighborCoarseToFine.y, para->getParH(i)->neighborCoarseToFine.z, i);
@@ -184,10 +181,10 @@ void GridReader::allocArrays_OffsetScale()
         obj_scaleFCF->initScale(para->getParH(i)->fineToCoarse.fineCellIndices, i);
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         //copy
-		cudaMemoryManager->cudaCopyInterfaceCF(i);
-		cudaMemoryManager->cudaCopyInterfaceFC(i);
-		cudaMemoryManager->cudaCopyInterfaceOffCF(i);
-		cudaMemoryManager->cudaCopyInterfaceOffFC(i);
+        cudaMemoryManager->cudaCopyInterfaceCF(i);
+        cudaMemoryManager->cudaCopyInterfaceFC(i);
+        cudaMemoryManager->cudaCopyInterfaceOffCF(i);
+        cudaMemoryManager->cudaCopyInterfaceOffFC(i);
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     }
     VF_LOG_INFO("Total number of Nodes CF = {}", AnzahlKnotenGesCF);
@@ -204,7 +201,7 @@ void GridReader::allocArrays_OffsetScale()
 
 void GridReader::allocArrays_taggedFluidNodes() {
      VF_LOG_WARNING("GridReader::allocArrays_fluidNodeIndices not implemented");
-	// TODO
+    // TODO
 }
 
 void GridReader::tagFluidNodeIndices(const std::vector<uint>& taggedFluidNodeIndices, CollisionTemplate tag, uint level){
@@ -219,39 +216,39 @@ void GridReader::sortFluidNodeTags(){
 
 void GridReader::setPressureValues(int channelSide) const
 {
-	for (unsigned int level = 0; level <= BC_Values[channelSide]->getLevel(); level++)
-	{
-		int sizePerLevel = BC_Values[channelSide]->getSize(level);
+    for (unsigned int level = 0; level <= BC_Values[channelSide]->getLevel(); level++)
+    {
+        int sizePerLevel = BC_Values[channelSide]->getSize(level);
         setPressSizePerLevel(level, sizePerLevel);
 
-		if (sizePerLevel > 0)
-		{
+        if (sizePerLevel > 0)
+        {
             VF_LOG_INFO("size pressure level {}: {}", level, sizePerLevel);
 
             cudaMemoryManager->cudaAllocPress(level);
 
-			setPressRhoBC(sizePerLevel, level, channelSide);
+            setPressRhoBC(sizePerLevel, level, channelSide);
             cudaMemoryManager->cudaCopyPress(level);
-		}
-	}
+        }
+    }
 }
 
 void GridReader::setPressRhoBC(int sizePerLevel, int level, int channelSide) const
 {
-	BC_Values[channelSide]->setPressValues(para->getParH(level)->pressureBC.RhoBC, para->getParH(level)->pressureBC.kN, level);
-	for (int m = 0; m < sizePerLevel; m++)
-		para->getParH(level)->pressureBC.RhoBC[m] = (para->getParH(level)->pressureBC.RhoBC[m] / para->getFactorPressBC());
+    BC_Values[channelSide]->setPressValues(para->getParH(level)->pressureBC.RhoBC, para->getParH(level)->pressureBC.kN, level);
+    for (int m = 0; m < sizePerLevel; m++)
+        para->getParH(level)->pressureBC.RhoBC[m] = (para->getParH(level)->pressureBC.RhoBC[m] / para->getFactorPressBC());
 }
 
 
 void GridReader::fillVelocityVectors(int channelSide)
 {
     for (unsigned int level = 0; level <= BC_Values[channelSide]->getLevel(); level++)
-	{
-		const int sizePerLevel = BC_Values[channelSide]->getSize(level);
+    {
+        const int sizePerLevel = BC_Values[channelSide]->getSize(level);
 
-		if (sizePerLevel > 1)
-		{
+        if (sizePerLevel > 1)
+        {
             // set local vectors per side and level
             real *veloX_ValuesPerSide = new real[sizePerLevel];
             real *veloY_ValuesPerSide = new real[sizePerLevel];
@@ -266,7 +263,7 @@ void GridReader::fillVelocityVectors(int channelSide)
                 this->velocityZ_BCvalues[level].push_back(veloZ_ValuesPerSide[i]);
             }
 
-			delete[] veloX_ValuesPerSide;
+            delete[] veloX_ValuesPerSide;
             delete[] veloY_ValuesPerSide;
             delete[] veloZ_ValuesPerSide;
         }
@@ -292,283 +289,283 @@ void GridReader::setVelocityValues() {
 
 void GridReader::setVelocity(int level, int sizePerLevel) const
 {
-	for (int index = 0; index < sizePerLevel; index++)
-	{
+    for (int index = 0; index < sizePerLevel; index++)
+    {
         para->getParH(level)->velocityBC.Vx[index] = this->velocityX_BCvalues[level][index] / para->getVelocityRatio();
         para->getParH(level)->velocityBC.Vy[index] = this->velocityY_BCvalues[level][index] / para->getVelocityRatio();
         para->getParH(level)->velocityBC.Vz[index] = this->velocityZ_BCvalues[level][index] / para->getVelocityRatio();
-	}
+    }
 }
 
 
 void GridReader::setOutflowValues(int channelSide) const
 {
-	for (unsigned int level = 0; level <= BC_Values[channelSide]->getLevel(); level++)
-	{
-		int sizePerLevel = BC_Values[channelSide]->getSize(level);
+    for (unsigned int level = 0; level <= BC_Values[channelSide]->getLevel(); level++)
+    {
+        int sizePerLevel = BC_Values[channelSide]->getSize(level);
         setOutflowSizePerLevel(level, sizePerLevel);
 
-		if (sizePerLevel > 1)
-		{
+        if (sizePerLevel > 1)
+        {
             VF_LOG_INFO("size outflow level {}: {}", level, sizePerLevel);
 
             cudaMemoryManager->cudaAllocOutflowBC(level);
 
-			setOutflow(level, sizePerLevel, channelSide);
+            setOutflow(level, sizePerLevel, channelSide);
             cudaMemoryManager->cudaCopyOutflowBC(level);
 
-		}
-	}
+        }
+    }
 }
 
 void GridReader::setOutflow(int level, int sizePerLevel, int channelSide) const
 {
-	BC_Values[channelSide]->setOutflowValues(para->getParH(level)->outflowBC.RhoBC, para->getParH(level)->outflowBC.kN, level);
-	for (int index = 0; index < sizePerLevel; index++)
-		para->getParH(level)->outflowBC.RhoBC[index] = (para->getParH(level)->outflowBC.RhoBC[index] / para->getFactorPressBC()) * (real)0.0;
+    BC_Values[channelSide]->setOutflowValues(para->getParH(level)->outflowBC.RhoBC, para->getParH(level)->outflowBC.kN, level);
+    for (int index = 0; index < sizePerLevel; index++)
+        para->getParH(level)->outflowBC.RhoBC[index] = (para->getParH(level)->outflowBC.RhoBC[index] / para->getFactorPressBC()) * (real)0.0;
 }
 
 
 void GridReader::initalValuesDomainDecompostion(int level)
 {
-	////////////////////////////////////////////////////////////////////////
-	//3D domain decomposition
-	std::vector< std::shared_ptr<BoundaryValues> > procNeighborsSendX, procNeighborsSendY, procNeighborsSendZ;
-	std::vector< std::shared_ptr<BoundaryValues> > procNeighborsRecvX, procNeighborsRecvY, procNeighborsRecvZ;
-	std::vector< int >             neighborRankX, neighborRankY, neighborRankZ;
-
-	if (para->getNumprocs() > 1)
-	{
-		for (int process = 0; process < para->getNumprocs(); process++)
-		{
-			std::shared_ptr<BoundaryValues> pnXsend = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "send", "X"));
-			std::shared_ptr<BoundaryValues> pnYsend = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "send", "Y"));
-			std::shared_ptr<BoundaryValues> pnZsend = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "send", "Z"));
-			std::shared_ptr<BoundaryValues> pnXrecv = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "recv", "X"));
-			std::shared_ptr<BoundaryValues> pnYrecv = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "recv", "Y"));
-			std::shared_ptr<BoundaryValues> pnZrecv = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "recv", "Z"));
-			if (para->getIsNeighborX())
-			{
-				procNeighborsSendX.push_back(pnXsend);
-				procNeighborsRecvX.push_back(pnXrecv);
-				neighborRankX.push_back(process);
-				std::cout << "MyID: " << para->getMyProcessID() << ", neighborRankX: " << process << std::endl;
-			}
-			if (para->getIsNeighborY())
-			{
-				procNeighborsSendY.push_back(pnYsend);
-				procNeighborsRecvY.push_back(pnYrecv);
-				neighborRankY.push_back(process);
-				std::cout << "MyID: " << para->getMyProcessID() << ", neighborRankY: " << process << std::endl;
-			}
-			if (para->getIsNeighborZ())
-			{
-				procNeighborsSendZ.push_back(pnZsend);
-				procNeighborsRecvZ.push_back(pnZrecv);
-				neighborRankZ.push_back(process);
-				std::cout << "MyID: " << para->getMyProcessID() << ", neighborRankZ: " << process << std::endl;
-			}
-		}
-		std::cout << "MyID: " << para->getMyProcessID() << ", size of neighborRankX: " << neighborRankX.size() << ", size of neighborRankY: " << neighborRankY.size() << ", size of neighborRankZ: " << neighborRankZ.size() << std::endl;
-	}
-
-	//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//3D domain decomposition
-	// X
-	if ((para->getNumprocs() > 1) && (procNeighborsSendX.size() == procNeighborsRecvX.size()))
-	{
-		for (std::size_t j = 0; j < procNeighborsSendX.size(); j++)
-		{
-			for (int i = 0; i <= level; i++) {
-				int tempSend = procNeighborsSendX[j]->getSize(i);
-				int tempRecv = procNeighborsRecvX[j]->getSize(i);
-				if (tempSend > 0)
-				{
-					////////////////////////////////////////////////////////////////////////////////////////
-					//send
+    ////////////////////////////////////////////////////////////////////////
+    //3D domain decomposition
+    std::vector< std::shared_ptr<BoundaryValues> > procNeighborsSendX, procNeighborsSendY, procNeighborsSendZ;
+    std::vector< std::shared_ptr<BoundaryValues> > procNeighborsRecvX, procNeighborsRecvY, procNeighborsRecvZ;
+    std::vector< int >             neighborRankX, neighborRankY, neighborRankZ;
+
+    if (para->getNumprocs() > 1)
+    {
+        for (int process = 0; process < para->getNumprocs(); process++)
+        {
+            std::shared_ptr<BoundaryValues> pnXsend = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "send", "X"));
+            std::shared_ptr<BoundaryValues> pnYsend = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "send", "Y"));
+            std::shared_ptr<BoundaryValues> pnZsend = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "send", "Z"));
+            std::shared_ptr<BoundaryValues> pnXrecv = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "recv", "X"));
+            std::shared_ptr<BoundaryValues> pnYrecv = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "recv", "Y"));
+            std::shared_ptr<BoundaryValues> pnZrecv = std::shared_ptr<BoundaryValues> (new BoundaryValues(process, para, "recv", "Z"));
+            if (para->getIsNeighborX())
+            {
+                procNeighborsSendX.push_back(pnXsend);
+                procNeighborsRecvX.push_back(pnXrecv);
+                neighborRankX.push_back(process);
+                std::cout << "MyID: " << para->getMyProcessID() << ", neighborRankX: " << process << std::endl;
+            }
+            if (para->getIsNeighborY())
+            {
+                procNeighborsSendY.push_back(pnYsend);
+                procNeighborsRecvY.push_back(pnYrecv);
+                neighborRankY.push_back(process);
+                std::cout << "MyID: " << para->getMyProcessID() << ", neighborRankY: " << process << std::endl;
+            }
+            if (para->getIsNeighborZ())
+            {
+                procNeighborsSendZ.push_back(pnZsend);
+                procNeighborsRecvZ.push_back(pnZrecv);
+                neighborRankZ.push_back(process);
+                std::cout << "MyID: " << para->getMyProcessID() << ", neighborRankZ: " << process << std::endl;
+            }
+        }
+        std::cout << "MyID: " << para->getMyProcessID() << ", size of neighborRankX: " << neighborRankX.size() << ", size of neighborRankY: " << neighborRankY.size() << ", size of neighborRankZ: " << neighborRankZ.size() << std::endl;
+    }
+
+    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //3D domain decomposition
+    // X
+    if ((para->getNumprocs() > 1) && (procNeighborsSendX.size() == procNeighborsRecvX.size()))
+    {
+        for (std::size_t j = 0; j < procNeighborsSendX.size(); j++)
+        {
+            for (int i = 0; i <= level; i++) {
+                int tempSend = procNeighborsSendX[j]->getSize(i);
+                int tempRecv = procNeighborsRecvX[j]->getSize(i);
+                if (tempSend > 0)
+                {
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //send
                     VF_LOG_INFO("size of Data for X send buffer, Level {} : {}", i, tempSend);
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->setNumberOfProcessNeighborsX((unsigned int)procNeighborsSendX.size(), i, "send");
-					para->getParH(i)->sendProcessNeighborX[j].rankNeighbor = neighborRankX[j];
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->getParH(i)->sendProcessNeighborX[j].numberOfNodes = tempSend;
-					para->getParD(i)->sendProcessNeighborX[j].numberOfNodes = tempSend;
-					para->getParH(i)->sendProcessNeighborX[j].numberOfFs = para->getD3Qxx() * tempSend;
-					para->getParD(i)->sendProcessNeighborX[j].numberOfFs = para->getD3Qxx() * tempSend;
-					para->getParH(i)->sendProcessNeighborX[j].memsizeIndex = sizeof(unsigned int)*tempSend;
-					para->getParD(i)->sendProcessNeighborX[j].memsizeIndex = sizeof(unsigned int)*tempSend;
-					para->getParH(i)->sendProcessNeighborX[j].memsizeFs = sizeof(real)     *tempSend;
-					para->getParD(i)->sendProcessNeighborX[j].memsizeFs = sizeof(real)     *tempSend;
-					////////////////////////////////////////////////////////////////////////////////////////
-					//recv
-					std::cout << "size of Data for X receive buffer, Level " << i << " : " << tempRecv << std::endl;
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->setNumberOfProcessNeighborsX((unsigned int)procNeighborsRecvX.size(), i, "recv");
-					para->getParH(i)->recvProcessNeighborX[j].rankNeighbor = neighborRankX[j];
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->getParH(i)->recvProcessNeighborX[j].numberOfNodes = tempRecv;
-					para->getParD(i)->recvProcessNeighborX[j].numberOfNodes = tempRecv;
-					para->getParH(i)->recvProcessNeighborX[j].numberOfFs = para->getD3Qxx() * tempRecv;
-					para->getParD(i)->recvProcessNeighborX[j].numberOfFs = para->getD3Qxx() * tempRecv;
-					para->getParH(i)->recvProcessNeighborX[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
-					para->getParD(i)->recvProcessNeighborX[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
-					para->getParH(i)->recvProcessNeighborX[j].memsizeFs = sizeof(real)     *tempRecv;
-					para->getParD(i)->recvProcessNeighborX[j].memsizeFs = sizeof(real)     *tempRecv;
-					////////////////////////////////////////////////////////////////////////////////////////
-					//malloc on host and device
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->setNumberOfProcessNeighborsX((unsigned int)procNeighborsSendX.size(), i, "send");
+                    para->getParH(i)->sendProcessNeighborX[j].rankNeighbor = neighborRankX[j];
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->getParH(i)->sendProcessNeighborX[j].numberOfNodes = tempSend;
+                    para->getParD(i)->sendProcessNeighborX[j].numberOfNodes = tempSend;
+                    para->getParH(i)->sendProcessNeighborX[j].numberOfFs = para->getD3Qxx() * tempSend;
+                    para->getParD(i)->sendProcessNeighborX[j].numberOfFs = para->getD3Qxx() * tempSend;
+                    para->getParH(i)->sendProcessNeighborX[j].memsizeIndex = sizeof(unsigned int)*tempSend;
+                    para->getParD(i)->sendProcessNeighborX[j].memsizeIndex = sizeof(unsigned int)*tempSend;
+                    para->getParH(i)->sendProcessNeighborX[j].memsizeFs = sizeof(real)     *tempSend;
+                    para->getParD(i)->sendProcessNeighborX[j].memsizeFs = sizeof(real)     *tempSend;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //recv
+                    std::cout << "size of Data for X receive buffer, Level " << i << " : " << tempRecv << std::endl;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->setNumberOfProcessNeighborsX((unsigned int)procNeighborsRecvX.size(), i, "recv");
+                    para->getParH(i)->recvProcessNeighborX[j].rankNeighbor = neighborRankX[j];
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->getParH(i)->recvProcessNeighborX[j].numberOfNodes = tempRecv;
+                    para->getParD(i)->recvProcessNeighborX[j].numberOfNodes = tempRecv;
+                    para->getParH(i)->recvProcessNeighborX[j].numberOfFs = para->getD3Qxx() * tempRecv;
+                    para->getParD(i)->recvProcessNeighborX[j].numberOfFs = para->getD3Qxx() * tempRecv;
+                    para->getParH(i)->recvProcessNeighborX[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
+                    para->getParD(i)->recvProcessNeighborX[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
+                    para->getParH(i)->recvProcessNeighborX[j].memsizeFs = sizeof(real)     *tempRecv;
+                    para->getParD(i)->recvProcessNeighborX[j].memsizeFs = sizeof(real)     *tempRecv;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //malloc on host and device
                     cudaMemoryManager->cudaAllocProcessNeighborX(i, (uint)j);
-					////////////////////////////////////////////////////////////////////////////////////////
-					//init index arrays
-					procNeighborsSendX[j]->initIndex(para->getParH(i)->sendProcessNeighborX[j].index, i);
-					procNeighborsRecvX[j]->initIndex(para->getParH(i)->recvProcessNeighborX[j].index, i);
-					////////////////////////////////////////////////////////////////////////////////////////
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //init index arrays
+                    procNeighborsSendX[j]->initIndex(para->getParH(i)->sendProcessNeighborX[j].index, i);
+                    procNeighborsRecvX[j]->initIndex(para->getParH(i)->recvProcessNeighborX[j].index, i);
+                    ////////////////////////////////////////////////////////////////////////////////////////
                     cudaMemoryManager->cudaCopyProcessNeighborXIndex(i, (uint)j);
-					////////////////////////////////////////////////////////////////////////////////////////
-				}
-			}
-		}
-	}
-
-	//////////////////////////////////////////////////////////////////////////
-	// Y
-	if ((para->getNumprocs() > 1) && (procNeighborsSendY.size() == procNeighborsRecvY.size()))
-	{
-		for (std::size_t j = 0; j < procNeighborsSendY.size(); j++)
-		{
-			for (int i = 0; i <= level; i++) {
-				int tempSend = procNeighborsSendY[j]->getSize(i);
-				int tempRecv = procNeighborsRecvY[j]->getSize(i);
-				if (tempSend > 0)
-				{
-					////////////////////////////////////////////////////////////////////////////////////////
-					//send
-					std::cout << "size of Data for Y send buffer Level " << i << " : " << tempSend << std::endl;
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->setNumberOfProcessNeighborsY((unsigned int)procNeighborsSendY.size(), i, "send");
-					para->getParH(i)->sendProcessNeighborY[j].rankNeighbor = neighborRankY[j];
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->getParH(i)->sendProcessNeighborY[j].numberOfNodes = tempSend;
-					para->getParD(i)->sendProcessNeighborY[j].numberOfNodes = tempSend;
-					para->getParH(i)->sendProcessNeighborY[j].numberOfFs = para->getD3Qxx() * tempSend;
-					para->getParD(i)->sendProcessNeighborY[j].numberOfFs = para->getD3Qxx() * tempSend;
-					para->getParH(i)->sendProcessNeighborY[j].memsizeIndex = sizeof(unsigned int)*tempSend;
-					para->getParD(i)->sendProcessNeighborY[j].memsizeIndex = sizeof(unsigned int)*tempSend;
-					para->getParH(i)->sendProcessNeighborY[j].memsizeFs = sizeof(real)     *tempSend;
-					para->getParD(i)->sendProcessNeighborY[j].memsizeFs = sizeof(real)     *tempSend;
-					////////////////////////////////////////////////////////////////////////////////////////
-					//recv
-					std::cout << "size of Data for Y receive buffer, Level " << i << " : " << tempRecv << std::endl;
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->setNumberOfProcessNeighborsY((unsigned int)procNeighborsRecvY.size(), i, "recv");
-					para->getParH(i)->recvProcessNeighborY[j].rankNeighbor = neighborRankY[j];
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->getParH(i)->recvProcessNeighborY[j].numberOfNodes = tempRecv;
-					para->getParD(i)->recvProcessNeighborY[j].numberOfNodes = tempRecv;
-					para->getParH(i)->recvProcessNeighborY[j].numberOfFs = para->getD3Qxx() * tempRecv;
-					para->getParD(i)->recvProcessNeighborY[j].numberOfFs = para->getD3Qxx() * tempRecv;
-					para->getParH(i)->recvProcessNeighborY[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
-					para->getParD(i)->recvProcessNeighborY[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
-					para->getParH(i)->recvProcessNeighborY[j].memsizeFs = sizeof(real)     *tempRecv;
-					para->getParD(i)->recvProcessNeighborY[j].memsizeFs = sizeof(real)     *tempRecv;
-					////////////////////////////////////////////////////////////////////////////////////////
-					//malloc on host and device
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                }
+            }
+        }
+    }
+
+    //////////////////////////////////////////////////////////////////////////
+    // Y
+    if ((para->getNumprocs() > 1) && (procNeighborsSendY.size() == procNeighborsRecvY.size()))
+    {
+        for (std::size_t j = 0; j < procNeighborsSendY.size(); j++)
+        {
+            for (int i = 0; i <= level; i++) {
+                int tempSend = procNeighborsSendY[j]->getSize(i);
+                int tempRecv = procNeighborsRecvY[j]->getSize(i);
+                if (tempSend > 0)
+                {
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //send
+                    std::cout << "size of Data for Y send buffer Level " << i << " : " << tempSend << std::endl;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->setNumberOfProcessNeighborsY((unsigned int)procNeighborsSendY.size(), i, "send");
+                    para->getParH(i)->sendProcessNeighborY[j].rankNeighbor = neighborRankY[j];
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->getParH(i)->sendProcessNeighborY[j].numberOfNodes = tempSend;
+                    para->getParD(i)->sendProcessNeighborY[j].numberOfNodes = tempSend;
+                    para->getParH(i)->sendProcessNeighborY[j].numberOfFs = para->getD3Qxx() * tempSend;
+                    para->getParD(i)->sendProcessNeighborY[j].numberOfFs = para->getD3Qxx() * tempSend;
+                    para->getParH(i)->sendProcessNeighborY[j].memsizeIndex = sizeof(unsigned int)*tempSend;
+                    para->getParD(i)->sendProcessNeighborY[j].memsizeIndex = sizeof(unsigned int)*tempSend;
+                    para->getParH(i)->sendProcessNeighborY[j].memsizeFs = sizeof(real)     *tempSend;
+                    para->getParD(i)->sendProcessNeighborY[j].memsizeFs = sizeof(real)     *tempSend;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //recv
+                    std::cout << "size of Data for Y receive buffer, Level " << i << " : " << tempRecv << std::endl;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->setNumberOfProcessNeighborsY((unsigned int)procNeighborsRecvY.size(), i, "recv");
+                    para->getParH(i)->recvProcessNeighborY[j].rankNeighbor = neighborRankY[j];
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->getParH(i)->recvProcessNeighborY[j].numberOfNodes = tempRecv;
+                    para->getParD(i)->recvProcessNeighborY[j].numberOfNodes = tempRecv;
+                    para->getParH(i)->recvProcessNeighborY[j].numberOfFs = para->getD3Qxx() * tempRecv;
+                    para->getParD(i)->recvProcessNeighborY[j].numberOfFs = para->getD3Qxx() * tempRecv;
+                    para->getParH(i)->recvProcessNeighborY[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
+                    para->getParD(i)->recvProcessNeighborY[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
+                    para->getParH(i)->recvProcessNeighborY[j].memsizeFs = sizeof(real)     *tempRecv;
+                    para->getParD(i)->recvProcessNeighborY[j].memsizeFs = sizeof(real)     *tempRecv;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //malloc on host and device
                     cudaMemoryManager->cudaAllocProcessNeighborY(i, (uint)j);
-					////////////////////////////////////////////////////////////////////////////////////////
-					//init index arrays
-					procNeighborsSendY[j]->initIndex(para->getParH(i)->sendProcessNeighborY[j].index, i);
-					procNeighborsRecvY[j]->initIndex(para->getParH(i)->recvProcessNeighborY[j].index, i);
-					////////////////////////////////////////////////////////////////////////////////////////
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //init index arrays
+                    procNeighborsSendY[j]->initIndex(para->getParH(i)->sendProcessNeighborY[j].index, i);
+                    procNeighborsRecvY[j]->initIndex(para->getParH(i)->recvProcessNeighborY[j].index, i);
+                    ////////////////////////////////////////////////////////////////////////////////////////
                     cudaMemoryManager->cudaCopyProcessNeighborYIndex(i, (uint)j);
-					////////////////////////////////////////////////////////////////////////////////////////
-				}
-			}
-		}
-	}
-
-	//////////////////////////////////////////////////////////////////////////
-	// Z
-	if ((para->getNumprocs() > 1) && (procNeighborsSendZ.size() == procNeighborsRecvZ.size()))
-	{
-		for (std::size_t j = 0; j < procNeighborsSendZ.size(); j++)
-		{
-			for (int i = 0; i <= level; i++) {
-				int tempSend = procNeighborsSendZ[j]->getSize(i);
-				int tempRecv = procNeighborsRecvZ[j]->getSize(i);
-				if (tempSend > 0)
-				{
-					////////////////////////////////////////////////////////////////////////////////////////
-					//send
-					std::cout << "size of Data for Z send buffer, Level " << i << " : " << tempSend << std::endl;
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->setNumberOfProcessNeighborsZ((unsigned int)procNeighborsSendZ.size(), i, "send");
-					para->getParH(i)->sendProcessNeighborZ[j].rankNeighbor = neighborRankZ[j];
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->getParH(i)->sendProcessNeighborZ[j].numberOfNodes = tempSend;
-					para->getParD(i)->sendProcessNeighborZ[j].numberOfNodes = tempSend;
-					para->getParH(i)->sendProcessNeighborZ[j].numberOfFs = para->getD3Qxx() * tempSend;
-					para->getParD(i)->sendProcessNeighborZ[j].numberOfFs = para->getD3Qxx() * tempSend;
-					para->getParH(i)->sendProcessNeighborZ[j].memsizeIndex = sizeof(unsigned int)*tempSend;
-					para->getParD(i)->sendProcessNeighborZ[j].memsizeIndex = sizeof(unsigned int)*tempSend;
-					para->getParH(i)->sendProcessNeighborZ[j].memsizeFs = sizeof(real)     *tempSend;
-					para->getParD(i)->sendProcessNeighborZ[j].memsizeFs = sizeof(real)     *tempSend;
-					////////////////////////////////////////////////////////////////////////////////////////
-					//recv
-					std::cout << "size of Data for Z receive buffer, Level " << i << " : " << tempRecv << std::endl;
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->setNumberOfProcessNeighborsZ((unsigned int)procNeighborsRecvZ.size(), i, "recv");
-					para->getParH(i)->recvProcessNeighborZ[j].rankNeighbor = neighborRankZ[j];
-					////////////////////////////////////////////////////////////////////////////////////////
-					para->getParH(i)->recvProcessNeighborZ[j].numberOfNodes = tempRecv;
-					para->getParD(i)->recvProcessNeighborZ[j].numberOfNodes = tempRecv;
-					para->getParH(i)->recvProcessNeighborZ[j].numberOfFs = para->getD3Qxx() * tempRecv;
-					para->getParD(i)->recvProcessNeighborZ[j].numberOfFs = para->getD3Qxx() * tempRecv;
-					para->getParH(i)->recvProcessNeighborZ[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
-					para->getParD(i)->recvProcessNeighborZ[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
-					para->getParH(i)->recvProcessNeighborZ[j].memsizeFs = sizeof(real)     *tempRecv;
-					para->getParD(i)->recvProcessNeighborZ[j].memsizeFs = sizeof(real)     *tempRecv;
-					////////////////////////////////////////////////////////////////////////////////////////
-					//malloc on host and device
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                }
+            }
+        }
+    }
+
+    //////////////////////////////////////////////////////////////////////////
+    // Z
+    if ((para->getNumprocs() > 1) && (procNeighborsSendZ.size() == procNeighborsRecvZ.size()))
+    {
+        for (std::size_t j = 0; j < procNeighborsSendZ.size(); j++)
+        {
+            for (int i = 0; i <= level; i++) {
+                int tempSend = procNeighborsSendZ[j]->getSize(i);
+                int tempRecv = procNeighborsRecvZ[j]->getSize(i);
+                if (tempSend > 0)
+                {
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //send
+                    std::cout << "size of Data for Z send buffer, Level " << i << " : " << tempSend << std::endl;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->setNumberOfProcessNeighborsZ((unsigned int)procNeighborsSendZ.size(), i, "send");
+                    para->getParH(i)->sendProcessNeighborZ[j].rankNeighbor = neighborRankZ[j];
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->getParH(i)->sendProcessNeighborZ[j].numberOfNodes = tempSend;
+                    para->getParD(i)->sendProcessNeighborZ[j].numberOfNodes = tempSend;
+                    para->getParH(i)->sendProcessNeighborZ[j].numberOfFs = para->getD3Qxx() * tempSend;
+                    para->getParD(i)->sendProcessNeighborZ[j].numberOfFs = para->getD3Qxx() * tempSend;
+                    para->getParH(i)->sendProcessNeighborZ[j].memsizeIndex = sizeof(unsigned int)*tempSend;
+                    para->getParD(i)->sendProcessNeighborZ[j].memsizeIndex = sizeof(unsigned int)*tempSend;
+                    para->getParH(i)->sendProcessNeighborZ[j].memsizeFs = sizeof(real)     *tempSend;
+                    para->getParD(i)->sendProcessNeighborZ[j].memsizeFs = sizeof(real)     *tempSend;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //recv
+                    std::cout << "size of Data for Z receive buffer, Level " << i << " : " << tempRecv << std::endl;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->setNumberOfProcessNeighborsZ((unsigned int)procNeighborsRecvZ.size(), i, "recv");
+                    para->getParH(i)->recvProcessNeighborZ[j].rankNeighbor = neighborRankZ[j];
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    para->getParH(i)->recvProcessNeighborZ[j].numberOfNodes = tempRecv;
+                    para->getParD(i)->recvProcessNeighborZ[j].numberOfNodes = tempRecv;
+                    para->getParH(i)->recvProcessNeighborZ[j].numberOfFs = para->getD3Qxx() * tempRecv;
+                    para->getParD(i)->recvProcessNeighborZ[j].numberOfFs = para->getD3Qxx() * tempRecv;
+                    para->getParH(i)->recvProcessNeighborZ[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
+                    para->getParD(i)->recvProcessNeighborZ[j].memsizeIndex = sizeof(unsigned int)*tempRecv;
+                    para->getParH(i)->recvProcessNeighborZ[j].memsizeFs = sizeof(real)     *tempRecv;
+                    para->getParD(i)->recvProcessNeighborZ[j].memsizeFs = sizeof(real)     *tempRecv;
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //malloc on host and device
                     cudaMemoryManager->cudaAllocProcessNeighborZ(i, (uint)j);
-					////////////////////////////////////////////////////////////////////////////////////////
-					//init index arrays
-					procNeighborsSendZ[j]->initIndex(para->getParH(i)->sendProcessNeighborZ[j].index, i);
-					procNeighborsRecvZ[j]->initIndex(para->getParH(i)->recvProcessNeighborZ[j].index, i);
-					////////////////////////////////////////////////////////////////////////////////////////
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                    //init index arrays
+                    procNeighborsSendZ[j]->initIndex(para->getParH(i)->sendProcessNeighborZ[j].index, i);
+                    procNeighborsRecvZ[j]->initIndex(para->getParH(i)->recvProcessNeighborZ[j].index, i);
+                    ////////////////////////////////////////////////////////////////////////////////////////
                     cudaMemoryManager->cudaCopyProcessNeighborZIndex(i, (uint)j);
-					////////////////////////////////////////////////////////////////////////////////////////
-				}
-			}
-		}
-	}
+                    ////////////////////////////////////////////////////////////////////////////////////////
+                }
+            }
+        }
+    }
 }
 
 void GridReader::allocArrays_BoundaryQs()
 {
     VF_LOG_TRACE("------read BoundaryQs-------");
 
-	std::vector<std::shared_ptr<BoundaryQs> > BC_Qs(channelDirections.size());
-	this->makeReader(BC_Qs, para);
+    std::vector<std::shared_ptr<BoundaryQs> > BC_Qs(channelDirections.size());
+    this->makeReader(BC_Qs, para);
 
-	for (std::size_t i = 0; i < channelBoundaryConditions.size(); i++)
-	{
-		if (     this->channelBoundaryConditions[i] == "noSlip"  ) { setNoSlipQs(BC_Qs[i]);   }
-		else if (this->channelBoundaryConditions[i] == "velocity") { setVelocityQs(BC_Qs[i]); }
-		else if (this->channelBoundaryConditions[i] == "pressure") { setPressQs(BC_Qs[i]);    }
-		else if (this->channelBoundaryConditions[i] == "outflow" ) { setOutflowQs(BC_Qs[i]);  }
-	}
+    for (std::size_t i = 0; i < channelBoundaryConditions.size(); i++)
+    {
+        if (     this->channelBoundaryConditions[i] == "noSlip"  ) { setNoSlipQs(BC_Qs[i]);   }
+        else if (this->channelBoundaryConditions[i] == "velocity") { setVelocityQs(BC_Qs[i]); }
+        else if (this->channelBoundaryConditions[i] == "pressure") { setPressQs(BC_Qs[i]);    }
+        else if (this->channelBoundaryConditions[i] == "outflow" ) { setOutflowQs(BC_Qs[i]);  }
+    }
 
-	for (int lev = 0; lev < (int)(velocityIndex.size()); lev++) {
+    for (int lev = 0; lev < (int)(velocityIndex.size()); lev++) {
         if (velocityIndex[lev].size() > 1) {
             copyVectorsToQStruct(velocityQs[lev], velocityIndex[lev], para->getParH(lev)->velocityBC);
             cudaMemoryManager->cudaCopyVeloBC(lev);
         }
     }
 
-	std::shared_ptr<BoundaryQs> obj_geomQ = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getgeomBoundaryBcQs(), para, "geo", false));
-	if (para->getIsGeo())
-		setGeoQs(obj_geomQ);
+    std::shared_ptr<BoundaryQs> obj_geomQ = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getgeomBoundaryBcQs(), para, "geo", false));
+    if (para->getIsGeo())
+        setGeoQs(obj_geomQ);
 
-	VF_LOG_TRACE("------finish BoundaryQs-------");
+    VF_LOG_TRACE("------finish BoundaryQs-------");
 }
 
 
@@ -577,80 +574,80 @@ void GridReader::allocArrays_BoundaryQs()
 /*------------------------------------------------------------------------------------------------*/
 void GridReader::setPressQs(std::shared_ptr<BoundaryQs> boundaryQ) const
 {
-	for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
-	{
-		if (hasQs(boundaryQ, level))
-		{
-			this->printQSize("pressure", boundaryQ, level);
-			this->initalQStruct(para->getParH(level)->pressureBC, boundaryQ, level);
+    for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
+    {
+        if (hasQs(boundaryQ, level))
+        {
+            this->printQSize("pressure", boundaryQ, level);
+            this->initalQStruct(para->getParH(level)->pressureBC, boundaryQ, level);
             cudaMemoryManager->cudaCopyPress(level);
-		}
-	}
+        }
+    }
 }
 
 void GridReader::setVelocityQs(std::shared_ptr<BoundaryQs> boundaryQ)
 {
-	for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
-	{
-		if (hasQs(boundaryQ, level))
-		{
-			this->printQSize("velocity", boundaryQ, level);
+    for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
+    {
+        if (hasQs(boundaryQ, level))
+        {
+            this->printQSize("velocity", boundaryQ, level);
             this->initalVectorForQStruct(velocityQs, velocityIndex, boundaryQ, level);
-		}
-	}
+        }
+    }
 }
 
 void GridReader::setOutflowQs(std::shared_ptr<BoundaryQs> boundaryQ) const
 {
-	for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
-	{
-		if (hasQs(boundaryQ, level))
-		{
-			this->printQSize("outflow", boundaryQ, level);
-			this->initalQStruct(para->getParH(level)->outflowBC, boundaryQ, level);
+    for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
+    {
+        if (hasQs(boundaryQ, level))
+        {
+            this->printQSize("outflow", boundaryQ, level);
+            this->initalQStruct(para->getParH(level)->outflowBC, boundaryQ, level);
             cudaMemoryManager->cudaCopyOutflowBC(level);
-		}
-	}
+        }
+    }
 }
 
 void GridReader::setNoSlipQs(std::shared_ptr<BoundaryQs> boundaryQ) const
 {
-	for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
-	{
-		if (hasQs(boundaryQ, level))
-		{
-			this->printQSize("no slip", boundaryQ, level);
-			this->setSizeNoSlip(boundaryQ, level);
-			this->initalQStruct(para->getParH(level)->noSlipBC, boundaryQ, level);
+    for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
+    {
+        if (hasQs(boundaryQ, level))
+        {
+            this->printQSize("no slip", boundaryQ, level);
+            this->setSizeNoSlip(boundaryQ, level);
+            this->initalQStruct(para->getParH(level)->noSlipBC, boundaryQ, level);
             cudaMemoryManager->cudaCopyNoSlipBC(level);
-		}
-	}
+        }
+    }
 }
 
 void GridReader::setGeoQs(std::shared_ptr<BoundaryQs> boundaryQ) const
 {
-	for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
-	{
-		if (hasQs(boundaryQ, level))
-		{
-			this->printQSize("geo Qs", boundaryQ, level);
-			this->setSizeGeoQs(boundaryQ, level);
-			this->initalQStruct(para->getParH(level)->geometryBC, boundaryQ, level);
+    for (unsigned int level = 0; level <= boundaryQ->getLevel(); level++)
+    {
+        if (hasQs(boundaryQ, level))
+        {
+            this->printQSize("geo Qs", boundaryQ, level);
+            this->setSizeGeoQs(boundaryQ, level);
+            this->initalQStruct(para->getParH(level)->geometryBC, boundaryQ, level);
 
-			modifyQElement(boundaryQ, level);
+            modifyQElement(boundaryQ, level);
 
             cudaMemoryManager->cudaCopyGeomBC(level);
-		}
-	}
+        }
+    }
 }
 
 void GridReader::modifyQElement(std::shared_ptr<BoundaryQs> boundaryQ, unsigned int level) const
 {
-	QforBoundaryConditions Q;
-	real* QQ = para->getParH(level)->geometryBC.q27[0];
-	Q.q27[vf::lbm::dir::d000] = &QQ[vf::lbm::dir::d000 * para->getParH(level)->geometryBC.numberOfBCnodes];
-	for (unsigned int i = 0; i < boundaryQ->getSize(level); i++)
-		Q.q27[vf::lbm::dir::d000][i] = 0.0f;
+    QforBoundaryConditions Q;
+    real* QQ = para->getParH(level)->geometryBC.q27[0];
+    Q.q27[vf::lbm::dir::d000] = &QQ[vf::lbm::dir::d000 * para->getParH(level)->geometryBC.numberOfBCnodes];
+    for (unsigned int i = 0; i < boundaryQ->getSize(level); i++)
+        Q.q27[vf::lbm::dir::d000][i] = 0.0f;
 }
 
 /*------------------------------------------------------------------------------------------------*/
@@ -669,9 +666,9 @@ void GridReader::copyVectorsToQStruct(std::vector<std::vector<real>> &Qs,
     QforBoundaryConditions qTemp;
     this->setQ27Size(qTemp, Q.q27[0], Q.numberOfBCnodes);
 
-	uint sizeOfValues = (uint)index.size();
+    uint sizeOfValues = (uint)index.size();
 
-	for (int direction = 0; direction < para->getD3Qxx(); direction++) {
+    for (int direction = 0; direction < para->getD3Qxx(); direction++) {
         for (size_t indexQ = 0; indexQ < sizeOfValues; indexQ++) {
             qTemp.q27[direction][indexQ] = Qs[direction][indexQ];
         }
@@ -685,15 +682,15 @@ void GridReader::copyVectorsToQStruct(std::vector<std::vector<real>> &Qs,
 void GridReader::initalQStruct(QforBoundaryConditions &Q, std::shared_ptr<BoundaryQs> boundaryQ,
                                unsigned int level) const
 {
-	QforBoundaryConditions qTemp;
-	this->setQ27Size(qTemp, Q.q27[0], Q.numberOfBCnodes);
-	boundaryQ->setValues(qTemp.q27, level);
-	boundaryQ->setIndex(Q.k, level);
+    QforBoundaryConditions qTemp;
+    this->setQ27Size(qTemp, Q.q27[0], Q.numberOfBCnodes);
+    boundaryQ->setValues(qTemp.q27, level);
+    boundaryQ->setIndex(Q.k, level);
 }
 
 bool GridReader::hasQs(std::shared_ptr<BoundaryQs> boundaryQ, unsigned int level) const
 {
-	return boundaryQ->getSize(level) > 0;
+    return boundaryQ->getSize(level) > 0;
 }
 
 void GridReader::initalGridInformations()
@@ -702,7 +699,7 @@ void GridReader::initalGridInformations()
     std::vector<int> gridX, gridY, gridZ;
     std::vector<int> distX, distY, distZ;
 
-	for (int i = 0; i <= maxLevel; i++) {
+    for (int i = 0; i <= maxLevel; i++) {
         gridX.push_back(0);
         gridY.push_back(0);
         gridZ.push_back(0);
@@ -721,116 +718,116 @@ void GridReader::initalGridInformations()
 
 void GridReader::setQ27Size(QforBoundaryConditions &Q, real* QQ, unsigned int sizeQ) const
 {
-	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];
+    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];
 }
 
 void GridReader::setSizeNoSlip(std::shared_ptr<BoundaryQs> boundaryQ, unsigned int level) const
 {
-	para->getParH(level)->noSlipBC.numberOfBCnodes = boundaryQ->getSize(level);
-	para->getParD(level)->noSlipBC.numberOfBCnodes = para->getParH(level)->noSlipBC.numberOfBCnodes;
+    para->getParH(level)->noSlipBC.numberOfBCnodes = boundaryQ->getSize(level);
+    para->getParD(level)->noSlipBC.numberOfBCnodes = para->getParH(level)->noSlipBC.numberOfBCnodes;
     cudaMemoryManager->cudaAllocNoSlipBC(level);
 }
 
 void GridReader::setSizeGeoQs(std::shared_ptr<BoundaryQs> boundaryQ, unsigned int level) const
 {
-	para->getParH(level)->geometryBC.numberOfBCnodes = boundaryQ->getSize(level);
-	para->getParD(level)->geometryBC.numberOfBCnodes = para->getParH(level)->geometryBC.numberOfBCnodes;
+    para->getParH(level)->geometryBC.numberOfBCnodes = boundaryQ->getSize(level);
+    para->getParD(level)->geometryBC.numberOfBCnodes = para->getParH(level)->geometryBC.numberOfBCnodes;
 
     cudaMemoryManager->cudaAllocGeomBC(level);
 }
 
 void GridReader::printQSize(std::string bc, std::shared_ptr<BoundaryQs> boundaryQ, unsigned int level) const
 {
-	std::cout << "level " << level << ", " << bc << "-size: " << boundaryQ->getSize(level) << std::endl;
+    std::cout << "level " << level << ", " << bc << "-size: " << boundaryQ->getSize(level) << std::endl;
 }
 
 
 void GridReader::setDimensions()
 {
-	std::ifstream numberNodes;
-	numberNodes.open(para->getnumberNodes().c_str(), std::ios::in);
-	if (!numberNodes) {
-		std::cerr << "can't open file NumberNodes: " << para->getnumberNodes() << std::endl;
-		exit(1);
-	}
-
-	std::string buffer;
-	int bufferInt;
-	std::vector<int> localGridNX;
-	std::vector<int> localGridNY;
-	std::vector<int> localGridNZ;
-
-	for (/*unsigned*/ int i = 0; i <= para->getMaxLevel(); i++) {
-		numberNodes >> buffer;
-		numberNodes >> bufferInt;
-		localGridNX.push_back(bufferInt);
-		numberNodes >> bufferInt;
-		localGridNY.push_back(bufferInt);
-		numberNodes >> bufferInt;
-		localGridNZ.push_back(bufferInt);
-	}
-	para->setGridX(localGridNX);
-	para->setGridY(localGridNY);
-	para->setGridZ(localGridNZ);
+    std::ifstream numberNodes;
+    numberNodes.open(para->getnumberNodes().c_str(), std::ios::in);
+    if (!numberNodes) {
+        std::cerr << "can't open file NumberNodes: " << para->getnumberNodes() << std::endl;
+        exit(1);
+    }
+
+    std::string buffer;
+    int bufferInt;
+    std::vector<int> localGridNX;
+    std::vector<int> localGridNY;
+    std::vector<int> localGridNZ;
+
+    for (/*unsigned*/ int i = 0; i <= para->getMaxLevel(); i++) {
+        numberNodes >> buffer;
+        numberNodes >> bufferInt;
+        localGridNX.push_back(bufferInt);
+        numberNodes >> bufferInt;
+        localGridNY.push_back(bufferInt);
+        numberNodes >> bufferInt;
+        localGridNZ.push_back(bufferInt);
+    }
+    para->setGridX(localGridNX);
+    para->setGridY(localGridNY);
+    para->setGridZ(localGridNZ);
 }
 
 void GridReader::setBoundingBox()
 {
-	std::ifstream numberNodes;
-	numberNodes.open(para->getLBMvsSI().c_str(), std::ios::in);
-	if (!numberNodes) {
-		std::cerr << "can't open file LBMvsSI" << std::endl;
-		exit(1);
-	}
-	real bufferreal;
-	std::vector<real> minX, maxX, minY, maxY, minZ, maxZ;
-
-	for (int i = 0; i <= para->getMaxLevel(); i++) {
-		numberNodes >> bufferreal;
-		minX.push_back(bufferreal);
-		numberNodes >> bufferreal;
-		minY.push_back(bufferreal);
-		numberNodes >> bufferreal;
-		minZ.push_back(bufferreal);
-		numberNodes >> bufferreal;
-		maxX.push_back(bufferreal);
-		numberNodes >> bufferreal;
-		maxY.push_back(bufferreal);
-		numberNodes >> bufferreal;
-		maxZ.push_back(bufferreal);
-	}
-	para->setMinCoordX(minX);
-	para->setMinCoordY(minY);
-	para->setMinCoordZ(minZ);
-	para->setMaxCoordX(maxX);
-	para->setMaxCoordY(maxY);
-	para->setMaxCoordZ(maxZ);
+    std::ifstream numberNodes;
+    numberNodes.open(para->getLBMvsSI().c_str(), std::ios::in);
+    if (!numberNodes) {
+        std::cerr << "can't open file LBMvsSI" << std::endl;
+        exit(1);
+    }
+    real bufferreal;
+    std::vector<real> minX, maxX, minY, maxY, minZ, maxZ;
+
+    for (int i = 0; i <= para->getMaxLevel(); i++) {
+        numberNodes >> bufferreal;
+        minX.push_back(bufferreal);
+        numberNodes >> bufferreal;
+        minY.push_back(bufferreal);
+        numberNodes >> bufferreal;
+        minZ.push_back(bufferreal);
+        numberNodes >> bufferreal;
+        maxX.push_back(bufferreal);
+        numberNodes >> bufferreal;
+        maxY.push_back(bufferreal);
+        numberNodes >> bufferreal;
+        maxZ.push_back(bufferreal);
+    }
+    para->setMinCoordX(minX);
+    para->setMinCoordY(minY);
+    para->setMinCoordZ(minZ);
+    para->setMaxCoordX(maxX);
+    para->setMaxCoordY(maxY);
+    para->setMaxCoordZ(maxZ);
 }
 
 void GridReader::initPeriodicNeigh(std::vector<std::vector<std::vector<unsigned int> > > periodV, std::vector<std::vector<unsigned int> > periodIndex,  std::string boundaryCondition)
@@ -879,28 +876,28 @@ void GridReader::initPeriodicNeigh(std::vector<std::vector<std::vector<unsigned
 
 void GridReader::makeReader(std::shared_ptr<Parameter> para)
 {
-	for (std::size_t i = 0; i < BC_Values.size(); i++)
-	{
-		if (channelDirections[i].compare("inlet") == 0){ BC_Values[i]  = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getinletBcValues())); }
-		if (channelDirections[i].compare("outlet") == 0){ BC_Values[i] = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getoutletBcValues())); }
-		if (channelDirections[i].compare("back") == 0){ BC_Values[i]   = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getbackBcValues())); }
-		if (channelDirections[i].compare("front") == 0){ BC_Values[i]  = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getfrontBcValues())); }
-		if (channelDirections[i].compare("top") == 0){ BC_Values[i]    = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->gettopBcValues())); }
-		if (channelDirections[i].compare("bottom") == 0){ BC_Values[i] = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getbottomBcValues()));}
-	}
+    for (std::size_t i = 0; i < BC_Values.size(); i++)
+    {
+        if (channelDirections[i].compare("inlet") == 0){ BC_Values[i]  = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getinletBcValues())); }
+        if (channelDirections[i].compare("outlet") == 0){ BC_Values[i] = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getoutletBcValues())); }
+        if (channelDirections[i].compare("back") == 0){ BC_Values[i]   = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getbackBcValues())); }
+        if (channelDirections[i].compare("front") == 0){ BC_Values[i]  = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getfrontBcValues())); }
+        if (channelDirections[i].compare("top") == 0){ BC_Values[i]    = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->gettopBcValues())); }
+        if (channelDirections[i].compare("bottom") == 0){ BC_Values[i] = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getbottomBcValues()));}
+    }
 }
 
 void GridReader::makeReader(std::vector<std::shared_ptr<BoundaryQs> > &BC_Qs, std::shared_ptr<Parameter> para)
 {
-	for (std::size_t i = 0; i < BC_Qs.size(); i++)
-	{
-		if (channelDirections[i].compare("inlet") == 0){ BC_Qs[i]  = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getinletBcQs(), false)); }
-		if (channelDirections[i].compare("outlet") == 0){ BC_Qs[i] = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getoutletBcQs(), false)); }
-		if (channelDirections[i].compare("back") == 0){ BC_Qs[i]   = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getbackBcQs(), false)); }
-		if (channelDirections[i].compare("front") == 0){ BC_Qs[i]  = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getfrontBcQs(), false)); }
-		if (channelDirections[i].compare("top") == 0){ BC_Qs[i]    = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->gettopBcQs(), false)); }
-		if (channelDirections[i].compare("bottom") == 0){ BC_Qs[i] = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getbottomBcQs(), false)); }
-	}
+    for (std::size_t i = 0; i < BC_Qs.size(); i++)
+    {
+        if (channelDirections[i].compare("inlet") == 0){ BC_Qs[i]  = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getinletBcQs(), false)); }
+        if (channelDirections[i].compare("outlet") == 0){ BC_Qs[i] = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getoutletBcQs(), false)); }
+        if (channelDirections[i].compare("back") == 0){ BC_Qs[i]   = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getbackBcQs(), false)); }
+        if (channelDirections[i].compare("front") == 0){ BC_Qs[i]  = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getfrontBcQs(), false)); }
+        if (channelDirections[i].compare("top") == 0){ BC_Qs[i]    = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->gettopBcQs(), false)); }
+        if (channelDirections[i].compare("bottom") == 0){ BC_Qs[i] = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getbottomBcQs(), false)); }
+    }
 }
 
 void GridReader::setChannelBoundaryCondition()
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/MeasuredPoints.cpp b/src/gpu/core/DataStructureInitializer/GridReaderFiles/MeasuredPoints.cpp
index 7ec0f3d3705cb6408ee6045f3442e5ea0f6b8f97..3caaa5ae0195546ba519af136f4a62cc083038f7 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/MeasuredPoints.cpp
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/MeasuredPoints.cpp
@@ -9,14 +9,14 @@ MeasuredPoints::MeasuredPoints(void)
 }
 
 MeasuredPoints::MeasuredPoints(std::string ad){
-	file.open(ad.c_str(), std::ios::in | std::ios::binary);
+    file.open(ad.c_str(), std::ios::in | std::ios::binary);
 
-	if (!file) {
-		std::cerr << "Fehler beim Oeffnen Measured Points" << std::endl;
-			exit(1);
-	}
+    if (!file) {
+        std::cerr << "Fehler beim Oeffnen Measured Points" << std::endl;
+            exit(1);
+    }
 
-	this->init();		
+    this->init();        
 
 }
 
@@ -28,33 +28,33 @@ MeasuredPoints::~MeasuredPoints(void)
 
 
 void MeasuredPoints::init() {
-	
-	std::string bufferString;
-	unsigned int bufferInt;
+    
+    std::string bufferString;
+    unsigned int bufferInt;
 
-	getline(file,bufferString);
+    getline(file,bufferString);
     readLevel();
 
-	this->levelSizes.resize(maxLevel);
-	this->points.resize(maxLevel);
+    this->levelSizes.resize(maxLevel);
+    this->points.resize(maxLevel);
 
-	for (uint i=0; i<maxLevel; i++) {
-		getline(file,bufferString);
-		bufferInt = atoi(bufferString.c_str()); 
+    for (uint i=0; i<maxLevel; i++) {
+        getline(file,bufferString);
+        bufferInt = atoi(bufferString.c_str()); 
 
-		this->levelSizes[i]=bufferInt;
+        this->levelSizes[i]=bufferInt;
 
-		this->points[i].resize(levelSizes[i]);
-		if(levelSizes[i] != 0) {
-			for ( uint j = 0; j < levelSizes[i]; j++) {
-				getline(file,bufferString);
-				bufferInt = atoi(bufferString.c_str()); 
-				this->points[i][j]=bufferInt;
-			}
-		}
+        this->points[i].resize(levelSizes[i]);
+        if(levelSizes[i] != 0) {
+            for ( uint j = 0; j < levelSizes[i]; j++) {
+                getline(file,bufferString);
+                bufferInt = atoi(bufferString.c_str()); 
+                this->points[i][j]=bufferInt;
+            }
+        }
 
 
-	}
+    }
 
 
 
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/MeasuredPoints.h b/src/gpu/core/DataStructureInitializer/GridReaderFiles/MeasuredPoints.h
index 3c15040ad7f4b5e2379f43fc0a31fcce53d25f36..2ce8b501758843a54d3b3fe7ead61a277100216d 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/MeasuredPoints.h
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/MeasuredPoints.h
@@ -7,17 +7,17 @@
 
 
 class MeasuredPoints 
-	: public CoordNeighborGeoV 
+    : public CoordNeighborGeoV 
 {
 private:
     std::vector< std::vector<unsigned int> > points;
 
 public:
-	MeasuredPoints();
-	MeasuredPoints(std::string ad);
-	~MeasuredPoints();
+    MeasuredPoints();
+    MeasuredPoints(std::string ad);
+    ~MeasuredPoints();
 
-	void init();
+    void init();
 
 };
 
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/OffsetScale.cpp b/src/gpu/core/DataStructureInitializer/GridReaderFiles/OffsetScale.cpp
index 1c2363d3edd5ddba10e50d2998552b929144623d..18960aaa3d15b05694a8cedbb872d9b253b7cd02 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/OffsetScale.cpp
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/OffsetScale.cpp
@@ -7,27 +7,27 @@ using namespace std;
 
 OffsetScale::OffsetScale(std::string ad, bool off)
 {
-	file.open(ad.c_str(), std::ios::in);
-
-	if (!file) {
-		cerr << "Fehler beim Oeffnen" <<endl;
-			exit(1);
-	}
-	if(off==true){
-		initOffset();
-	}else {
-		init();
-	}
+    file.open(ad.c_str(), std::ios::in);
+
+    if (!file) {
+        cerr << "Fehler beim Oeffnen" <<endl;
+            exit(1);
+    }
+    if(off==true){
+        initOffset();
+    }else {
+        init();
+    }
 }
 OffsetScale::~OffsetScale(void)
 {
-	file.close();
+    file.close();
 }
 
 void OffsetScale::init() {
-	//Level aus der ersten Zeile wird ausgelesen
-	//string buffer;
-	//unsigned int bufferInt;
+    //Level aus der ersten Zeile wird ausgelesen
+    //string buffer;
+    //unsigned int bufferInt;
 
     this->readLevel();
     levelSizes.resize(maxLevel);
@@ -41,30 +41,30 @@ void OffsetScale::init() {
             file >> scale[level][index];
     }
 
-	////Schleife zum Einlesen der Levelgroessen
-	//for(unsigned int i=1; i<= maxLevel; i++) {
-	//	getline(file,buffer);
-	//	unsigned int bufferInt = atoi(buffer.c_str()); //eingelesene Zeile wird zum Integer gecastet
+    ////Schleife zum Einlesen der Levelgroessen
+    //for(unsigned int i=1; i<= maxLevel; i++) {
+    //    getline(file,buffer);
+    //    unsigned int bufferInt = atoi(buffer.c_str()); //eingelesene Zeile wird zum Integer gecastet
  //       levelSizes.push_back(bufferInt);
-	//	getline(file,buffer); //die Zeile mit den Koordinaten muss uebersprungen werden
-	//}
-	//
-	//file.clear();
-	//file.seekg (0, ios::beg); // file wird wieder auf den Anfang gesetzt
-	//getline(file,buffer); //level wird ignoriert
+    //    getline(file,buffer); //die Zeile mit den Koordinaten muss uebersprungen werden
+    //}
+    //
+    //file.clear();
+    //file.seekg (0, ios::beg); // file wird wieder auf den Anfang gesetzt
+    //getline(file,buffer); //level wird ignoriert
 
 
-	////einlesen der Werte
+    ////einlesen der Werte
  //   scale.resize(maxLevel +1);
-	//for(unsigned lvl = 0; lvl < maxLevel; lvl++){/////////////Unterschied zu CoordNeighborGeoV:  < statt <=//////////////////////
-	//	getline(file,buffer); // Groesse ignorieren
-	//	for (unsigned int i = 0; i < levelSizes[lvl]; i++)/////////////Unterschied zu CoordNeighborGeoV:  < statt <=//////////////////////
-	//	{
-	//		file >> bufferInt;
+    //for(unsigned lvl = 0; lvl < maxLevel; lvl++){/////////////Unterschied zu CoordNeighborGeoV:  < statt <=//////////////////////
+    //    getline(file,buffer); // Groesse ignorieren
+    //    for (unsigned int i = 0; i < levelSizes[lvl]; i++)/////////////Unterschied zu CoordNeighborGeoV:  < statt <=//////////////////////
+    //    {
+    //        file >> bufferInt;
  //           scale[lvl].push_back(bufferInt);
-	//	}
-	//	getline(file, buffer);
-	//}
+    //    }
+    //    getline(file, buffer);
+    //}
 }
 
 void OffsetScale::initOffset()
@@ -86,37 +86,37 @@ void OffsetScale::initOffset()
 
 
 
-	//file.clear();
-	//file.seekg (0, ios::beg); // file wird wieder auf den Anfang gesetzt
-	////Level aus der ersten Zeile wird ausgelesen
-	//string buffer;
-	//real bufferDouble;
+    //file.clear();
+    //file.seekg (0, ios::beg); // file wird wieder auf den Anfang gesetzt
+    ////Level aus der ersten Zeile wird ausgelesen
+    //string buffer;
+    //real bufferDouble;
 
  //   this->readLevel();
 
-	////Schleife zum Einlesen der Levelgroessen
-	//for(unsigned int i=1; i<= maxLevel; i++) {
-	//	getline(file,buffer);
-	//	unsigned int bufferInt = atoi(buffer.c_str()); //eingelesene Zeile wird zum Integer gecastet
+    ////Schleife zum Einlesen der Levelgroessen
+    //for(unsigned int i=1; i<= maxLevel; i++) {
+    //    getline(file,buffer);
+    //    unsigned int bufferInt = atoi(buffer.c_str()); //eingelesene Zeile wird zum Integer gecastet
  //       levelSizes.push_back(bufferInt);
-	//	getline(file,buffer); //die Zeile mit den Koordinaten muss uebersprungen werden
-	//}
-	//
-	//file.seekg (0, ios::beg); // file wird wieder auf den Anfang gesetzt
-	//getline(file,buffer); //level wird ignoriert
-
-	////einlesen der werte
-	//offset.resize(maxLevel +1);
-	//for(unsigned lvl = 0; lvl < maxLevel; lvl++){/////////////Unterschied zu CoordNeighborGeoV:  < statt <=//////////////////////
-	//	getline(file,buffer); // Groesse ignorieren
-	//	for (unsigned int i = 0; i < levelSizes[lvl]*3; i++)/////////////Unterschied zu CoordNeighborGeoV:  < statt <=//////////////////////
-	//													  /////////////Unterschied zu Scale:  vec_Size[lvl]*3       //////////////////////
-	//	{
-	//		file >> bufferDouble;
-	//		offset[lvl].push_back(bufferDouble);
-	//	}
-	//	getline(file, buffer);
-	//}
+    //    getline(file,buffer); //die Zeile mit den Koordinaten muss uebersprungen werden
+    //}
+    //
+    //file.seekg (0, ios::beg); // file wird wieder auf den Anfang gesetzt
+    //getline(file,buffer); //level wird ignoriert
+
+    ////einlesen der werte
+    //offset.resize(maxLevel +1);
+    //for(unsigned lvl = 0; lvl < maxLevel; lvl++){/////////////Unterschied zu CoordNeighborGeoV:  < statt <=//////////////////////
+    //    getline(file,buffer); // Groesse ignorieren
+    //    for (unsigned int i = 0; i < levelSizes[lvl]*3; i++)/////////////Unterschied zu CoordNeighborGeoV:  < statt <=//////////////////////
+    //                                                      /////////////Unterschied zu Scale:  vec_Size[lvl]*3       //////////////////////
+    //    {
+    //        file >> bufferDouble;
+    //        offset[lvl].push_back(bufferDouble);
+    //    }
+    //    getline(file, buffer);
+    //}
 }
 
 
diff --git a/src/gpu/core/DataStructureInitializer/GridReaderFiles/OffsetScale.h b/src/gpu/core/DataStructureInitializer/GridReaderFiles/OffsetScale.h
index 2367a282df40b1f31b97a82615931bbe2de33fe2..1688673fd790012efd41897658c19aab6380a864 100644
--- a/src/gpu/core/DataStructureInitializer/GridReaderFiles/OffsetScale.h
+++ b/src/gpu/core/DataStructureInitializer/GridReaderFiles/OffsetScale.h
@@ -7,20 +7,20 @@
 #include "CoordNeighborGeoV.h"
 
 class OffsetScale :
-	public CoordNeighborGeoV
+    public CoordNeighborGeoV
 {
 private:
     std::vector<std::vector<real> >offset; 
     std::vector<std::vector<unsigned int> > scale;
 public:
-	OffsetScale(std::string ad, bool off);
-	~OffsetScale(void);
-	void init();
+    OffsetScale(std::string ad, bool off);
+    ~OffsetScale(void);
+    void init();
 
     void initScale(unsigned int* data, unsigned int level);
 
     void initOffset();
-	void initArrayOffset(real *x_ptr,real *y_ptr,real *z_ptr, unsigned int level);
+    void initArrayOffset(real *x_ptr,real *y_ptr,real *z_ptr, unsigned int level);
 };
 
 #endif
diff --git a/src/gpu/core/FindInterface/FindInterface.cpp b/src/gpu/core/FindInterface/FindInterface.cpp
index 9a0eae2282ca0abf11c77e6e8503c2a5b2bcc0b7..a2efa941eda46d713d42b727908b2406f77c58bc 100644
--- a/src/gpu/core/FindInterface/FindInterface.cpp
+++ b/src/gpu/core/FindInterface/FindInterface.cpp
@@ -137,9 +137,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       iC = FC_Coarse[ INTERFACE_W];               iF = FC_Fine[ INTERFACE_W];
 
       for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-      {			
+      {            
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -161,7 +161,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       jC = CF_Coarse[ INTERFACE_N];               jF = CF_Fine[ INTERFACE_N];
 
       for (hF = CF_zDefaultFine, hC = CF_zDefaultCoarse ; hF <= LzFine-4; hC++,hF+=2)
-      {			
+      {            
          for (iF = CF_xDefaultFine, iC = CF_xDefaultCoarse ; iF<=LxFine-4; iC++,iF+=2)
          {
             posCSWB=vectorPosition(iC, jC, hC, LxCoarse, LyCoarse);
@@ -178,9 +178,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       jC = FC_Coarse[ INTERFACE_N];               jF = FC_Fine[ INTERFACE_N];
 
       for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-      {			
+      {            
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -219,9 +219,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       iC = FC_Coarse[ INTERFACE_E];               iF = FC_Fine[ INTERFACE_E];
 
       for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-      {			
+      {            
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -243,7 +243,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       jC = CF_Coarse[ INTERFACE_S];               jF = CF_Fine[ INTERFACE_S];
 
       for (hF = CF_zDefaultFine, hC = CF_zDefaultCoarse ; hF <= LzFine-4; hC++,hF+=2)
-      {			
+      {            
          for (iF = CF_xDefaultFine, iC = CF_xDefaultCoarse ; iF<=LxFine-4; iC++,iF+=2)
          {
             posCSWB=vectorPosition(iC, jC, hC, LxCoarse, LyCoarse);
@@ -260,9 +260,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       jC = FC_Coarse[ INTERFACE_S];               jF = FC_Fine[ INTERFACE_S];
 
       for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-      {			
+      {            
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -301,9 +301,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_T];               hF = FC_Fine[ INTERFACE_T];
 
       for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-      {			
+      {            
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -342,9 +342,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_B];               hF = FC_Fine[ INTERFACE_B];
 
       for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-      {			
+      {            
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -424,7 +424,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       jC = FC_Coarse[ INTERFACE_N];               jF = FC_Fine[ INTERFACE_N];
 
       for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -440,7 +440,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          jC = FC_Coarse[ INTERFACE_N];               jF = FC_Fine[ INTERFACE_N];
 
          for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -457,7 +457,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          jC = FC_NCoarse[INTERFACE_N];               jF = FC_NFine[INTERFACE_N];
 
          for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -529,7 +529,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       jC = FC_Coarse[ INTERFACE_S];               jF = FC_Fine[ INTERFACE_S];
 
       for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -545,7 +545,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          jC = FC_Coarse[ INTERFACE_S];               jF = FC_Fine[ INTERFACE_S];
 
          for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -562,7 +562,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          jC = FC_NCoarse[INTERFACE_S];               jF = FC_NFine[INTERFACE_S];
 
          for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -634,7 +634,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_T];               hF = FC_Fine[ INTERFACE_T];
 
       for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -650,7 +650,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_Coarse[ INTERFACE_T];               hF = FC_Fine[ INTERFACE_T];
 
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -667,7 +667,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_NCoarse[INTERFACE_T];               hF = FC_NFine[INTERFACE_T];
 
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -739,7 +739,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_B];               hF = FC_Fine[ INTERFACE_B];
 
       for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -755,7 +755,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_Coarse[ INTERFACE_B];               hF = FC_Fine[ INTERFACE_B];
 
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -772,7 +772,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_NCoarse[INTERFACE_B];               hF = FC_NFine[INTERFACE_B];
 
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -844,7 +844,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       jC = FC_Coarse[ INTERFACE_N];               jF = FC_Fine[ INTERFACE_N];
 
       for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -860,7 +860,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          jC = FC_Coarse[ INTERFACE_N];               jF = FC_Fine[ INTERFACE_N];
 
          for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -877,7 +877,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          jC = FC_NCoarse[INTERFACE_N];               jF = FC_NFine[INTERFACE_N];
 
          for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -949,7 +949,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       jC = FC_Coarse[ INTERFACE_S];               jF = FC_Fine[ INTERFACE_S];
 
       for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -965,7 +965,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          jC = FC_Coarse[ INTERFACE_S];               jF = FC_Fine[ INTERFACE_S];
 
          for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -982,7 +982,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          jC = FC_NCoarse[INTERFACE_S];               jF = FC_NFine[INTERFACE_S];
 
          for (hF = FC_zDefaultFine, hC = FC_zDefaultCoarse ; hF<=LzFine-7; hC++,hF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1054,7 +1054,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_T];               hF = FC_Fine[ INTERFACE_T];
 
       for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1070,7 +1070,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_Coarse[ INTERFACE_T];               hF = FC_Fine[ INTERFACE_T];
 
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1087,7 +1087,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_NCoarse[INTERFACE_T];               hF = FC_NFine[INTERFACE_T];
 
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1159,7 +1159,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_B];               hF = FC_Fine[ INTERFACE_B];
 
       for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1175,7 +1175,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_Coarse[ INTERFACE_B];               hF = FC_Fine[ INTERFACE_B];
 
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1192,7 +1192,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_NCoarse[INTERFACE_B];               hF = FC_NFine[INTERFACE_B];
 
          for (jF = FC_yDefaultFine, jC = FC_yDefaultCoarse ; jF<=LyFine-7; jC++,jF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1264,7 +1264,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_T];               hF = FC_Fine[ INTERFACE_T];
 
       for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1280,7 +1280,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_Coarse[ INTERFACE_T];               hF = FC_Fine[ INTERFACE_T];
 
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1297,7 +1297,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_NCoarse[INTERFACE_T];               hF = FC_NFine[INTERFACE_T];
 
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1369,7 +1369,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_B];               hF = FC_Fine[ INTERFACE_B];
 
       for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1385,7 +1385,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_Coarse[ INTERFACE_B];               hF = FC_Fine[ INTERFACE_B];
 
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1402,7 +1402,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_NCoarse[INTERFACE_B];               hF = FC_NFine[INTERFACE_B];
 
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1474,7 +1474,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_T];               hF = FC_Fine[ INTERFACE_T];
 
       for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1490,7 +1490,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_Coarse[ INTERFACE_T];               hF = FC_Fine[ INTERFACE_T];
 
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1507,7 +1507,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_NCoarse[INTERFACE_T];               hF = FC_NFine[INTERFACE_T];
 
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1579,7 +1579,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
       hC = FC_Coarse[ INTERFACE_B];               hF = FC_Fine[ INTERFACE_B];
 
       for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-      {			
+      {            
          posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
          posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
          intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1595,7 +1595,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_Coarse[ INTERFACE_B];               hF = FC_Fine[ INTERFACE_B];
 
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -1612,7 +1612,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
          hC = FC_NCoarse[INTERFACE_B];               hF = FC_NFine[INTERFACE_B];
 
          for (iF = FC_xDefaultFine, iC = FC_xDefaultCoarse ; iF<=LxFine-7; iC++,iF+=2)
-         {			
+         {            
             posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
             posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
             intFC.coarseCellIndices[intFC.numberOfCells] = kCoarse[posC];
@@ -2942,9 +2942,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz + 2;                               hF = 3;
 //
 //      for (hF = 3, hC = dNz + 2 ; hF<=LzFine-5; hC++,hF+=2)
-//      {			
+//      {            
 //         for (jF = 3, jC = dNy + 2 ; jF<=LyFine-5; jC++,jF+=2)
-//         {			
+//         {            
 //            posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
 //            posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
 //            intFC.ICellFCC[intFC.kFC] = kCoarse[posC];
@@ -2968,7 +2968,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz;                                   hF = 0;
 //
 //      for (hF = 0, hC = dNz ; hF <= LzFine-2; hC++,hF+=2)
-//      {			
+//      {            
 //         for (iF = 0 , iC = dNx ; iF<=LxFine-2; iC++,iF+=2)
 //         {
 //            posCSWB=vectorPosition(iC, jC, hC, LxCoarse, LyCoarse);
@@ -2987,9 +2987,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz + 2;                               hF = 3;
 //
 //      for (hF = 3, hC = dNz + 2 ; hF<=LzFine-5; hC++,hF+=2)
-//      {			
+//      {            
 //         for (iF = 3, iC = dNx + 2 ; iF<=LxFine-5; iC++,iF+=2)
-//         {			
+//         {            
 //            posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
 //            posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
 //            intFC.ICellFCC[intFC.kFC] = kCoarse[posC];
@@ -3013,7 +3013,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz;                                   hF = 0;
 //
 //      for (hF = 0, hC = dNz ; hF<=LzFine-2; hC++,hF+=2)
-//      {			
+//      {            
 //         for (jF = 0, jC = dNy ; jF<=LyFine-2; jC++,jF+=2)
 //         {
 //            posCSWB=vectorPosition(iC, jC, hC, LxCoarse, LyCoarse);
@@ -3032,9 +3032,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz + 2;              hF = 3;
 //
 //      for (hF = 3, hC = dNz + 2 ; hF<=LzFine-5; hC++,hF+=2)
-//      {			
+//      {            
 //         for (jF = 3, jC = dNy + 2 ; jF<=LyFine-5; jC++,jF+=2)
-//         {			
+//         {            
 //            posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
 //            posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
 //            intFC.ICellFCC[intFC.kFC] = kCoarse[posC];
@@ -3058,7 +3058,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz;                                   hF = 0;
 //
 //      for (hF = 0, hC = dNz ; hF <= LzFine-2; hC++,hF+=2)
-//      {			
+//      {            
 //         for (iF = 0, iC = dNx ; iF<=LxFine-2; iC++,iF+=2)
 //         {
 //            posCSWB=vectorPosition(iC, jC, hC, LxCoarse, LyCoarse);
@@ -3077,9 +3077,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz + 2;                               hF = 3;
 //
 //      for (hF = 3, hC = dNz + 2 ; hF<=LzFine-5; hC++,hF+=2)
-//      {			
+//      {            
 //         for (iF = 3, iC = dNx + 2 ; iF<=LxFine-5; iC++,iF+=2)
-//         {			
+//         {            
 //            posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
 //            posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
 //            intFC.ICellFCC[intFC.kFC] = kCoarse[posC];
@@ -3122,9 +3122,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz + 2;                               hF = 3;
 //
 //      for (jF = 3, jC = dNy + 2 ; jF<=LyFine-5; jC++,jF+=2)
-//      {			
+//      {            
 //         for (iF = 3, iC = dNx + 2 ; iF<=LxFine-5; iC++,iF+=2)
-//         {			
+//         {            
 //            posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
 //            posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
 //            intFC.ICellFCC[intFC.kFC] = kCoarse[posC];
@@ -3148,7 +3148,7 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz + LzFine/2 -1;                     hF = LzFine - 2;
 //
 //      for (jF = 0, jC = dNy ; jF<=LyFine-2; jC++,jF+=2)
-//      {			
+//      {            
 //         for (iF = 0, iC = dNx ; iF<=LxFine-2; iC++,iF+=2)
 //         {
 //            posCSWB=vectorPosition(iC, jC, hC, LxCoarse, LyCoarse);
@@ -3167,9 +3167,9 @@ void interpolation(InterpolationCells &intCF, InterpolationCells &intFC,
 //      hC = dNz + LzFine/2 - 2;                    hF = LzFine - 5;
 //
 //      for (jF = 3, jC = dNy + 2 ; jF<=LyFine-5; jC++,jF+=2)
-//      {			
+//      {            
 //         for (iF = 3, iC = dNx + 2 ; iF<=LxFine-5; iC++,iF+=2)
-//         {			
+//         {            
 //            posC=vectorPosition(   iC, jC, hC, LxCoarse, LyCoarse);
 //            posFSWB=vectorPosition(iF, jF, hF, LxFine,   LyFine);
 //            intFC.ICellFCC[intFC.kFC] = kCoarse[posC];
diff --git a/src/gpu/core/FindQ/DefineBCs.cpp b/src/gpu/core/FindQ/DefineBCs.cpp
index d36d3f9a58246eb344a90a21709314ade414378c..3aab8a8cb628ad0da30f366b0371363c2dfcfef9 100644
--- a/src/gpu/core/FindQ/DefineBCs.cpp
+++ b/src/gpu/core/FindQ/DefineBCs.cpp
@@ -3,23 +3,23 @@
 
 void findPressQShip(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	//x = begin (0)
-	findKforQPressX0(para, para->getCoarse());
-	cudaMemoryManager->cudaAllocPressX0(para->getCoarse());
-	findQPressX0(para, para->getCoarse());
-	cudaMemoryManager->cudaCopyPressX0(para->getCoarse());
-	//x = end (1)
-	findKforQPressX1(para, para->getCoarse());
-	cudaMemoryManager->cudaAllocPressX1(para->getCoarse());
-	findQPressX1(para, para->getCoarse());
-	cudaMemoryManager->cudaCopyPressX1(para->getCoarse());
-	//for (int lev = para->getFine(); lev >= para->getCoarse(); lev--)
-	//{
-	//	findKforQPressX1(para, lev);
-	//	para->cudaAllocPressX1(lev);
-	//	findQPressX1(para, lev);
-	//	para->cudaCopyPressX1(lev);
-	//}
+    //x = begin (0)
+    findKforQPressX0(para, para->getCoarse());
+    cudaMemoryManager->cudaAllocPressX0(para->getCoarse());
+    findQPressX0(para, para->getCoarse());
+    cudaMemoryManager->cudaCopyPressX0(para->getCoarse());
+    //x = end (1)
+    findKforQPressX1(para, para->getCoarse());
+    cudaMemoryManager->cudaAllocPressX1(para->getCoarse());
+    findQPressX1(para, para->getCoarse());
+    cudaMemoryManager->cudaCopyPressX1(para->getCoarse());
+    //for (int lev = para->getFine(); lev >= para->getCoarse(); lev--)
+    //{
+    //    findKforQPressX1(para, lev);
+    //    para->cudaAllocPressX1(lev);
+    //    findQPressX1(para, lev);
+    //    para->cudaCopyPressX1(lev);
+    //}
 }
 
 
@@ -30,16 +30,16 @@ void findQ27(Parameter* para, CudaMemoryManager* cudaMemoryManager)
    for (int lev = para->getFine(); lev >= para->getCoarse(); lev--)
    {
       findKforQ(para, lev);
-	   para->getParD(lev)->noSlipBC.numberOfBCnodes = para->getParH(lev)->noSlipBC.numberOfBCnodes;
+       para->getParD(lev)->noSlipBC.numberOfBCnodes = para->getParH(lev)->noSlipBC.numberOfBCnodes;
       printf("numberOfBCnodes= %d\n", para->getParH(lev)->noSlipBC.numberOfBCnodes);
 
-	  cudaMemoryManager->cudaAllocNoSlipBC(lev);
+      cudaMemoryManager->cudaAllocNoSlipBC(lev);
 
       findQ(para, lev);
- 	  para->getParD(lev)->noSlipBC.numberOfBCnodes = para->getParH(lev)->noSlipBC.numberOfBCnodes;
+       para->getParD(lev)->noSlipBC.numberOfBCnodes = para->getParH(lev)->noSlipBC.numberOfBCnodes;
       printf("numberOfBCnodes= %d\n", para->getParH(lev)->noSlipBC.numberOfBCnodes);
 
-	  cudaMemoryManager->cudaCopyNoSlipBC(lev);
+      cudaMemoryManager->cudaCopyNoSlipBC(lev);
    }
 }
 
@@ -56,11 +56,11 @@ void findBC27(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 
       printf("numberOfVeloBCnodes= %d\n", para->getParH(para->getCoarse())->velocityBC.numberOfBCnodes);
 
-	  cudaMemoryManager->cudaAllocVeloBC(0); //level = 0
+      cudaMemoryManager->cudaAllocVeloBC(0); //level = 0
 
       findQInflow(para);
 
-	  cudaMemoryManager->cudaCopyVeloBC(0); //level = 0
+      cudaMemoryManager->cudaCopyVeloBC(0); //level = 0
    }
 
     // TODO: https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/29
@@ -69,15 +69,15 @@ void findBC27(Parameter* para, CudaMemoryManager* cudaMemoryManager)
    //{
    //   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //   //Outflow
-	  // findKforQOutflow(para);
+      // findKforQOutflow(para);
 
-	  // printf("numberOfOutflowBCnodes= %d\n", para->getParH(para->getCoarse())->outflowBC.numberOfBCnodes);
+      // printf("numberOfOutflowBCnodes= %d\n", para->getParH(para->getCoarse())->outflowBC.numberOfBCnodes);
 
-	  // para->cudaAllocPressBC();
+      // para->cudaAllocPressBC();
 
-	  // findQOutflow(para);
+      // findQOutflow(para);
 
-	  // para->cudaCopyPressBC();
+      // para->cudaCopyPressBC();
    //}
 
 
diff --git a/src/gpu/core/FindQ/FindQ.cpp b/src/gpu/core/FindQ/FindQ.cpp
index a961fdf71e2f518c8cb41c0d57fe9c87616ec7d4..469bc0c05fa706175ab553bf1583503eb41f5c54 100644
--- a/src/gpu/core/FindQ/FindQ.cpp
+++ b/src/gpu/core/FindQ/FindQ.cpp
@@ -488,7 +488,7 @@ void findQInflow(Parameter* para)
             if(geo_mat[m]==GEO_FLUID){
                QIN.k[QIN.numberOfBCnodes]          = kk[m];
                //vx[QIN.numberOfBCnodes]             = (real)0.f;
-			   vx[QIN.numberOfBCnodes]             = u0;
+               vx[QIN.numberOfBCnodes]             = u0;
                vy[QIN.numberOfBCnodes]             = (real)0.f;
                vz[QIN.numberOfBCnodes]             = (real)0.f;
                //vz[QIN.numberOfBCnodes]             = u0;
@@ -496,7 +496,7 @@ void findQInflow(Parameter* para)
                //vz[QIN.numberOfBCnodes]             = (real)(16.f*(u0*2.f)*(i-(STARTOFFX+1)-0.5f)*(li-1.5f-(i-(STARTOFFX+1)))*(j-(STARTOFFY+1)-0.5f)*(lj-1.5f-(j-(STARTOFFY+1))))/(li*lj*li*lj);
                //vz[QIN.numberOfBCnodes]             = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny);
                deltaVz[QIN.numberOfBCnodes]        = (real)0.f;
-			   //////////////////////////////////////////////////////////////////////////
+               //////////////////////////////////////////////////////////////////////////
                //Q.q27[dP00   ][QIN.numberOfBCnodes] = (real)-1.f;
                //Q.q27[dM00   ][QIN.numberOfBCnodes] = (real)-1.f;
                //Q.q27[d0P0   ][QIN.numberOfBCnodes] = (real)-1.f;
@@ -524,42 +524,42 @@ void findQInflow(Parameter* para)
                //Q.q27[dMMM ][QIN.numberOfBCnodes] = (real)1.f;
                //Q.q27[dPMM ][QIN.numberOfBCnodes] = (real)1.f;
                //Q.q27[dMPM ][QIN.numberOfBCnodes] = (real)1.f;
-			   //////////////////////////////////////////////////////////////////////////
+               //////////////////////////////////////////////////////////////////////////
 
 
                // ! CAUTION ! Do not use this function!
    // As the order of the distributions was changed in July 2022, this does not work anymore.
    // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/14
 
-			   Q.q27[dP00   ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dM00   ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[d0P0   ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[d0M0   ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[d00P   ][QIN.numberOfBCnodes] = (real)1.f;
-			   Q.q27[d00M   ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dPP0  ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dMM0  ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dPM0  ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dMP0  ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dP0P  ][QIN.numberOfBCnodes] = (real)1.f;
-			   Q.q27[dM0M  ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dP0M  ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dM0P  ][QIN.numberOfBCnodes] = (real)1.f;
-			   Q.q27[d0PP  ][QIN.numberOfBCnodes] = (real)1.f;
-			   Q.q27[d0MM  ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[d0PM  ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[d0MP  ][QIN.numberOfBCnodes] = (real)1.f;
-			   Q.q27[d000][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dPPP ][QIN.numberOfBCnodes] = (real)1.f;
-			   Q.q27[dMMP ][QIN.numberOfBCnodes] = (real)1.f;
-			   Q.q27[dPMP ][QIN.numberOfBCnodes] = (real)1.f;
-			   Q.q27[dMPP ][QIN.numberOfBCnodes] = (real)1.f;
-			   Q.q27[dPPM ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dMMM ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dPMM ][QIN.numberOfBCnodes] = (real)-1.f;
-			   Q.q27[dMPM ][QIN.numberOfBCnodes] = (real)-1.f;
-			   //////////////////////////////////////////////////////////////////////////
-			   QIN.numberOfBCnodes++;
+               Q.q27[dP00   ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dM00   ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[d0P0   ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[d0M0   ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[d00P   ][QIN.numberOfBCnodes] = (real)1.f;
+               Q.q27[d00M   ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dPP0  ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dMM0  ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dPM0  ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dMP0  ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dP0P  ][QIN.numberOfBCnodes] = (real)1.f;
+               Q.q27[dM0M  ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dP0M  ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dM0P  ][QIN.numberOfBCnodes] = (real)1.f;
+               Q.q27[d0PP  ][QIN.numberOfBCnodes] = (real)1.f;
+               Q.q27[d0MM  ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[d0PM  ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[d0MP  ][QIN.numberOfBCnodes] = (real)1.f;
+               Q.q27[d000][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dPPP ][QIN.numberOfBCnodes] = (real)1.f;
+               Q.q27[dMMP ][QIN.numberOfBCnodes] = (real)1.f;
+               Q.q27[dPMP ][QIN.numberOfBCnodes] = (real)1.f;
+               Q.q27[dMPP ][QIN.numberOfBCnodes] = (real)1.f;
+               Q.q27[dPPM ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dMMM ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dPMM ][QIN.numberOfBCnodes] = (real)-1.f;
+               Q.q27[dMPM ][QIN.numberOfBCnodes] = (real)-1.f;
+               //////////////////////////////////////////////////////////////////////////
+               QIN.numberOfBCnodes++;
             }
        }
    }
@@ -737,7 +737,7 @@ void findKforQInflow(Parameter* para)
                }
                if (test>0)
                {
-				   QIN.numberOfBCnodes++;
+                   QIN.numberOfBCnodes++;
                }
             }
          }
@@ -857,7 +857,7 @@ void findQOutflow(Parameter* para)
                rhoBC[QIN.numberOfBCnodes]          = (real)0.f;
                vx[QIN.numberOfBCnodes]             = (real)0.f;
                vy[QIN.numberOfBCnodes]             = (real)0.f;
-			   //vz[QIN.numberOfBCnodes]             = u0;
+               //vz[QIN.numberOfBCnodes]             = u0;
                vz[QIN.numberOfBCnodes]             = (real)(u0*2.f)*((-4.f*i*i + nnx*(-2.f - 4.f*STARTOFFX) - 4.f*(-1.5f + STARTOFFX)*(0.5f + STARTOFFX) + i*(-4.f + 4.f*nnx + 8.f*STARTOFFX))*(-4.f*j*j + nny*(-2.f - 4.f*STARTOFFY) - 4.f*(-1.5f + STARTOFFY)*(0.5f + STARTOFFY) + j*(-4.f + 4.f*nny + 8.f*STARTOFFY)))/((2.f - nnx)*(2.f - nnx)*(2.f - nny)*(2.f - nny));
                //vz[QIN.numberOfBCnodes]             =  (real)(16.f*(u0*2.f)*(i-(STARTOFFX+1)-0.5f)*(li-1.5f-(i-(STARTOFFX+1)))*(j-(STARTOFFY+1)-0.5f)*(lj-1.5f-(j-(STARTOFFY+1))))/(li*lj*li*lj);
                //vz[QIN.numberOfBCnodes]             = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny);
@@ -1068,114 +1068,114 @@ void findQPressX0(Parameter* para, int lev)
    // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/14
     VF_LOG_CRITICAL("findKforQPressX0() is deprecated! - see comment above for more information");
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//////////////  dP00   dM00   d0P0   d0M0   d00P   d00M  dPP0  dMM0  dPM0  dMP0  dP0P  dM0M  dP0M  dM0P  d0PP  d0MM  d0PM  d0MP ZERO dPPP dPPM dPMP dPMM dMPP dMPM dMMP dMMM  ////////////////////////
-	//int   ex[27]={  1, -1,  0,  0,  0,  0,  1, -1,  1, -1,  1, -1,  1, -1,  0,  0,  0,  0,   0,  1,  1,  1,  1, -1, -1, -1, -1};
-	//int   ey[27]={  0,  0,  1, -1,  0,  0,  1, -1, -1,  1,  0,  0,  0,  0,  1, -1,  1, -1,   0,  1,  1, -1, -1,  1,  1, -1, -1};
-	//int   ez[27]={  0,  0,  0,  0,  1, -1,  0,  0,  0,  0,  1, -1, -1,  1,  1, -1, -1,  1,   0,  1, -1,  1, -1,  1, -1,  1, -1};
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	unsigned int i, j, k, m;
-	int nx                        = para->getParH(lev)->nx;
-	int ny                        = para->getParH(lev)->ny;
-	unsigned int nnx              = para->getParH(lev)->gridNX;
-	unsigned int nny              = para->getParH(lev)->gridNY;
-	unsigned int nnz              = para->getParH(lev)->gridNZ;
-	int* geo_mat                  = para->getParH(lev)->geo;
-	unsigned int* kk              = para->getParH(lev)->k;
-	//unsigned int sizeQ            = para->getParH(lev)->outflowBC.numberOfBCnodes;
-	unsigned int sizeQ            = para->getParH(lev)->QpressX0.numberOfBCnodes;
-	real* rhoBC                = para->getParH(lev)->QpressX0.RhoBC;
-	real u0                    = para->getVelocity();
-	real* vx                   = para->getParH(lev)->QpressX0.Vx;
-	real* vy                   = para->getParH(lev)->QpressX0.Vy;
-	real* vz                   = para->getParH(lev)->QpressX0.Vz;
-	real*deltaVz               = para->getParH(lev)->QpressX0.deltaVz;
-	real* QQ                   = para->getParH(lev)->QpressX0.q27[0];
-	QforBoundaryConditions &QIN   = para->getParH(lev)->QpressX0;
-	//unsigned int nxny = nx*ny;
-	QIN.numberOfBCnodes = 0;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	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];
-
-
-	//unsigned int li = ((nnx+STARTOFFX-2)-(STARTOFFX+1)-1);
-	//unsigned int lj = ((nny+STARTOFFY-2)-(STARTOFFY+1)-1);
-
-	i=STARTOFFX+1;
-	//k=nnz+STARTOFFZ-3;
-	for(k=STARTOFFZ+1 ; k<=nnz+STARTOFFZ-2 ; k++){
-		for(j=STARTOFFY+1 ; j<=nny+STARTOFFY-2 ; j++){
-			//for(i=STARTOFFX+1; i<=nnx+STARTOFFX-2 ; i++){
-			m = nx*(ny*k + j) + i;
-			if(geo_mat[m]==GEO_FLUID){
-				QIN.k[QIN.numberOfBCnodes]          = kk[m];
-				QIN.kN[QIN.numberOfBCnodes]         = kk[m+1];
-				rhoBC[QIN.numberOfBCnodes]          = (real)0.f;
-				vx[QIN.numberOfBCnodes]             = (real)0.f;
-				vy[QIN.numberOfBCnodes]             = (real)0.f;
-				//vz[QIN.numberOfBCnodes]             = u0;
-				vz[QIN.numberOfBCnodes]             = (real)(u0*2.f)*((-4.f*i*i + nnx*(-2.f - 4.f*STARTOFFX) - 4.f*(-1.5f + STARTOFFX)*(0.5f + STARTOFFX) + i*(-4.f + 4.f*nnx + 8.f*STARTOFFX))*(-4.f*j*j + nny*(-2.f - 4.f*STARTOFFY) - 4.f*(-1.5f + STARTOFFY)*(0.5f + STARTOFFY) + j*(-4.f + 4.f*nny + 8.f*STARTOFFY)))/((2.f - nnx)*(2.f - nnx)*(2.f - nny)*(2.f - nny));
-				//vz[QIN.numberOfBCnodes]             =  (real)(16.f*(u0*2.f)*(i-(STARTOFFX+1)-0.5f)*(li-1.5f-(i-(STARTOFFX+1)))*(j-(STARTOFFY+1)-0.5f)*(lj-1.5f-(j-(STARTOFFY+1))))/(li*lj*li*lj);
-				//vz[QIN.numberOfBCnodes]             = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny);
-				deltaVz[QIN.numberOfBCnodes]        = (real)0.f;
-				Q.q27[dP00   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dM00   ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[d0P0   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0M0   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d00P   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d00M   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dPP0  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dMM0  ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dPM0  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dMP0  ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dP0P  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dM0M  ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dP0M  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dM0P  ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[d0PP  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0MM  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0PM  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0MP  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d000][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dPPP ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dMMP ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dPMP ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dMPP ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dPPM ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dMMM ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dPMM ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dMPM ][QIN.numberOfBCnodes] = (real)1.f;
-				QIN.numberOfBCnodes++;
-			}
-		}
-	}
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //////////////  dP00   dM00   d0P0   d0M0   d00P   d00M  dPP0  dMM0  dPM0  dMP0  dP0P  dM0M  dP0M  dM0P  d0PP  d0MM  d0PM  d0MP ZERO dPPP dPPM dPMP dPMM dMPP dMPM dMMP dMMM  ////////////////////////
+    //int   ex[27]={  1, -1,  0,  0,  0,  0,  1, -1,  1, -1,  1, -1,  1, -1,  0,  0,  0,  0,   0,  1,  1,  1,  1, -1, -1, -1, -1};
+    //int   ey[27]={  0,  0,  1, -1,  0,  0,  1, -1, -1,  1,  0,  0,  0,  0,  1, -1,  1, -1,   0,  1,  1, -1, -1,  1,  1, -1, -1};
+    //int   ez[27]={  0,  0,  0,  0,  1, -1,  0,  0,  0,  0,  1, -1, -1,  1,  1, -1, -1,  1,   0,  1, -1,  1, -1,  1, -1,  1, -1};
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    unsigned int i, j, k, m;
+    int nx                        = para->getParH(lev)->nx;
+    int ny                        = para->getParH(lev)->ny;
+    unsigned int nnx              = para->getParH(lev)->gridNX;
+    unsigned int nny              = para->getParH(lev)->gridNY;
+    unsigned int nnz              = para->getParH(lev)->gridNZ;
+    int* geo_mat                  = para->getParH(lev)->geo;
+    unsigned int* kk              = para->getParH(lev)->k;
+    //unsigned int sizeQ            = para->getParH(lev)->outflowBC.numberOfBCnodes;
+    unsigned int sizeQ            = para->getParH(lev)->QpressX0.numberOfBCnodes;
+    real* rhoBC                = para->getParH(lev)->QpressX0.RhoBC;
+    real u0                    = para->getVelocity();
+    real* vx                   = para->getParH(lev)->QpressX0.Vx;
+    real* vy                   = para->getParH(lev)->QpressX0.Vy;
+    real* vz                   = para->getParH(lev)->QpressX0.Vz;
+    real*deltaVz               = para->getParH(lev)->QpressX0.deltaVz;
+    real* QQ                   = para->getParH(lev)->QpressX0.q27[0];
+    QforBoundaryConditions &QIN   = para->getParH(lev)->QpressX0;
+    //unsigned int nxny = nx*ny;
+    QIN.numberOfBCnodes = 0;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    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];
+
+
+    //unsigned int li = ((nnx+STARTOFFX-2)-(STARTOFFX+1)-1);
+    //unsigned int lj = ((nny+STARTOFFY-2)-(STARTOFFY+1)-1);
+
+    i=STARTOFFX+1;
+    //k=nnz+STARTOFFZ-3;
+    for(k=STARTOFFZ+1 ; k<=nnz+STARTOFFZ-2 ; k++){
+        for(j=STARTOFFY+1 ; j<=nny+STARTOFFY-2 ; j++){
+            //for(i=STARTOFFX+1; i<=nnx+STARTOFFX-2 ; i++){
+            m = nx*(ny*k + j) + i;
+            if(geo_mat[m]==GEO_FLUID){
+                QIN.k[QIN.numberOfBCnodes]          = kk[m];
+                QIN.kN[QIN.numberOfBCnodes]         = kk[m+1];
+                rhoBC[QIN.numberOfBCnodes]          = (real)0.f;
+                vx[QIN.numberOfBCnodes]             = (real)0.f;
+                vy[QIN.numberOfBCnodes]             = (real)0.f;
+                //vz[QIN.numberOfBCnodes]             = u0;
+                vz[QIN.numberOfBCnodes]             = (real)(u0*2.f)*((-4.f*i*i + nnx*(-2.f - 4.f*STARTOFFX) - 4.f*(-1.5f + STARTOFFX)*(0.5f + STARTOFFX) + i*(-4.f + 4.f*nnx + 8.f*STARTOFFX))*(-4.f*j*j + nny*(-2.f - 4.f*STARTOFFY) - 4.f*(-1.5f + STARTOFFY)*(0.5f + STARTOFFY) + j*(-4.f + 4.f*nny + 8.f*STARTOFFY)))/((2.f - nnx)*(2.f - nnx)*(2.f - nny)*(2.f - nny));
+                //vz[QIN.numberOfBCnodes]             =  (real)(16.f*(u0*2.f)*(i-(STARTOFFX+1)-0.5f)*(li-1.5f-(i-(STARTOFFX+1)))*(j-(STARTOFFY+1)-0.5f)*(lj-1.5f-(j-(STARTOFFY+1))))/(li*lj*li*lj);
+                //vz[QIN.numberOfBCnodes]             = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny);
+                deltaVz[QIN.numberOfBCnodes]        = (real)0.f;
+                Q.q27[dP00   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dM00   ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[d0P0   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0M0   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d00P   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d00M   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dPP0  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dMM0  ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dPM0  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dMP0  ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dP0P  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dM0M  ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dP0M  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dM0P  ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[d0PP  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0MM  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0PM  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0MP  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d000][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dPPP ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dMMP ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dPMP ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dMPP ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dPPM ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dMMM ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dPMM ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dMPM ][QIN.numberOfBCnodes] = (real)1.f;
+                QIN.numberOfBCnodes++;
+            }
+        }
+    }
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -1186,53 +1186,53 @@ void findKforQPressX0(Parameter* para, int lev)
    // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/14
     VF_LOG_CRITICAL("findKforQPressX0() is deprecated! - see comment above for more information");
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//////////////  dP00   dM00   d0P0   d0M0   d00P   d00M  dPP0  dMM0  dPM0  dMP0  dP0P  dM0M  dP0M  dM0P  d0PP  d0MM  d0PM  d0MP ZERO dPPP dPPM dPMP dPMM dMPP dMPM dMMP dMMM  ////////////////////////
-	//int   ex[27]={  1, -1,  0,  0,  0,  0,  1, -1,  1, -1,  1, -1,  1, -1,  0,  0,  0,  0,   0,  1,  1,  1,  1, -1, -1, -1, -1};
-	//int   ey[27]={  0,  0,  1, -1,  0,  0,  1, -1, -1,  1,  0,  0,  0,  0,  1, -1,  1, -1,   0,  1,  1, -1, -1,  1,  1, -1, -1};
-	int   ez[27]={  0,  0,  0,  0,  1, -1,  0,  0,  0,  0,  1, -1, -1,  1,  1, -1, -1,  1,   0,  1, -1,  1, -1,  1, -1,  1, -1};
-	real ON[27];
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //////////////  dP00   dM00   d0P0   d0M0   d00P   d00M  dPP0  dMM0  dPM0  dMP0  dP0P  dM0M  dP0M  dM0P  d0PP  d0MM  d0PM  d0MP ZERO dPPP dPPM dPMP dPMM dMPP dMPM dMMP dMMM  ////////////////////////
+    //int   ex[27]={  1, -1,  0,  0,  0,  0,  1, -1,  1, -1,  1, -1,  1, -1,  0,  0,  0,  0,   0,  1,  1,  1,  1, -1, -1, -1, -1};
+    //int   ey[27]={  0,  0,  1, -1,  0,  0,  1, -1, -1,  1,  0,  0,  0,  0,  1, -1,  1, -1,   0,  1,  1, -1, -1,  1,  1, -1, -1};
+    int   ez[27]={  0,  0,  0,  0,  1, -1,  0,  0,  0,  0,  1, -1, -1,  1,  1, -1, -1,  1,   0,  1, -1,  1, -1,  1, -1,  1, -1};
+    real ON[27];
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //unsigned int mm;
-	unsigned int i, j, k, m, l;
-	real test = (real) 0.f;
-	int nx                        = para->getParH(lev)->nx;
-	int ny                        = para->getParH(lev)->ny;
-	//unsigned int nnx              = para->getParH(lev)->gridNX;
-	unsigned int nny              = para->getParH(lev)->gridNY;
-	unsigned int nnz              = para->getParH(lev)->gridNZ;
-	int* geo_mat                  = para->getParH(lev)->geo;
-	QforBoundaryConditions &QIN   = para->getParH(lev)->QpressX0;
-	QIN.numberOfBCnodes = 0;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	i=STARTOFFX+1;
-	//k=nnz+STARTOFFZ-3;
-	{
-	for(k=STARTOFFZ+1 ; k<=nnz+STARTOFFZ-2 ; k++){
-		for(j=STARTOFFY+1 ; j<=nny+STARTOFFY-2 ; j++){
-			//for(i=STARTOFFX+1; i<=nnx+STARTOFFX-2 ; i++){
-				m = nx*(ny*k + j) + i;
-				if(geo_mat[m]==GEO_FLUID){
-					test = (real)0.f;
-					for(l=0;l<=26;l++){
-						//mm = nx*(ny*(k+ez[l]) + (j+ey[l])) + (i+ex[l]);
-						if(ez[l]==1){
-							ON[l] = (real) 1.f;
-						}
-						else{
-							ON[l] = (real) 0.f;
-						}
-						test += ON[l];
-					}
-					if (test>0)
-					{
-						QIN.numberOfBCnodes++;
-					}
-				}
-			}
-		}
-	}
+    unsigned int i, j, k, m, l;
+    real test = (real) 0.f;
+    int nx                        = para->getParH(lev)->nx;
+    int ny                        = para->getParH(lev)->ny;
+    //unsigned int nnx              = para->getParH(lev)->gridNX;
+    unsigned int nny              = para->getParH(lev)->gridNY;
+    unsigned int nnz              = para->getParH(lev)->gridNZ;
+    int* geo_mat                  = para->getParH(lev)->geo;
+    QforBoundaryConditions &QIN   = para->getParH(lev)->QpressX0;
+    QIN.numberOfBCnodes = 0;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+    i=STARTOFFX+1;
+    //k=nnz+STARTOFFZ-3;
+    {
+    for(k=STARTOFFZ+1 ; k<=nnz+STARTOFFZ-2 ; k++){
+        for(j=STARTOFFY+1 ; j<=nny+STARTOFFY-2 ; j++){
+            //for(i=STARTOFFX+1; i<=nnx+STARTOFFX-2 ; i++){
+                m = nx*(ny*k + j) + i;
+                if(geo_mat[m]==GEO_FLUID){
+                    test = (real)0.f;
+                    for(l=0;l<=26;l++){
+                        //mm = nx*(ny*(k+ez[l]) + (j+ey[l])) + (i+ex[l]);
+                        if(ez[l]==1){
+                            ON[l] = (real) 1.f;
+                        }
+                        else{
+                            ON[l] = (real) 0.f;
+                        }
+                        test += ON[l];
+                    }
+                    if (test>0)
+                    {
+                        QIN.numberOfBCnodes++;
+                    }
+                }
+            }
+        }
+    }
 }
 
 
@@ -1244,114 +1244,114 @@ void findQPressX1(Parameter* para, int lev)
    // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/14
     VF_LOG_CRITICAL("findQPressX1() is deprecated! - see comment above for more information");
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//////////////  dP00   dM00   d0P0   d0M0   d00P   d00M  dPP0  dMM0  dPM0  dMP0  dP0P  dM0M  dP0M  dM0P  d0PP  d0MM  d0PM  d0MP ZERO dPPP dPPM dPMP dPMM dMPP dMPM dMMP dMMM  ////////////////////////
-	//int   ex[27]={  1, -1,  0,  0,  0,  0,  1, -1,  1, -1,  1, -1,  1, -1,  0,  0,  0,  0,   0,  1,  1,  1,  1, -1, -1, -1, -1};
-	//int   ey[27]={  0,  0,  1, -1,  0,  0,  1, -1, -1,  1,  0,  0,  0,  0,  1, -1,  1, -1,   0,  1,  1, -1, -1,  1,  1, -1, -1};
-	//int   ez[27]={  0,  0,  0,  0,  1, -1,  0,  0,  0,  0,  1, -1, -1,  1,  1, -1, -1,  1,   0,  1, -1,  1, -1,  1, -1,  1, -1};
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	unsigned int i, j, k, m;
-	int nx                        = para->getParH(lev)->nx;
-	int ny                        = para->getParH(lev)->ny;
-	unsigned int nnx              = para->getParH(lev)->gridNX;
-	unsigned int nny              = para->getParH(lev)->gridNY;
-	unsigned int nnz              = para->getParH(lev)->gridNZ;
-	int* geo_mat                  = para->getParH(lev)->geo;
-	unsigned int* kk              = para->getParH(lev)->k;
-	//unsigned int sizeQ            = para->getParH(lev)->outflowBC.numberOfBCnodes;
-	unsigned int sizeQ            = para->getParH(lev)->QpressX1.numberOfBCnodes;
-	real* rhoBC                = para->getParH(lev)->QpressX1.RhoBC;
-	real u0                    = para->getVelocity();
-	real* vx                   = para->getParH(lev)->QpressX1.Vx;
-	real* vy                   = para->getParH(lev)->QpressX1.Vy;
-	real* vz                   = para->getParH(lev)->QpressX1.Vz;
-	real*deltaVz               = para->getParH(lev)->QpressX1.deltaVz;
-	real* QQ                   = para->getParH(lev)->QpressX1.q27[0];
-	QforBoundaryConditions &QIN   = para->getParH(lev)->QpressX1;
-	//unsigned int nxny = nx*ny;
-	QIN.numberOfBCnodes = 0;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	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];
-
-
-	//unsigned int li = ((nnx+STARTOFFX-2)-(STARTOFFX+1)-1);
-	//unsigned int lj = ((nny+STARTOFFY-2)-(STARTOFFY+1)-1);
-
-	i=nnx+STARTOFFX-3;
-	//k=nnz+STARTOFFZ-3;
-	for(k=STARTOFFZ+1 ; k<=nnz+STARTOFFZ-2 ; k++){
-		for(j=STARTOFFY+1 ; j<=nny+STARTOFFY-2 ; j++){
-			//for(i=STARTOFFX+1; i<=nnx+STARTOFFX-2 ; i++){
-			m = nx*(ny*k + j) + i;
-			if(geo_mat[m]==GEO_FLUID){
-				QIN.k[QIN.numberOfBCnodes]          = kk[m];
-				QIN.kN[QIN.numberOfBCnodes]         = kk[m-1];
-				rhoBC[QIN.numberOfBCnodes]          = (real)0.f;
-				vx[QIN.numberOfBCnodes]             = (real)0.f;
-				vy[QIN.numberOfBCnodes]             = (real)0.f;
-				//vz[QIN.numberOfBCnodes]             = u0;
-				vz[QIN.numberOfBCnodes]             = (real)(u0*2.f)*((-4.f*i*i + nnx*(-2.f - 4.f*STARTOFFX) - 4.f*(-1.5f + STARTOFFX)*(0.5f + STARTOFFX) + i*(-4.f + 4.f*nnx + 8.f*STARTOFFX))*(-4.f*j*j + nny*(-2.f - 4.f*STARTOFFY) - 4.f*(-1.5f + STARTOFFY)*(0.5f + STARTOFFY) + j*(-4.f + 4.f*nny + 8.f*STARTOFFY)))/((2.f - nnx)*(2.f - nnx)*(2.f - nny)*(2.f - nny));
-				//vz[QIN.numberOfBCnodes]             =  (real)(16.f*(u0*2.f)*(i-(STARTOFFX+1)-0.5f)*(li-1.5f-(i-(STARTOFFX+1)))*(j-(STARTOFFY+1)-0.5f)*(lj-1.5f-(j-(STARTOFFY+1))))/(li*lj*li*lj);
-				//vz[QIN.numberOfBCnodes]             = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny);
-				deltaVz[QIN.numberOfBCnodes]        = (real)0.f;
-				Q.q27[dP00   ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dM00   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0P0   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0M0   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d00P   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d00M   ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dPP0  ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dMM0  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dPM0  ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dMP0  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dP0P  ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dM0M  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dP0M  ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dM0P  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0PP  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0MM  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0PM  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d0MP  ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[d000][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dPPP ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dMMP ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dPMP ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dMPP ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dPPM ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dMMM ][QIN.numberOfBCnodes] = (real)-1.f;
-				Q.q27[dPMM ][QIN.numberOfBCnodes] = (real)1.f;
-				Q.q27[dMPM ][QIN.numberOfBCnodes] = (real)-1.f;
-				QIN.numberOfBCnodes++;
-			}
-		}
-	}
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //////////////  dP00   dM00   d0P0   d0M0   d00P   d00M  dPP0  dMM0  dPM0  dMP0  dP0P  dM0M  dP0M  dM0P  d0PP  d0MM  d0PM  d0MP ZERO dPPP dPPM dPMP dPMM dMPP dMPM dMMP dMMM  ////////////////////////
+    //int   ex[27]={  1, -1,  0,  0,  0,  0,  1, -1,  1, -1,  1, -1,  1, -1,  0,  0,  0,  0,   0,  1,  1,  1,  1, -1, -1, -1, -1};
+    //int   ey[27]={  0,  0,  1, -1,  0,  0,  1, -1, -1,  1,  0,  0,  0,  0,  1, -1,  1, -1,   0,  1,  1, -1, -1,  1,  1, -1, -1};
+    //int   ez[27]={  0,  0,  0,  0,  1, -1,  0,  0,  0,  0,  1, -1, -1,  1,  1, -1, -1,  1,   0,  1, -1,  1, -1,  1, -1,  1, -1};
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    unsigned int i, j, k, m;
+    int nx                        = para->getParH(lev)->nx;
+    int ny                        = para->getParH(lev)->ny;
+    unsigned int nnx              = para->getParH(lev)->gridNX;
+    unsigned int nny              = para->getParH(lev)->gridNY;
+    unsigned int nnz              = para->getParH(lev)->gridNZ;
+    int* geo_mat                  = para->getParH(lev)->geo;
+    unsigned int* kk              = para->getParH(lev)->k;
+    //unsigned int sizeQ            = para->getParH(lev)->outflowBC.numberOfBCnodes;
+    unsigned int sizeQ            = para->getParH(lev)->QpressX1.numberOfBCnodes;
+    real* rhoBC                = para->getParH(lev)->QpressX1.RhoBC;
+    real u0                    = para->getVelocity();
+    real* vx                   = para->getParH(lev)->QpressX1.Vx;
+    real* vy                   = para->getParH(lev)->QpressX1.Vy;
+    real* vz                   = para->getParH(lev)->QpressX1.Vz;
+    real*deltaVz               = para->getParH(lev)->QpressX1.deltaVz;
+    real* QQ                   = para->getParH(lev)->QpressX1.q27[0];
+    QforBoundaryConditions &QIN   = para->getParH(lev)->QpressX1;
+    //unsigned int nxny = nx*ny;
+    QIN.numberOfBCnodes = 0;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    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];
+
+
+    //unsigned int li = ((nnx+STARTOFFX-2)-(STARTOFFX+1)-1);
+    //unsigned int lj = ((nny+STARTOFFY-2)-(STARTOFFY+1)-1);
+
+    i=nnx+STARTOFFX-3;
+    //k=nnz+STARTOFFZ-3;
+    for(k=STARTOFFZ+1 ; k<=nnz+STARTOFFZ-2 ; k++){
+        for(j=STARTOFFY+1 ; j<=nny+STARTOFFY-2 ; j++){
+            //for(i=STARTOFFX+1; i<=nnx+STARTOFFX-2 ; i++){
+            m = nx*(ny*k + j) + i;
+            if(geo_mat[m]==GEO_FLUID){
+                QIN.k[QIN.numberOfBCnodes]          = kk[m];
+                QIN.kN[QIN.numberOfBCnodes]         = kk[m-1];
+                rhoBC[QIN.numberOfBCnodes]          = (real)0.f;
+                vx[QIN.numberOfBCnodes]             = (real)0.f;
+                vy[QIN.numberOfBCnodes]             = (real)0.f;
+                //vz[QIN.numberOfBCnodes]             = u0;
+                vz[QIN.numberOfBCnodes]             = (real)(u0*2.f)*((-4.f*i*i + nnx*(-2.f - 4.f*STARTOFFX) - 4.f*(-1.5f + STARTOFFX)*(0.5f + STARTOFFX) + i*(-4.f + 4.f*nnx + 8.f*STARTOFFX))*(-4.f*j*j + nny*(-2.f - 4.f*STARTOFFY) - 4.f*(-1.5f + STARTOFFY)*(0.5f + STARTOFFY) + j*(-4.f + 4.f*nny + 8.f*STARTOFFY)))/((2.f - nnx)*(2.f - nnx)*(2.f - nny)*(2.f - nny));
+                //vz[QIN.numberOfBCnodes]             =  (real)(16.f*(u0*2.f)*(i-(STARTOFFX+1)-0.5f)*(li-1.5f-(i-(STARTOFFX+1)))*(j-(STARTOFFY+1)-0.5f)*(lj-1.5f-(j-(STARTOFFY+1))))/(li*lj*li*lj);
+                //vz[QIN.numberOfBCnodes]             = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny);
+                deltaVz[QIN.numberOfBCnodes]        = (real)0.f;
+                Q.q27[dP00   ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dM00   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0P0   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0M0   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d00P   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d00M   ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dPP0  ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dMM0  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dPM0  ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dMP0  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dP0P  ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dM0M  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dP0M  ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dM0P  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0PP  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0MM  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0PM  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d0MP  ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[d000][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dPPP ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dMMP ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dPMP ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dMPP ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dPPM ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dMMM ][QIN.numberOfBCnodes] = (real)-1.f;
+                Q.q27[dPMM ][QIN.numberOfBCnodes] = (real)1.f;
+                Q.q27[dMPM ][QIN.numberOfBCnodes] = (real)-1.f;
+                QIN.numberOfBCnodes++;
+            }
+        }
+    }
 }
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -1362,51 +1362,51 @@ void findKforQPressX1(Parameter* para, int lev)
    // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/14
     VF_LOG_CRITICAL("findKforQPressX1() is deprecated! - see comment above for more information");
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//////////////  dP00   dM00   d0P0   d0M0   d00P   d00M  dPP0  dMM0  dPM0  dMP0  dP0P  dM0M  dP0M  dM0P  d0PP  d0MM  d0PM  d0MP ZERO dPPP dPPM dPMP dPMM dMPP dMPM dMMP dMMM  ////////////////////////
-	//int   ex[27]={  1, -1,  0,  0,  0,  0,  1, -1,  1, -1,  1, -1,  1, -1,  0,  0,  0,  0,   0,  1,  1,  1,  1, -1, -1, -1, -1};
-	//int   ey[27]={  0,  0,  1, -1,  0,  0,  1, -1, -1,  1,  0,  0,  0,  0,  1, -1,  1, -1,   0,  1,  1, -1, -1,  1,  1, -1, -1};
-	int   ez[27]={  0,  0,  0,  0,  1, -1,  0,  0,  0,  0,  1, -1, -1,  1,  1, -1, -1,  1,   0,  1, -1,  1, -1,  1, -1,  1, -1};
-	real ON[27];
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //////////////  dP00   dM00   d0P0   d0M0   d00P   d00M  dPP0  dMM0  dPM0  dMP0  dP0P  dM0M  dP0M  dM0P  d0PP  d0MM  d0PM  d0MP ZERO dPPP dPPM dPMP dPMM dMPP dMPM dMMP dMMM  ////////////////////////
+    //int   ex[27]={  1, -1,  0,  0,  0,  0,  1, -1,  1, -1,  1, -1,  1, -1,  0,  0,  0,  0,   0,  1,  1,  1,  1, -1, -1, -1, -1};
+    //int   ey[27]={  0,  0,  1, -1,  0,  0,  1, -1, -1,  1,  0,  0,  0,  0,  1, -1,  1, -1,   0,  1,  1, -1, -1,  1,  1, -1, -1};
+    int   ez[27]={  0,  0,  0,  0,  1, -1,  0,  0,  0,  0,  1, -1, -1,  1,  1, -1, -1,  1,   0,  1, -1,  1, -1,  1, -1,  1, -1};
+    real ON[27];
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //unsigned int mm;
-	unsigned int i, j, k, m, l;
-	real test = (real) 0.f;
-	int nx                        = para->getParH(lev)->nx;
-	int ny                        = para->getParH(lev)->ny;
-	unsigned int nnx              = para->getParH(lev)->gridNX;
-	unsigned int nny              = para->getParH(lev)->gridNY;
-	unsigned int nnz              = para->getParH(lev)->gridNZ;
-	int* geo_mat                  = para->getParH(lev)->geo;
-	QforBoundaryConditions &QIN   = para->getParH(lev)->QpressX1;
-	QIN.numberOfBCnodes = 0;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	i=nnx+STARTOFFX-3;
-	//k=nnz+STARTOFFZ-3;
-	{
-		for(k=STARTOFFZ+1 ; k<=nnz+STARTOFFZ-2 ; k++){
-			for(j=STARTOFFY+1 ; j<=nny+STARTOFFY-2 ; j++){
-				//for(i=STARTOFFX+1; i<=nnx+STARTOFFX-2 ; i++){
-				m = nx*(ny*k + j) + i;
-				if(geo_mat[m]==GEO_FLUID){
-					test = (real)0.f;
-					for(l=0;l<=26;l++){
-						//mm = nx*(ny*(k+ez[l]) + (j+ey[l])) + (i+ex[l]);
-						if(ez[l]==1){
-							ON[l] = (real) 1.f;
-						}
-						else{
-							ON[l] = (real) 0.f;
-						}
-						test += ON[l];
-					}
-					if (test>0)
-					{
-						QIN.numberOfBCnodes++;
-					}
-				}
-			}
-		}
-	}
+    unsigned int i, j, k, m, l;
+    real test = (real) 0.f;
+    int nx                        = para->getParH(lev)->nx;
+    int ny                        = para->getParH(lev)->ny;
+    unsigned int nnx              = para->getParH(lev)->gridNX;
+    unsigned int nny              = para->getParH(lev)->gridNY;
+    unsigned int nnz              = para->getParH(lev)->gridNZ;
+    int* geo_mat                  = para->getParH(lev)->geo;
+    QforBoundaryConditions &QIN   = para->getParH(lev)->QpressX1;
+    QIN.numberOfBCnodes = 0;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+    i=nnx+STARTOFFX-3;
+    //k=nnz+STARTOFFZ-3;
+    {
+        for(k=STARTOFFZ+1 ; k<=nnz+STARTOFFZ-2 ; k++){
+            for(j=STARTOFFY+1 ; j<=nny+STARTOFFY-2 ; j++){
+                //for(i=STARTOFFX+1; i<=nnx+STARTOFFX-2 ; i++){
+                m = nx*(ny*k + j) + i;
+                if(geo_mat[m]==GEO_FLUID){
+                    test = (real)0.f;
+                    for(l=0;l<=26;l++){
+                        //mm = nx*(ny*(k+ez[l]) + (j+ey[l])) + (i+ex[l]);
+                        if(ez[l]==1){
+                            ON[l] = (real) 1.f;
+                        }
+                        else{
+                            ON[l] = (real) 0.f;
+                        }
+                        test += ON[l];
+                    }
+                    if (test>0)
+                    {
+                        QIN.numberOfBCnodes++;
+                    }
+                }
+            }
+        }
+    }
 }
diff --git a/src/gpu/core/GPU/AdvectionDiffusion27chim.cu b/src/gpu/core/GPU/AdvectionDiffusion27chim.cu
deleted file mode 100644
index d1b502f46e39e8c1aa82fbb78b2ac805291c71cb..0000000000000000000000000000000000000000
--- a/src/gpu/core/GPU/AdvectionDiffusion27chim.cu
+++ /dev/null
@@ -1,536 +0,0 @@
-//=======================================================================================
-// ____          ____    __    ______     __________   __      __       __        __
-// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
-//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
-//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
-//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
-//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
-//      \    \  |    |   ________________________________________________________________
-//       \    \ |    |  |  ______________________________________________________________|
-//        \    \|    |  |  |         __          __     __     __     ______      _______
-//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
-//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
-//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
-//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
-//
-//  This file is part of VirtualFluids. VirtualFluids is free software: you can
-//  redistribute it and/or modify it under the terms of the GNU General Public
-//  License as published by the Free Software Foundation, either version 3 of
-//  the License, or (at your option) any later version.
-//
-//  VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
-//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//  for more details.
-//
-//  You should have received a copy of the GNU General Public License along
-//  with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
-//
-//! \file AdvectionDiffusion27chim.cu
-//! \ingroup GPU
-//! \author Martin Schoenherr
-//=======================================================================================
-/* Device code */
-#include "LBM/LB.h"
-#include "lbm/constants/D3Q27.h"
-
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-
-////////////////////////////////////////////////////////////////////////////////
-//! \brief forward chimera transformation \ref forwardChimera
-//! - Chimera transform from distributions to central moments as defined in Eq. (43)-(45) in \ref
-//! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-inline __device__ void forwardChimera(real &mfa, real &mfb, real &mfc, real vv, real v2) {
-	real m1 = (mfa + mfc) + mfb;
-	real m2 = mfc - mfa;
-	mfc     = (mfc + mfa) + (v2*m1 - c2o1*vv*m2);
-	mfb     = m2 - vv*m1;
-	mfa     = m1;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-//! \brief backward chimera transformation \ref backwardChimera
-//! - Chimera transform from  central moments to distributions as defined in Eq. (88)-(96) in \ref
-//! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-inline __device__ void backwardChimera(real &mfa, real &mfb, real &mfc, real vv, real v2) {
-	real ma = (mfc + mfa*(v2 - vv))*c1o2 + mfb*(vv - c1o2);
-	real mb = ((mfa - mfc) - mfa*v2) - c2o1*mfb*vv;
-	mfc     = (mfc + mfa*(v2 + vv))*c1o2 + mfb*(vv + c1o2);
-	mfb     = mb;
-	mfa     = ma;
-}
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void Factorized_Central_Moments_Advection_Diffusion_Device_Kernel(
-	real omegaDiffusivity,
-	uint* typeOfGridNode,
-	uint* neighborX,
-	uint* neighborY,
-	uint* neighborZ,
-	real* distributions,
-	real* distributionsAD,
-	unsigned long long numberOfLBnodes,
-	real* forces,
-	bool isEvenTimestep)
-{
-	//////////////////////////////////////////////////////////////////////////
-	//! Cumulant K17 Kernel is based on \ref
-	//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-	//! and \ref
-	//! <a href="https://doi.org/10.1016/j.jcp.2017.07.004"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.07.004 ]</b></a>
-	//!
-	//! The cumulant kernel is executed in the following steps
-	//!
-	////////////////////////////////////////////////////////////////////////////////
-	//! - Get node index coordinates from threadIdx, blockIdx, blockDim and gridDim.
-	//!
-	const unsigned  x = threadIdx.x;
-	const unsigned  y = blockIdx.x;
-	const unsigned  z = blockIdx.y;
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-
-	//////////////////////////////////////////////////////////////////////////
-	// run for all indices in size_Mat and fluid nodes
-	if ((k < numberOfLBnodes) && (typeOfGridNode[k] == GEO_FLUID))
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//! - Read distributions: style of reading and writing the distributions from/to stored arrays dependent on timestep is based on the esoteric twist algorithm \ref
-		//! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), DOI:10.3390/computation5020019 ]</b></a>
-		//!
-		Distributions27 dist;
-		if (isEvenTimestep)
-		{
-			dist.f[dP00] = &distributions[dP00 * numberOfLBnodes];
-			dist.f[dM00] = &distributions[dM00 * numberOfLBnodes];
-			dist.f[d0P0] = &distributions[d0P0 * numberOfLBnodes];
-			dist.f[d0M0] = &distributions[d0M0 * numberOfLBnodes];
-			dist.f[d00P] = &distributions[d00P * numberOfLBnodes];
-			dist.f[d00M] = &distributions[d00M * numberOfLBnodes];
-			dist.f[dPP0] = &distributions[dPP0 * numberOfLBnodes];
-			dist.f[dMM0] = &distributions[dMM0 * numberOfLBnodes];
-			dist.f[dPM0] = &distributions[dPM0 * numberOfLBnodes];
-			dist.f[dMP0] = &distributions[dMP0 * numberOfLBnodes];
-			dist.f[dP0P] = &distributions[dP0P * numberOfLBnodes];
-			dist.f[dM0M] = &distributions[dM0M * numberOfLBnodes];
-			dist.f[dP0M] = &distributions[dP0M * numberOfLBnodes];
-			dist.f[dM0P] = &distributions[dM0P * numberOfLBnodes];
-			dist.f[d0PP] = &distributions[d0PP * numberOfLBnodes];
-			dist.f[d0MM] = &distributions[d0MM * numberOfLBnodes];
-			dist.f[d0PM] = &distributions[d0PM * numberOfLBnodes];
-			dist.f[d0MP] = &distributions[d0MP * numberOfLBnodes];
-			dist.f[d000] = &distributions[d000 * numberOfLBnodes];
-			dist.f[dPPP] = &distributions[dPPP * numberOfLBnodes];
-			dist.f[dMMP] = &distributions[dMMP * numberOfLBnodes];
-			dist.f[dPMP] = &distributions[dPMP * numberOfLBnodes];
-			dist.f[dMPP] = &distributions[dMPP * numberOfLBnodes];
-			dist.f[dPPM] = &distributions[dPPM * numberOfLBnodes];
-			dist.f[dMMM] = &distributions[dMMM * numberOfLBnodes];
-			dist.f[dPMM] = &distributions[dPMM * numberOfLBnodes];
-			dist.f[dMPM] = &distributions[dMPM * numberOfLBnodes];
-		}
-		else
-		{
-			dist.f[dM00] = &distributions[dP00 * numberOfLBnodes];
-			dist.f[dP00] = &distributions[dM00 * numberOfLBnodes];
-			dist.f[d0M0] = &distributions[d0P0 * numberOfLBnodes];
-			dist.f[d0P0] = &distributions[d0M0 * numberOfLBnodes];
-			dist.f[d00M] = &distributions[d00P * numberOfLBnodes];
-			dist.f[d00P] = &distributions[d00M * numberOfLBnodes];
-			dist.f[dMM0] = &distributions[dPP0 * numberOfLBnodes];
-			dist.f[dPP0] = &distributions[dMM0 * numberOfLBnodes];
-			dist.f[dMP0] = &distributions[dPM0 * numberOfLBnodes];
-			dist.f[dPM0] = &distributions[dMP0 * numberOfLBnodes];
-			dist.f[dM0M] = &distributions[dP0P * numberOfLBnodes];
-			dist.f[dP0P] = &distributions[dM0M * numberOfLBnodes];
-			dist.f[dM0P] = &distributions[dP0M * numberOfLBnodes];
-			dist.f[dP0M] = &distributions[dM0P * numberOfLBnodes];
-			dist.f[d0MM] = &distributions[d0PP * numberOfLBnodes];
-			dist.f[d0PP] = &distributions[d0MM * numberOfLBnodes];
-			dist.f[d0MP] = &distributions[d0PM * numberOfLBnodes];
-			dist.f[d0PM] = &distributions[d0MP * numberOfLBnodes];
-			dist.f[d000] = &distributions[d000 * numberOfLBnodes];
-			dist.f[dMMM] = &distributions[dPPP * numberOfLBnodes];
-			dist.f[dPPM] = &distributions[dMMP * numberOfLBnodes];
-			dist.f[dMPM] = &distributions[dPMP * numberOfLBnodes];
-			dist.f[dPMM] = &distributions[dMPP * numberOfLBnodes];
-			dist.f[dMMP] = &distributions[dPPM * numberOfLBnodes];
-			dist.f[dPPP] = &distributions[dMMM * numberOfLBnodes];
-			dist.f[dMPP] = &distributions[dPMM * numberOfLBnodes];
-			dist.f[dPMP] = &distributions[dMPM * numberOfLBnodes];
-		}
-		////////////////////////////////////////////////////////////////////////////////
-		Distributions27 distAD;
-		if (isEvenTimestep)
-		{
-			distAD.f[dP00] = &distributionsAD[dP00 * numberOfLBnodes];
-			distAD.f[dM00] = &distributionsAD[dM00 * numberOfLBnodes];
-			distAD.f[d0P0] = &distributionsAD[d0P0 * numberOfLBnodes];
-			distAD.f[d0M0] = &distributionsAD[d0M0 * numberOfLBnodes];
-			distAD.f[d00P] = &distributionsAD[d00P * numberOfLBnodes];
-			distAD.f[d00M] = &distributionsAD[d00M * numberOfLBnodes];
-			distAD.f[dPP0] = &distributionsAD[dPP0 * numberOfLBnodes];
-			distAD.f[dMM0] = &distributionsAD[dMM0 * numberOfLBnodes];
-			distAD.f[dPM0] = &distributionsAD[dPM0 * numberOfLBnodes];
-			distAD.f[dMP0] = &distributionsAD[dMP0 * numberOfLBnodes];
-			distAD.f[dP0P] = &distributionsAD[dP0P * numberOfLBnodes];
-			distAD.f[dM0M] = &distributionsAD[dM0M * numberOfLBnodes];
-			distAD.f[dP0M] = &distributionsAD[dP0M * numberOfLBnodes];
-			distAD.f[dM0P] = &distributionsAD[dM0P * numberOfLBnodes];
-			distAD.f[d0PP] = &distributionsAD[d0PP * numberOfLBnodes];
-			distAD.f[d0MM] = &distributionsAD[d0MM * numberOfLBnodes];
-			distAD.f[d0PM] = &distributionsAD[d0PM * numberOfLBnodes];
-			distAD.f[d0MP] = &distributionsAD[d0MP * numberOfLBnodes];
-			distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
-			distAD.f[dPPP] = &distributionsAD[dPPP * numberOfLBnodes];
-			distAD.f[dMMP] = &distributionsAD[dMMP * numberOfLBnodes];
-			distAD.f[dPMP] = &distributionsAD[dPMP * numberOfLBnodes];
-			distAD.f[dMPP] = &distributionsAD[dMPP * numberOfLBnodes];
-			distAD.f[dPPM] = &distributionsAD[dPPM * numberOfLBnodes];
-			distAD.f[dMMM] = &distributionsAD[dMMM * numberOfLBnodes];
-			distAD.f[dPMM] = &distributionsAD[dPMM * numberOfLBnodes];
-			distAD.f[dMPM] = &distributionsAD[dMPM * numberOfLBnodes];
-		}
-		else
-		{
-			distAD.f[dM00] = &distributionsAD[dP00 * numberOfLBnodes];
-			distAD.f[dP00] = &distributionsAD[dM00 * numberOfLBnodes];
-			distAD.f[d0M0] = &distributionsAD[d0P0 * numberOfLBnodes];
-			distAD.f[d0P0] = &distributionsAD[d0M0 * numberOfLBnodes];
-			distAD.f[d00M] = &distributionsAD[d00P * numberOfLBnodes];
-			distAD.f[d00P] = &distributionsAD[d00M * numberOfLBnodes];
-			distAD.f[dMM0] = &distributionsAD[dPP0 * numberOfLBnodes];
-			distAD.f[dPP0] = &distributionsAD[dMM0 * numberOfLBnodes];
-			distAD.f[dMP0] = &distributionsAD[dPM0 * numberOfLBnodes];
-			distAD.f[dPM0] = &distributionsAD[dMP0 * numberOfLBnodes];
-			distAD.f[dM0M] = &distributionsAD[dP0P * numberOfLBnodes];
-			distAD.f[dP0P] = &distributionsAD[dM0M * numberOfLBnodes];
-			distAD.f[dM0P] = &distributionsAD[dP0M * numberOfLBnodes];
-			distAD.f[dP0M] = &distributionsAD[dM0P * numberOfLBnodes];
-			distAD.f[d0MM] = &distributionsAD[d0PP * numberOfLBnodes];
-			distAD.f[d0PP] = &distributionsAD[d0MM * numberOfLBnodes];
-			distAD.f[d0MP] = &distributionsAD[d0PM * numberOfLBnodes];
-			distAD.f[d0PM] = &distributionsAD[d0MP * numberOfLBnodes];
-			distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
-			distAD.f[dMMM] = &distributionsAD[dPPP * numberOfLBnodes];
-			distAD.f[dPPM] = &distributionsAD[dMMP * numberOfLBnodes];
-			distAD.f[dMPM] = &distributionsAD[dPMP * numberOfLBnodes];
-			distAD.f[dPMM] = &distributionsAD[dMPP * numberOfLBnodes];
-			distAD.f[dMMP] = &distributionsAD[dPPM * numberOfLBnodes];
-			distAD.f[dPPP] = &distributionsAD[dMMM * numberOfLBnodes];
-			distAD.f[dMPP] = &distributionsAD[dPMM * numberOfLBnodes];
-			distAD.f[dPMP] = &distributionsAD[dMPM * numberOfLBnodes];
-		}
-		////////////////////////////////////////////////////////////////////////////////
-		//! - Set neighbor indices (necessary for indirect addressing)
-		uint kw   = neighborX[k];
-		uint ks   = neighborY[k];
-		uint kb   = neighborZ[k];
-		uint ksw  = neighborY[kw];
-		uint kbw  = neighborZ[kw];
-		uint kbs  = neighborZ[ks];
-		uint kbsw = neighborZ[ksw];
-		////////////////////////////////////////////////////////////////////////////////////
-		//! - Set local distributions Fluid
-		//!
-		real fcbb = (dist.f[dP00])[k];
-		real fabb = (dist.f[dM00])[kw];
-		real fbcb = (dist.f[d0P0])[k];
-		real fbab = (dist.f[d0M0])[ks];
-		real fbbc = (dist.f[d00P])[k];
-		real fbba = (dist.f[d00M])[kb];
-		real fccb = (dist.f[dPP0])[k];
-		real faab = (dist.f[dMM0])[ksw];
-		real fcab = (dist.f[dPM0])[ks];
-		real facb = (dist.f[dMP0])[kw];
-		real fcbc = (dist.f[dP0P])[k];
-		real faba = (dist.f[dM0M])[kbw];
-		real fcba = (dist.f[dP0M])[kb];
-		real fabc = (dist.f[dM0P])[kw];
-		real fbcc = (dist.f[d0PP])[k];
-		real fbaa = (dist.f[d0MM])[kbs];
-		real fbca = (dist.f[d0PM])[kb];
-		real fbac = (dist.f[d0MP])[ks];
-		real fbbb = (dist.f[d000])[k];
-		real fccc = (dist.f[dPPP])[k];
-		real faac = (dist.f[dMMP])[ksw];
-		real fcac = (dist.f[dPMP])[ks];
-		real facc = (dist.f[dMPP])[kw];
-		real fcca = (dist.f[dPPM])[kb];
-		real faaa = (dist.f[dMMM])[kbsw];
-		real fcaa = (dist.f[dPMM])[kbs];
-		real faca = (dist.f[dMPM])[kbw];
-		////////////////////////////////////////////////////////////////////////////////////
-		//! - Set local distributions Advection Diffusion
-		//!
-		real mfcbb = (distAD.f[dP00])[k];
-		real mfabb = (distAD.f[dM00])[kw];
-		real mfbcb = (distAD.f[d0P0])[k];
-		real mfbab = (distAD.f[d0M0])[ks];
-		real mfbbc = (distAD.f[d00P])[k];
-		real mfbba = (distAD.f[d00M])[kb];
-		real mfccb = (distAD.f[dPP0])[k];
-		real mfaab = (distAD.f[dMM0])[ksw];
-		real mfcab = (distAD.f[dPM0])[ks];
-		real mfacb = (distAD.f[dMP0])[kw];
-		real mfcbc = (distAD.f[dP0P])[k];
-		real mfaba = (distAD.f[dM0M])[kbw];
-		real mfcba = (distAD.f[dP0M])[kb];
-		real mfabc = (distAD.f[dM0P])[kw];
-		real mfbcc = (distAD.f[d0PP])[k];
-		real mfbaa = (distAD.f[d0MM])[kbs];
-		real mfbca = (distAD.f[d0PM])[kb];
-		real mfbac = (distAD.f[d0MP])[ks];
-		real mfbbb = (distAD.f[d000])[k];
-		real mfccc = (distAD.f[dPPP])[k];
-		real mfaac = (distAD.f[dMMP])[ksw];
-		real mfcac = (distAD.f[dPMP])[ks];
-		real mfacc = (distAD.f[dMPP])[kw];
-		real mfcca = (distAD.f[dPPM])[kb];
-		real mfaaa = (distAD.f[dMMM])[kbsw];
-		real mfcaa = (distAD.f[dPMM])[kbs];
-		real mfaca = (distAD.f[dMPM])[kbw];
-		////////////////////////////////////////////////////////////////////////////////////
-		//! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref
-		//! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-		//!
-		////////////////////////////////////////////////////////////////////////////////////
-		// fluid component
-		real drhoFluid =
-			((((fccc + faaa) + (faca + fcac)) + ((facc + fcaa) + (faac + fcca))) +
-			(((fbac + fbca) + (fbaa + fbcc)) + ((fabc + fcba) + (faba + fcbc)) + ((facb + fcab) + (faab + fccb))) +
-			((fabb + fcbb) + (fbab + fbcb) + (fbba + fbbc))) + fbbb;
-
-		real rhoFluid = c1o1 + drhoFluid;
-		real OOrhoFluid = c1o1 / rhoFluid;
-
-        real vvx =
-			((((fccc - faaa) + (fcac - faca)) + ((fcaa - facc) + (fcca - faac))) +
-			(((fcba - fabc) + (fcbc - faba)) + ((fcab - facb) + (fccb - faab))) +
-			(fcbb - fabb)) * OOrhoFluid;
-		real vvy =
-			((((fccc - faaa) + (faca - fcac)) + ((facc - fcaa) + (fcca - faac))) +
-			(((fbca - fbac) + (fbcc - fbaa)) + ((facb - fcab) + (fccb - faab))) +
-			(fbcb - fbab)) * OOrhoFluid;
-		real vvz =
-			((((fccc - faaa) + (fcac - faca)) + ((facc - fcaa) + (faac - fcca))) +
-			(((fbac - fbca) + (fbcc - fbaa)) + ((fabc - fcba) + (fcbc - faba))) +
-			(fbbc - fbba)) * OOrhoFluid;
-		////////////////////////////////////////////////////////////////////////////////////
-		// second component
-		real rho =
-			((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-			(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Add half of the acceleration (body force) to the velocity as in Eq. (42) \ref
-        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-        //!
-        real fx = forces[0];
-        real fy = forces[1];
-        real fz = -rho*forces[2];
-        vvx += fx*c1o2;
-        vvy += fy*c1o2;
-        vvz += fz*c1o2;
-        ////////////////////////////////////////////////////////////////////////////////////
-		// calculate the square of velocities for this lattice node
-		real vx2 = vvx*vvx;
-		real vy2 = vvy*vvy;
-		real vz2 = vvz*vvz;
-		////////////////////////////////////////////////////////////////////////////////////
-		//real omegaDiffusivity = c2o1 / (c6o1 * diffusivity + c1o1);
-		////////////////////////////////////////////////////////////////////////////////////
-		//! - Chimera transform from distributions to central moments as defined in Eq. (43)-(45) in \ref
-		//! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-		//!
-		////////////////////////////////////////////////////////////////////////////////////
-		// Z - Dir
-		forwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
-		forwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
-		forwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
-		forwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
-		forwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
-		forwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
-		forwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
-		forwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
-		forwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
-
-		////////////////////////////////////////////////////////////////////////////////////
-		// Y - Dir
-		forwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
-		forwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-		forwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
-		forwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
-		forwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-		forwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
-		forwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
-		forwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-		forwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
-
-		////////////////////////////////////////////////////////////////////////////////////
-		// X - Dir
-		forwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
-		forwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-		forwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
-		forwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-		forwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-		forwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-		forwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
-		forwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-		forwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
-
-		////////////////////////////////////////////////////////////////////////////////////
-		//! - Factorized central moments for Advection Diffusion Equation - Eq. (15)-(16) in \ref
-		//! <a href="https://doi.org/10.1016/j.advwatres.2015.09.015"><b>[ X. Yang et al. (2016), DOI: 10.1016/j.advwatres.2015.09.015]</b></a>
-		//!
-
-		// linearized orthogonalization of 3rd order central moments
-		real Mabc = mfabc - mfaba*c1o3;
-		real Mbca = mfbca - mfbaa*c1o3;
-		real Macb = mfacb - mfaab*c1o3;
-		real Mcba = mfcba - mfaba*c1o3;
-		real Mcab = mfcab - mfaab*c1o3;
-		real Mbac = mfbac - mfbaa*c1o3;
-		// linearized orthogonalization of 5th order central moments
-		real Mcbc = mfcbc - mfaba*c1o9;
-		real Mbcc = mfbcc - mfbaa*c1o9;
-		real Mccb = mfccb - mfaab*c1o9;
-
-		// collision of 1st order moments
-		mfbaa *= c1o1 - omegaDiffusivity;
-		mfaba *= c1o1 - omegaDiffusivity;
-		mfaab *= c1o1 - omegaDiffusivity;
-
-		// equilibration of 3rd order moments
-		Mabc = c0o1;
-		Mbca = c0o1;
-		Macb = c0o1;
-		Mcba = c0o1;
-		Mcab = c0o1;
-		Mbac = c0o1;
-		mfbbb = c0o1;
-
-		// equilibration of 5th order moments
-		Mcbc = c0o1;
-		Mbcc = c0o1;
-		Mccb = c0o1;
-
-		// equilibration of 2nd order moments
-		mfbba = c0o1;
-		mfbab = c0o1;
-		mfabb = c0o1;
-
-		mfcaa = c1o3 * rho;
-		mfaca = c1o3 * rho;
-		mfaac = c1o3 * rho;
-
-		// equilibration of 4th order moments
-		mfacc = c1o9 * rho;
-		mfcac = c1o9 * rho;
-		mfcca = c1o9 * rho;
-
-		mfcbb = c0o1;
-		mfbcb = c0o1;
-		mfbbc = c0o1;
-
-		// equilibration of 6th order moment
-		mfccc = c1o27 * rho;
-
-		// from linearized orthogonalization 3rd order central moments to central moments
-		mfabc = Mabc + mfaba*c1o3;
-		mfbca = Mbca + mfbaa*c1o3;
-		mfacb = Macb + mfaab*c1o3;
-		mfcba = Mcba + mfaba*c1o3;
-		mfcab = Mcab + mfaab*c1o3;
-		mfbac = Mbac + mfbaa*c1o3;
-
-		// from linearized orthogonalization 5th order central moments to central moments
-		mfcbc = Mcbc + mfaba*c1o9;
-		mfbcc = Mbcc + mfbaa*c1o9;
-		mfccb = Mccb + mfaab*c1o9;
-
-		////////////////////////////////////////////////////////////////////////////////////
-		//! - Chimera transform from  central moments to distributions as defined in Eq. (88)-(96) in \ref
-		//! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-		//!
-		////////////////////////////////////////////////////////////////////////////////////
-		// X - Dir
-		backwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
-		backwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-		backwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
-		backwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-		backwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-		backwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-		backwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
-		backwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-		backwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
-
-		////////////////////////////////////////////////////////////////////////////////////
-		// Y - Dir
-		backwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
-		backwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-		backwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
-		backwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
-		backwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-		backwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
-		backwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
-		backwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-		backwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
-
-		////////////////////////////////////////////////////////////////////////////////////
-		// Z - Dir
-		backwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
-		backwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
-		backwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
-		backwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
-		backwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
-		backwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
-		backwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
-		backwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
-		backwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
-
-		////////////////////////////////////////////////////////////////////////////////////
-		//! - Write distributions: style of reading and writing the distributions from/to
-		//! stored arrays dependent on timestep is based on the esoteric twist algorithm
-		//! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), DOI:10.3390/computation5020019 ]</b></a>
-		//!
-		(distAD.f[dP00])[k   ] = mfabb;
-		(distAD.f[dM00])[kw  ] = mfcbb;
-		(distAD.f[d0P0])[k   ] = mfbab;
-		(distAD.f[d0M0])[ks  ] = mfbcb;
-		(distAD.f[d00P])[k   ] = mfbba;
-		(distAD.f[d00M])[kb  ] = mfbbc;
-		(distAD.f[dPP0])[k   ] = mfaab;
-		(distAD.f[dMM0])[ksw ] = mfccb;
-		(distAD.f[dPM0])[ks  ] = mfacb;
-		(distAD.f[dMP0])[kw  ] = mfcab;
-		(distAD.f[dP0P])[k   ] = mfaba;
-		(distAD.f[dM0M])[kbw ] = mfcbc;
-		(distAD.f[dP0M])[kb  ] = mfabc;
-		(distAD.f[dM0P])[kw  ] = mfcba;
-		(distAD.f[d0PP])[k   ] = mfbaa;
-		(distAD.f[d0MM])[kbs ] = mfbcc;
-		(distAD.f[d0PM])[kb  ] = mfbac;
-		(distAD.f[d0MP])[ks  ] = mfbca;
-		(distAD.f[d000])[k   ] = mfbbb;
-		(distAD.f[dPPP])[k   ] = mfaaa;
-		(distAD.f[dPMP])[ks  ] = mfaca;
-		(distAD.f[dPPM])[kb  ] = mfaac;
-		(distAD.f[dPMM])[kbs ] = mfacc;
-		(distAD.f[dMPP])[kw  ] = mfcaa;
-		(distAD.f[dMMP])[ksw ] = mfcca;
-		(distAD.f[dMPM])[kbw ] = mfcac;
-		(distAD.f[dMMM])[kbsw] = mfccc;
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
diff --git a/src/gpu/core/GPU/AdvectionDiffusionBCs27.cu b/src/gpu/core/GPU/AdvectionDiffusionBCs27.cu
index 7d1bccaddbfd51a413c6833d0e4122e8447764c2..d97e6ea567e44970816242aee11115b3975542f5 100644
--- a/src/gpu/core/GPU/AdvectionDiffusionBCs27.cu
+++ b/src/gpu/core/GPU/AdvectionDiffusionBCs27.cu
@@ -247,7 +247,7 @@ __global__ void QADPress7(  real* DD,
       real vx2    =  OORho*((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S));
       real vx3    =  OORho*((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B));
 
-	  //real cu_sq       =1.5*(vx1*vx1+vx2*vx2+vx3*vx3);
+      //real cu_sq       =1.5*(vx1*vx1+vx2*vx2+vx3*vx3);
       real ux_sq       = vx1 * vx1;
       real uy_sq       = vx2 * vx2;
       real uz_sq       = vx3 * vx3;
@@ -981,398 +981,398 @@ __global__ void QADPress27( real* DD,
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QADPressNEQNeighbor27(
-													real* DD,
-													real* DD27,
-													int* k_Q,
-													int* k_N,
-													int numberOfBCnodes,
-													unsigned int* neighborX,
-													unsigned int* neighborY,
-													unsigned int* neighborZ,
-													unsigned long long numberOfLBnodes,
-													bool isEvenTimestep
-												)
+                                                    real* DD,
+                                                    real* DD27,
+                                                    int* k_Q,
+                                                    int* k_N,
+                                                    int numberOfBCnodes,
+                                                    unsigned int* neighborX,
+                                                    unsigned int* neighborY,
+                                                    unsigned int* neighborZ,
+                                                    unsigned long long numberOfLBnodes,
+                                                    bool isEvenTimestep
+                                                )
 {
-	Distributions27 D;
-	if (isEvenTimestep == true)
-	{
-		D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00P] = &DD[d00P * numberOfLBnodes];
-		D.f[d00M] = &DD[d00M * numberOfLBnodes];
-		D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-		D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-		D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-		D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-		D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-		D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-		D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-		D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-		D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-	}
-	else
-	{
-		D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00M] = &DD[d00P * numberOfLBnodes];
-		D.f[d00P] = &DD[d00M * numberOfLBnodes];
-		D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-		D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-		D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-		D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-		D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-		D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-		D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-		D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-		D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-	}
-
-	Distributions27 D27;
-	if (isEvenTimestep == true)
-	{
-		D27.f[dP00] = &DD27[dP00 * numberOfLBnodes];
-		D27.f[dM00] = &DD27[dM00 * numberOfLBnodes];
-		D27.f[d0P0] = &DD27[d0P0 * numberOfLBnodes];
-		D27.f[d0M0] = &DD27[d0M0 * numberOfLBnodes];
-		D27.f[d00P] = &DD27[d00P * numberOfLBnodes];
-		D27.f[d00M] = &DD27[d00M * numberOfLBnodes];
-		D27.f[dPP0] = &DD27[dPP0 * numberOfLBnodes];
-		D27.f[dMM0] = &DD27[dMM0 * numberOfLBnodes];
-		D27.f[dPM0] = &DD27[dPM0 * numberOfLBnodes];
-		D27.f[dMP0] = &DD27[dMP0 * numberOfLBnodes];
-		D27.f[dP0P] = &DD27[dP0P * numberOfLBnodes];
-		D27.f[dM0M] = &DD27[dM0M * numberOfLBnodes];
-		D27.f[dP0M] = &DD27[dP0M * numberOfLBnodes];
-		D27.f[dM0P] = &DD27[dM0P * numberOfLBnodes];
-		D27.f[d0PP] = &DD27[d0PP * numberOfLBnodes];
-		D27.f[d0MM] = &DD27[d0MM * numberOfLBnodes];
-		D27.f[d0PM] = &DD27[d0PM * numberOfLBnodes];
-		D27.f[d0MP] = &DD27[d0MP * numberOfLBnodes];
-		D27.f[d000] = &DD27[d000 * numberOfLBnodes];
-		D27.f[dPPP] = &DD27[dPPP * numberOfLBnodes];
-		D27.f[dMMP] = &DD27[dMMP * numberOfLBnodes];
-		D27.f[dPMP] = &DD27[dPMP * numberOfLBnodes];
-		D27.f[dMPP] = &DD27[dMPP * numberOfLBnodes];
-		D27.f[dPPM] = &DD27[dPPM * numberOfLBnodes];
-		D27.f[dMMM] = &DD27[dMMM * numberOfLBnodes];
-		D27.f[dPMM] = &DD27[dPMM * numberOfLBnodes];
-		D27.f[dMPM] = &DD27[dMPM * numberOfLBnodes];
-	}
-	else
-	{
-		D27.f[dM00] = &DD27[dP00 * numberOfLBnodes];
-		D27.f[dP00] = &DD27[dM00 * numberOfLBnodes];
-		D27.f[d0M0] = &DD27[d0P0 * numberOfLBnodes];
-		D27.f[d0P0] = &DD27[d0M0 * numberOfLBnodes];
-		D27.f[d00M] = &DD27[d00P * numberOfLBnodes];
-		D27.f[d00P] = &DD27[d00M * numberOfLBnodes];
-		D27.f[dMM0] = &DD27[dPP0 * numberOfLBnodes];
-		D27.f[dPP0] = &DD27[dMM0 * numberOfLBnodes];
-		D27.f[dMP0] = &DD27[dPM0 * numberOfLBnodes];
-		D27.f[dPM0] = &DD27[dMP0 * numberOfLBnodes];
-		D27.f[dM0M] = &DD27[dP0P * numberOfLBnodes];
-		D27.f[dP0P] = &DD27[dM0M * numberOfLBnodes];
-		D27.f[dM0P] = &DD27[dP0M * numberOfLBnodes];
-		D27.f[dP0M] = &DD27[dM0P * numberOfLBnodes];
-		D27.f[d0MM] = &DD27[d0PP * numberOfLBnodes];
-		D27.f[d0PP] = &DD27[d0MM * numberOfLBnodes];
-		D27.f[d0MP] = &DD27[d0PM * numberOfLBnodes];
-		D27.f[d0PM] = &DD27[d0MP * numberOfLBnodes];
-		D27.f[d000] = &DD27[d000 * numberOfLBnodes];
-		D27.f[dPPP] = &DD27[dMMM * numberOfLBnodes];
-		D27.f[dMMP] = &DD27[dPPM * numberOfLBnodes];
-		D27.f[dPMP] = &DD27[dMPM * numberOfLBnodes];
-		D27.f[dMPP] = &DD27[dPMM * numberOfLBnodes];
-		D27.f[dPPM] = &DD27[dMMP * numberOfLBnodes];
-		D27.f[dMMM] = &DD27[dPPP * numberOfLBnodes];
-		D27.f[dPMM] = &DD27[dMPP * numberOfLBnodes];
-		D27.f[dMPM] = &DD27[dPMP * numberOfLBnodes];
-	}
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k < numberOfBCnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		//Fluid - BC Nodes
-		////////////////////////////////////////////////////////////////////////////////
-		//index
-		unsigned int KQK = k_Q[k];
-		unsigned int kzero = KQK;
-		unsigned int ke = KQK;
-		unsigned int kw = neighborX[KQK];
-		unsigned int kn = KQK;
-		unsigned int ks = neighborY[KQK];
-		unsigned int kt = KQK;
-		unsigned int kb = neighborZ[KQK];
-		unsigned int ksw = neighborY[kw];
-		unsigned int kne = KQK;
-		unsigned int kse = ks;
-		unsigned int knw = kw;
-		unsigned int kbw = neighborZ[kw];
-		unsigned int kte = KQK;
-		unsigned int kbe = kb;
-		unsigned int ktw = kw;
-		unsigned int kbs = neighborZ[ks];
-		unsigned int ktn = KQK;
-		unsigned int kbn = kb;
-		unsigned int kts = ks;
-		unsigned int ktse = ks;
-		unsigned int kbnw = kbw;
-		unsigned int ktnw = kw;
-		unsigned int kbse = kbs;
-		unsigned int ktsw = ksw;
-		unsigned int kbne = kb;
-		unsigned int ktne = KQK;
-		unsigned int kbsw = neighborZ[ksw];
-		////////////////////////////////////////////////////////////////////////////////
-		//distributions
-		real f_W =    (D.f[dP00])[ke];
-		real f_E =    (D.f[dM00])[kw];
-		real f_S =    (D.f[d0P0])[kn];
-		real f_N =    (D.f[d0M0])[ks];
-		real f_B =    (D.f[d00P])[kt];
-		real f_T =    (D.f[d00M])[kb];
-		real f_SW =   (D.f[dPP0])[kne];
-		real f_NE =   (D.f[dMM0])[ksw];
-		real f_NW =   (D.f[dPM0])[kse];
-		real f_SE =   (D.f[dMP0])[knw];
-		real f_BW =   (D.f[dP0P])[kte];
-		real f_TE =   (D.f[dM0M])[kbw];
-		real f_TW =   (D.f[dP0M])[kbe];
-		real f_BE =   (D.f[dM0P])[ktw];
-		real f_BS =   (D.f[d0PP])[ktn];
-		real f_TN =   (D.f[d0MM])[kbs];
-		real f_TS =   (D.f[d0PM])[kbn];
-		real f_BN =   (D.f[d0MP])[kts];
-		real f_ZERO = (D.f[d000])[kzero];
-		real f_BSW =  (D.f[dPPP])[ktne];
-		real f_BNE =  (D.f[dMMP])[ktsw];
-		real f_BNW =  (D.f[dPMP])[ktse];
-		real f_BSE =  (D.f[dMPP])[ktnw];
-		real f_TSW =  (D.f[dPPM])[kbne];
-		real f_TNE =  (D.f[dMMM])[kbsw];
-		real f_TNW =  (D.f[dPMM])[kbse];
-		real f_TSE =  (D.f[dMPM])[kbnw];
-		////////////////////////////////////////////////////////////////////////////////
-		//macroscopic values
-		real rho0 = 
-			(f_TNE + f_BSW) + (f_TSW + f_BNE) + (f_TSE + f_BNW) + (f_TNW + f_BSE) + 
-			(f_NE  + f_SW ) + (f_NW  + f_SE ) + (f_TE  + f_BW ) + (f_BE  + f_TW ) + 
-			(f_TN  + f_BS ) + (f_BN  + f_TS ) + 
-			(f_E   + f_W  ) + (f_N   + f_S  ) + (f_T   + f_B  ) +  f_ZERO;
-		real rho = rho0 + c1o1;
-		real OORho = c1o1 / rho;
-
-		real vx1 = 
-			OORho*((f_TNE - f_BSW) + (f_BNE - f_TSW) + (f_TSE - f_BNW) + (f_BSE - f_TNW) + 
-			(f_NE - f_SW) + (f_SE - f_NW) + (f_TE - f_BW) + (f_BE - f_TW) + (f_E - f_W));
-		real vx2 = 
-			OORho*((f_TNE - f_BSW) + (f_BNE - f_TSW) + (f_BNW - f_TSE) + (f_TNW - f_BSE) + 
-			(f_NE - f_SW) + (f_NW - f_SE) + (f_TN - f_BS) + (f_BN - f_TS) + (f_N - f_S));
-		real vx3 = 
-			OORho*((f_TNE - f_BSW) + (f_TSW - f_BNE) + (f_TSE - f_BNW) + (f_TNW - f_BSE) + 
-			(f_TE - f_BW) + (f_TW - f_BE) + (f_TN - f_BS) + (f_TS - f_BN) + (f_T - f_B));
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		//AD - BC Nodes
-		////////////////////////////////////////////////////////////////////////////////
-		//distributions
-		real f27_W =    (D27.f[dP00])[ke];
-		real f27_E =    (D27.f[dM00])[kw];
-		real f27_S =    (D27.f[d0P0])[kn];
-		real f27_N =    (D27.f[d0M0])[ks];
-		real f27_B =    (D27.f[d00P])[kt];
-		real f27_T =    (D27.f[d00M])[kb];
-		real f27_SW =   (D27.f[dPP0])[kne];
-		real f27_NE =   (D27.f[dMM0])[ksw];
-		real f27_NW =   (D27.f[dPM0])[kse];
-		real f27_SE =   (D27.f[dMP0])[knw];
-		real f27_BW =   (D27.f[dP0P])[kte];
-		real f27_TE =   (D27.f[dM0M])[kbw];
-		real f27_TW =   (D27.f[dP0M])[kbe];
-		real f27_BE =   (D27.f[dM0P])[ktw];
-		real f27_BS =   (D27.f[d0PP])[ktn];
-		real f27_TN =   (D27.f[d0MM])[kbs];
-		real f27_TS =   (D27.f[d0PM])[kbn];
-		real f27_BN =   (D27.f[d0MP])[kts];
-		real f27_ZERO = (D27.f[d000])[kzero];
-		real f27_BSW =  (D27.f[dPPP])[ktne];
-		real f27_BNE =  (D27.f[dMMP])[ktsw];
-		real f27_BNW =  (D27.f[dPMP])[ktse];
-		real f27_BSE =  (D27.f[dMPP])[ktnw];
-		real f27_TSW =  (D27.f[dPPM])[kbne];
-		real f27_TNE =  (D27.f[dMMM])[kbsw];
-		real f27_TNW =  (D27.f[dPMM])[kbse];
-		real f27_TSE =  (D27.f[dMPM])[kbnw];
-		////////////////////////////////////////////////////////////////////////////////
-		real cusq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
-		////////////////////////////////////////////////////////////////////////////////
-		//concentration
-		real ConcD = 
-			(f27_TNE + f27_BSW) + (f27_TSW + f27_BNE) + (f27_TSE + f27_BNW) + (f27_TNW + f27_BSE) + 
-			(f27_NE  + f27_SW ) + (f27_NW  + f27_SE ) + (f27_TE  + f27_BW ) + (f27_BE  + f27_TW ) + 
-			(f27_TN  + f27_BS ) + (f27_BN  + f27_TS ) +   						
-			(f27_E   + f27_W  ) + (f27_N   + f27_S  ) + (f27_T   + f27_B  ) +  f27_ZERO;
-		////////////////////////////////////////////////////////////////////////////////
-		//calculate non-equilibrium
-		f27_ZERO  -=  c8o27* (ConcD-(ConcD+c1o1)*cusq);
-		f27_E     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*( vx1        )+c9o2*( vx1        )*( vx1        )-cusq));
-		f27_W     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1        )+c9o2*(-vx1        )*(-vx1        )-cusq));
-		f27_N     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(    vx2     )+c9o2*(     vx2    )*(     vx2    )-cusq));
-		f27_S     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(   -vx2     )+c9o2*(    -vx2    )*(    -vx2    )-cusq));
-		f27_T     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(         vx3)+c9o2*(         vx3)*(         vx3)-cusq));
-		f27_B     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(        -vx3)+c9o2*(        -vx3)*(        -vx3)-cusq));
-		f27_NE    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2    )+c9o2*( vx1+vx2    )*( vx1+vx2    )-cusq));
-		f27_SW    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2    )+c9o2*(-vx1-vx2    )*(-vx1-vx2    )-cusq));
-		f27_SE    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2    )+c9o2*( vx1-vx2    )*( vx1-vx2    )-cusq));
-		f27_NW    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2    )+c9o2*(-vx1+vx2    )*(-vx1+vx2    )-cusq));
-		f27_TE    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1    +vx3)+c9o2*( vx1    +vx3)*( vx1    +vx3)-cusq));
-		f27_BW    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1    -vx3)+c9o2*(-vx1    -vx3)*(-vx1    -vx3)-cusq));
-		f27_BE    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1    -vx3)+c9o2*( vx1    -vx3)*( vx1    -vx3)-cusq));
-		f27_TW    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1    +vx3)+c9o2*(-vx1    +vx3)*(-vx1    +vx3)-cusq));
-		f27_TN    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(     vx2+vx3)+c9o2*(     vx2+vx3)*(     vx2+vx3)-cusq));
-		f27_BS    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(    -vx2-vx3)+c9o2*(    -vx2-vx3)*(    -vx2-vx3)-cusq));
-		f27_BN    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(     vx2-vx3)+c9o2*(     vx2-vx3)*(     vx2-vx3)-cusq));
-		f27_TS    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(    -vx2+vx3)+c9o2*(    -vx2+vx3)*(    -vx2+vx3)-cusq));
-		f27_TNE   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq));
-		f27_BSW   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq));
-		f27_BNE   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq));
-		f27_TSW   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq));
-		f27_TSE   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq));
-		f27_BNW   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq));
-		f27_BSE   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq));
-		f27_TNW   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq));
-		////////////////////////////////////////////////////////////////////////////////
-		ConcD = c0o1;
-		////////////////////////////////////////////////////////////////////////////////
-		//add BC equilibrium
-		f27_ZERO  +=  c8o27* (ConcD-(ConcD+c1o1)*cusq);
-		f27_E     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*( vx1        )+c9o2*( vx1        )*( vx1        )-cusq));
-		f27_W     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1        )+c9o2*(-vx1        )*(-vx1        )-cusq));
-		f27_N     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(    vx2     )+c9o2*(     vx2    )*(     vx2    )-cusq));
-		f27_S     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(   -vx2     )+c9o2*(    -vx2    )*(    -vx2    )-cusq));
-		f27_T     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(         vx3)+c9o2*(         vx3)*(         vx3)-cusq));
-		f27_B     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(        -vx3)+c9o2*(        -vx3)*(        -vx3)-cusq));
-		f27_NE    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2    )+c9o2*( vx1+vx2    )*( vx1+vx2    )-cusq));
-		f27_SW    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2    )+c9o2*(-vx1-vx2    )*(-vx1-vx2    )-cusq));
-		f27_SE    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2    )+c9o2*( vx1-vx2    )*( vx1-vx2    )-cusq));
-		f27_NW    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2    )+c9o2*(-vx1+vx2    )*(-vx1+vx2    )-cusq));
-		f27_TE    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1    +vx3)+c9o2*( vx1    +vx3)*( vx1    +vx3)-cusq));
-		f27_BW    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1    -vx3)+c9o2*(-vx1    -vx3)*(-vx1    -vx3)-cusq));
-		f27_BE    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1    -vx3)+c9o2*( vx1    -vx3)*( vx1    -vx3)-cusq));
-		f27_TW    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1    +vx3)+c9o2*(-vx1    +vx3)*(-vx1    +vx3)-cusq));
-		f27_TN    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(     vx2+vx3)+c9o2*(     vx2+vx3)*(     vx2+vx3)-cusq));
-		f27_BS    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(    -vx2-vx3)+c9o2*(    -vx2-vx3)*(    -vx2-vx3)-cusq));
-		f27_BN    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(     vx2-vx3)+c9o2*(     vx2-vx3)*(     vx2-vx3)-cusq));
-		f27_TS    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(    -vx2+vx3)+c9o2*(    -vx2+vx3)*(    -vx2+vx3)-cusq));
-		f27_TNE   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq));
-		f27_BSW   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq));
-		f27_BNE   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq));
-		f27_TSW   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq));
-		f27_TSE   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq));
-		f27_BNW   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq));
-		f27_BSE   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq));
-		f27_TNW   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq));
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    Distributions27 D;
+    if (isEvenTimestep == true)
+    {
+        D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00P] = &DD[d00P * numberOfLBnodes];
+        D.f[d00M] = &DD[d00M * numberOfLBnodes];
+        D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+        D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+        D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+        D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+        D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+        D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+        D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+        D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+        D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+    }
+    else
+    {
+        D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00M] = &DD[d00P * numberOfLBnodes];
+        D.f[d00P] = &DD[d00M * numberOfLBnodes];
+        D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+        D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+        D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+        D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+        D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+        D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+        D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+        D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+        D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+    }
+
+    Distributions27 D27;
+    if (isEvenTimestep == true)
+    {
+        D27.f[dP00] = &DD27[dP00 * numberOfLBnodes];
+        D27.f[dM00] = &DD27[dM00 * numberOfLBnodes];
+        D27.f[d0P0] = &DD27[d0P0 * numberOfLBnodes];
+        D27.f[d0M0] = &DD27[d0M0 * numberOfLBnodes];
+        D27.f[d00P] = &DD27[d00P * numberOfLBnodes];
+        D27.f[d00M] = &DD27[d00M * numberOfLBnodes];
+        D27.f[dPP0] = &DD27[dPP0 * numberOfLBnodes];
+        D27.f[dMM0] = &DD27[dMM0 * numberOfLBnodes];
+        D27.f[dPM0] = &DD27[dPM0 * numberOfLBnodes];
+        D27.f[dMP0] = &DD27[dMP0 * numberOfLBnodes];
+        D27.f[dP0P] = &DD27[dP0P * numberOfLBnodes];
+        D27.f[dM0M] = &DD27[dM0M * numberOfLBnodes];
+        D27.f[dP0M] = &DD27[dP0M * numberOfLBnodes];
+        D27.f[dM0P] = &DD27[dM0P * numberOfLBnodes];
+        D27.f[d0PP] = &DD27[d0PP * numberOfLBnodes];
+        D27.f[d0MM] = &DD27[d0MM * numberOfLBnodes];
+        D27.f[d0PM] = &DD27[d0PM * numberOfLBnodes];
+        D27.f[d0MP] = &DD27[d0MP * numberOfLBnodes];
+        D27.f[d000] = &DD27[d000 * numberOfLBnodes];
+        D27.f[dPPP] = &DD27[dPPP * numberOfLBnodes];
+        D27.f[dMMP] = &DD27[dMMP * numberOfLBnodes];
+        D27.f[dPMP] = &DD27[dPMP * numberOfLBnodes];
+        D27.f[dMPP] = &DD27[dMPP * numberOfLBnodes];
+        D27.f[dPPM] = &DD27[dPPM * numberOfLBnodes];
+        D27.f[dMMM] = &DD27[dMMM * numberOfLBnodes];
+        D27.f[dPMM] = &DD27[dPMM * numberOfLBnodes];
+        D27.f[dMPM] = &DD27[dMPM * numberOfLBnodes];
+    }
+    else
+    {
+        D27.f[dM00] = &DD27[dP00 * numberOfLBnodes];
+        D27.f[dP00] = &DD27[dM00 * numberOfLBnodes];
+        D27.f[d0M0] = &DD27[d0P0 * numberOfLBnodes];
+        D27.f[d0P0] = &DD27[d0M0 * numberOfLBnodes];
+        D27.f[d00M] = &DD27[d00P * numberOfLBnodes];
+        D27.f[d00P] = &DD27[d00M * numberOfLBnodes];
+        D27.f[dMM0] = &DD27[dPP0 * numberOfLBnodes];
+        D27.f[dPP0] = &DD27[dMM0 * numberOfLBnodes];
+        D27.f[dMP0] = &DD27[dPM0 * numberOfLBnodes];
+        D27.f[dPM0] = &DD27[dMP0 * numberOfLBnodes];
+        D27.f[dM0M] = &DD27[dP0P * numberOfLBnodes];
+        D27.f[dP0P] = &DD27[dM0M * numberOfLBnodes];
+        D27.f[dM0P] = &DD27[dP0M * numberOfLBnodes];
+        D27.f[dP0M] = &DD27[dM0P * numberOfLBnodes];
+        D27.f[d0MM] = &DD27[d0PP * numberOfLBnodes];
+        D27.f[d0PP] = &DD27[d0MM * numberOfLBnodes];
+        D27.f[d0MP] = &DD27[d0PM * numberOfLBnodes];
+        D27.f[d0PM] = &DD27[d0MP * numberOfLBnodes];
+        D27.f[d000] = &DD27[d000 * numberOfLBnodes];
+        D27.f[dPPP] = &DD27[dMMM * numberOfLBnodes];
+        D27.f[dMMP] = &DD27[dPPM * numberOfLBnodes];
+        D27.f[dPMP] = &DD27[dMPM * numberOfLBnodes];
+        D27.f[dMPP] = &DD27[dPMM * numberOfLBnodes];
+        D27.f[dPPM] = &DD27[dMMP * numberOfLBnodes];
+        D27.f[dMMM] = &DD27[dPPP * numberOfLBnodes];
+        D27.f[dPMM] = &DD27[dMPP * numberOfLBnodes];
+        D27.f[dMPM] = &DD27[dPMP * numberOfLBnodes];
+    }
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if (k < numberOfBCnodes)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        //Fluid - BC Nodes
+        ////////////////////////////////////////////////////////////////////////////////
+        //index
+        unsigned int KQK = k_Q[k];
+        unsigned int kzero = KQK;
+        unsigned int ke = KQK;
+        unsigned int kw = neighborX[KQK];
+        unsigned int kn = KQK;
+        unsigned int ks = neighborY[KQK];
+        unsigned int kt = KQK;
+        unsigned int kb = neighborZ[KQK];
+        unsigned int ksw = neighborY[kw];
+        unsigned int kne = KQK;
+        unsigned int kse = ks;
+        unsigned int knw = kw;
+        unsigned int kbw = neighborZ[kw];
+        unsigned int kte = KQK;
+        unsigned int kbe = kb;
+        unsigned int ktw = kw;
+        unsigned int kbs = neighborZ[ks];
+        unsigned int ktn = KQK;
+        unsigned int kbn = kb;
+        unsigned int kts = ks;
+        unsigned int ktse = ks;
+        unsigned int kbnw = kbw;
+        unsigned int ktnw = kw;
+        unsigned int kbse = kbs;
+        unsigned int ktsw = ksw;
+        unsigned int kbne = kb;
+        unsigned int ktne = KQK;
+        unsigned int kbsw = neighborZ[ksw];
+        ////////////////////////////////////////////////////////////////////////////////
+        //distributions
+        real f_W =    (D.f[dP00])[ke];
+        real f_E =    (D.f[dM00])[kw];
+        real f_S =    (D.f[d0P0])[kn];
+        real f_N =    (D.f[d0M0])[ks];
+        real f_B =    (D.f[d00P])[kt];
+        real f_T =    (D.f[d00M])[kb];
+        real f_SW =   (D.f[dPP0])[kne];
+        real f_NE =   (D.f[dMM0])[ksw];
+        real f_NW =   (D.f[dPM0])[kse];
+        real f_SE =   (D.f[dMP0])[knw];
+        real f_BW =   (D.f[dP0P])[kte];
+        real f_TE =   (D.f[dM0M])[kbw];
+        real f_TW =   (D.f[dP0M])[kbe];
+        real f_BE =   (D.f[dM0P])[ktw];
+        real f_BS =   (D.f[d0PP])[ktn];
+        real f_TN =   (D.f[d0MM])[kbs];
+        real f_TS =   (D.f[d0PM])[kbn];
+        real f_BN =   (D.f[d0MP])[kts];
+        real f_ZERO = (D.f[d000])[kzero];
+        real f_BSW =  (D.f[dPPP])[ktne];
+        real f_BNE =  (D.f[dMMP])[ktsw];
+        real f_BNW =  (D.f[dPMP])[ktse];
+        real f_BSE =  (D.f[dMPP])[ktnw];
+        real f_TSW =  (D.f[dPPM])[kbne];
+        real f_TNE =  (D.f[dMMM])[kbsw];
+        real f_TNW =  (D.f[dPMM])[kbse];
+        real f_TSE =  (D.f[dMPM])[kbnw];
+        ////////////////////////////////////////////////////////////////////////////////
+        //macroscopic values
+        real rho0 = 
+            (f_TNE + f_BSW) + (f_TSW + f_BNE) + (f_TSE + f_BNW) + (f_TNW + f_BSE) + 
+            (f_NE  + f_SW ) + (f_NW  + f_SE ) + (f_TE  + f_BW ) + (f_BE  + f_TW ) + 
+            (f_TN  + f_BS ) + (f_BN  + f_TS ) + 
+            (f_E   + f_W  ) + (f_N   + f_S  ) + (f_T   + f_B  ) +  f_ZERO;
+        real rho = rho0 + c1o1;
+        real OORho = c1o1 / rho;
+
+        real vx1 = 
+            OORho*((f_TNE - f_BSW) + (f_BNE - f_TSW) + (f_TSE - f_BNW) + (f_BSE - f_TNW) + 
+            (f_NE - f_SW) + (f_SE - f_NW) + (f_TE - f_BW) + (f_BE - f_TW) + (f_E - f_W));
+        real vx2 = 
+            OORho*((f_TNE - f_BSW) + (f_BNE - f_TSW) + (f_BNW - f_TSE) + (f_TNW - f_BSE) + 
+            (f_NE - f_SW) + (f_NW - f_SE) + (f_TN - f_BS) + (f_BN - f_TS) + (f_N - f_S));
+        real vx3 = 
+            OORho*((f_TNE - f_BSW) + (f_TSW - f_BNE) + (f_TSE - f_BNW) + (f_TNW - f_BSE) + 
+            (f_TE - f_BW) + (f_TW - f_BE) + (f_TN - f_BS) + (f_TS - f_BN) + (f_T - f_B));
+        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //AD - BC Nodes
+        ////////////////////////////////////////////////////////////////////////////////
+        //distributions
+        real f27_W =    (D27.f[dP00])[ke];
+        real f27_E =    (D27.f[dM00])[kw];
+        real f27_S =    (D27.f[d0P0])[kn];
+        real f27_N =    (D27.f[d0M0])[ks];
+        real f27_B =    (D27.f[d00P])[kt];
+        real f27_T =    (D27.f[d00M])[kb];
+        real f27_SW =   (D27.f[dPP0])[kne];
+        real f27_NE =   (D27.f[dMM0])[ksw];
+        real f27_NW =   (D27.f[dPM0])[kse];
+        real f27_SE =   (D27.f[dMP0])[knw];
+        real f27_BW =   (D27.f[dP0P])[kte];
+        real f27_TE =   (D27.f[dM0M])[kbw];
+        real f27_TW =   (D27.f[dP0M])[kbe];
+        real f27_BE =   (D27.f[dM0P])[ktw];
+        real f27_BS =   (D27.f[d0PP])[ktn];
+        real f27_TN =   (D27.f[d0MM])[kbs];
+        real f27_TS =   (D27.f[d0PM])[kbn];
+        real f27_BN =   (D27.f[d0MP])[kts];
+        real f27_ZERO = (D27.f[d000])[kzero];
+        real f27_BSW =  (D27.f[dPPP])[ktne];
+        real f27_BNE =  (D27.f[dMMP])[ktsw];
+        real f27_BNW =  (D27.f[dPMP])[ktse];
+        real f27_BSE =  (D27.f[dMPP])[ktnw];
+        real f27_TSW =  (D27.f[dPPM])[kbne];
+        real f27_TNE =  (D27.f[dMMM])[kbsw];
+        real f27_TNW =  (D27.f[dPMM])[kbse];
+        real f27_TSE =  (D27.f[dMPM])[kbnw];
+        ////////////////////////////////////////////////////////////////////////////////
+        real cusq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
+        ////////////////////////////////////////////////////////////////////////////////
+        //concentration
+        real ConcD = 
+            (f27_TNE + f27_BSW) + (f27_TSW + f27_BNE) + (f27_TSE + f27_BNW) + (f27_TNW + f27_BSE) + 
+            (f27_NE  + f27_SW ) + (f27_NW  + f27_SE ) + (f27_TE  + f27_BW ) + (f27_BE  + f27_TW ) + 
+            (f27_TN  + f27_BS ) + (f27_BN  + f27_TS ) +                           
+            (f27_E   + f27_W  ) + (f27_N   + f27_S  ) + (f27_T   + f27_B  ) +  f27_ZERO;
+        ////////////////////////////////////////////////////////////////////////////////
+        //calculate non-equilibrium
+        f27_ZERO  -=  c8o27* (ConcD-(ConcD+c1o1)*cusq);
+        f27_E     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*( vx1        )+c9o2*( vx1        )*( vx1        )-cusq));
+        f27_W     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1        )+c9o2*(-vx1        )*(-vx1        )-cusq));
+        f27_N     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(    vx2     )+c9o2*(     vx2    )*(     vx2    )-cusq));
+        f27_S     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(   -vx2     )+c9o2*(    -vx2    )*(    -vx2    )-cusq));
+        f27_T     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(         vx3)+c9o2*(         vx3)*(         vx3)-cusq));
+        f27_B     -=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(        -vx3)+c9o2*(        -vx3)*(        -vx3)-cusq));
+        f27_NE    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2    )+c9o2*( vx1+vx2    )*( vx1+vx2    )-cusq));
+        f27_SW    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2    )+c9o2*(-vx1-vx2    )*(-vx1-vx2    )-cusq));
+        f27_SE    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2    )+c9o2*( vx1-vx2    )*( vx1-vx2    )-cusq));
+        f27_NW    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2    )+c9o2*(-vx1+vx2    )*(-vx1+vx2    )-cusq));
+        f27_TE    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1    +vx3)+c9o2*( vx1    +vx3)*( vx1    +vx3)-cusq));
+        f27_BW    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1    -vx3)+c9o2*(-vx1    -vx3)*(-vx1    -vx3)-cusq));
+        f27_BE    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1    -vx3)+c9o2*( vx1    -vx3)*( vx1    -vx3)-cusq));
+        f27_TW    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1    +vx3)+c9o2*(-vx1    +vx3)*(-vx1    +vx3)-cusq));
+        f27_TN    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(     vx2+vx3)+c9o2*(     vx2+vx3)*(     vx2+vx3)-cusq));
+        f27_BS    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(    -vx2-vx3)+c9o2*(    -vx2-vx3)*(    -vx2-vx3)-cusq));
+        f27_BN    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(     vx2-vx3)+c9o2*(     vx2-vx3)*(     vx2-vx3)-cusq));
+        f27_TS    -=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(    -vx2+vx3)+c9o2*(    -vx2+vx3)*(    -vx2+vx3)-cusq));
+        f27_TNE   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq));
+        f27_BSW   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq));
+        f27_BNE   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq));
+        f27_TSW   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq));
+        f27_TSE   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq));
+        f27_BNW   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq));
+        f27_BSE   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq));
+        f27_TNW   -=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq));
+        ////////////////////////////////////////////////////////////////////////////////
+        ConcD = c0o1;
+        ////////////////////////////////////////////////////////////////////////////////
+        //add BC equilibrium
+        f27_ZERO  +=  c8o27* (ConcD-(ConcD+c1o1)*cusq);
+        f27_E     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*( vx1        )+c9o2*( vx1        )*( vx1        )-cusq));
+        f27_W     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1        )+c9o2*(-vx1        )*(-vx1        )-cusq));
+        f27_N     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(    vx2     )+c9o2*(     vx2    )*(     vx2    )-cusq));
+        f27_S     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(   -vx2     )+c9o2*(    -vx2    )*(    -vx2    )-cusq));
+        f27_T     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(         vx3)+c9o2*(         vx3)*(         vx3)-cusq));
+        f27_B     +=  c2o27* (ConcD+(ConcD+c1o1)*(c3o1*(        -vx3)+c9o2*(        -vx3)*(        -vx3)-cusq));
+        f27_NE    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2    )+c9o2*( vx1+vx2    )*( vx1+vx2    )-cusq));
+        f27_SW    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2    )+c9o2*(-vx1-vx2    )*(-vx1-vx2    )-cusq));
+        f27_SE    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2    )+c9o2*( vx1-vx2    )*( vx1-vx2    )-cusq));
+        f27_NW    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2    )+c9o2*(-vx1+vx2    )*(-vx1+vx2    )-cusq));
+        f27_TE    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1    +vx3)+c9o2*( vx1    +vx3)*( vx1    +vx3)-cusq));
+        f27_BW    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1    -vx3)+c9o2*(-vx1    -vx3)*(-vx1    -vx3)-cusq));
+        f27_BE    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*( vx1    -vx3)+c9o2*( vx1    -vx3)*( vx1    -vx3)-cusq));
+        f27_TW    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(-vx1    +vx3)+c9o2*(-vx1    +vx3)*(-vx1    +vx3)-cusq));
+        f27_TN    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(     vx2+vx3)+c9o2*(     vx2+vx3)*(     vx2+vx3)-cusq));
+        f27_BS    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(    -vx2-vx3)+c9o2*(    -vx2-vx3)*(    -vx2-vx3)-cusq));
+        f27_BN    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(     vx2-vx3)+c9o2*(     vx2-vx3)*(     vx2-vx3)-cusq));
+        f27_TS    +=  c1o54* (ConcD+(ConcD+c1o1)*(c3o1*(    -vx2+vx3)+c9o2*(    -vx2+vx3)*(    -vx2+vx3)-cusq));
+        f27_TNE   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq));
+        f27_BSW   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq));
+        f27_BNE   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq));
+        f27_TSW   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq));
+        f27_TSE   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq));
+        f27_BNW   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq));
+        f27_BSE   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq));
+        f27_TNW   +=  c1o216*(ConcD+(ConcD+c1o1)*(c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq));
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         __syncthreads();
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		//Neighbors of BC Nodes
-		////////////////////////////////////////////////////////////////////////////////
-		//index neighbor
-		unsigned int KNQK = k_N[k];
-		unsigned int kNzero = KNQK;
-		unsigned int kNe = KNQK;
-		unsigned int kNw = neighborX[KNQK];
-		unsigned int kNn = KNQK;
-		unsigned int kNs = neighborY[KNQK];
-		unsigned int kNt = KNQK;
-		unsigned int kNb = neighborZ[KNQK];
-		unsigned int kNsw = neighborY[kNw];
-		unsigned int kNne = KNQK;
-		unsigned int kNse = kNs;
-		unsigned int kNnw = kNw;
-		unsigned int kNbw = neighborZ[kNw];
-		unsigned int kNte = KNQK;
-		unsigned int kNbe = kNb;
-		unsigned int kNtw = kNw;
-		unsigned int kNbs = neighborZ[kNs];
-		unsigned int kNtn = KNQK;
-		unsigned int kNbn = kNb;
-		unsigned int kNts = kNs;
-		unsigned int kNtse = kNs;
-		unsigned int kNbnw = kNbw;
-		unsigned int kNtnw = kNw;
-		unsigned int kNbse = kNbs;
-		unsigned int kNtsw = kNsw;
-		unsigned int kNbne = kNb;
-		unsigned int kNtne = KNQK;
-		unsigned int kNbsw = neighborZ[kNsw];
-		////////////////////////////////////////////////////////////////////////////////
-		//update distributions at neighbor nodes
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //Neighbors of BC Nodes
+        ////////////////////////////////////////////////////////////////////////////////
+        //index neighbor
+        unsigned int KNQK = k_N[k];
+        unsigned int kNzero = KNQK;
+        unsigned int kNe = KNQK;
+        unsigned int kNw = neighborX[KNQK];
+        unsigned int kNn = KNQK;
+        unsigned int kNs = neighborY[KNQK];
+        unsigned int kNt = KNQK;
+        unsigned int kNb = neighborZ[KNQK];
+        unsigned int kNsw = neighborY[kNw];
+        unsigned int kNne = KNQK;
+        unsigned int kNse = kNs;
+        unsigned int kNnw = kNw;
+        unsigned int kNbw = neighborZ[kNw];
+        unsigned int kNte = KNQK;
+        unsigned int kNbe = kNb;
+        unsigned int kNtw = kNw;
+        unsigned int kNbs = neighborZ[kNs];
+        unsigned int kNtn = KNQK;
+        unsigned int kNbn = kNb;
+        unsigned int kNts = kNs;
+        unsigned int kNtse = kNs;
+        unsigned int kNbnw = kNbw;
+        unsigned int kNtnw = kNw;
+        unsigned int kNbse = kNbs;
+        unsigned int kNtsw = kNsw;
+        unsigned int kNbne = kNb;
+        unsigned int kNtne = KNQK;
+        unsigned int kNbsw = neighborZ[kNsw];
+        ////////////////////////////////////////////////////////////////////////////////
+        //update distributions at neighbor nodes
         (D27.f[dP00])[kNe   ] = f27_W   ;  
-        (D27.f[dM00])[kNw   ] = f27_E   ;	
-        (D27.f[d0P0])[kNn   ] = f27_S   ;	
-        (D27.f[d0M0])[kNs   ] = f27_N   ;	
-        (D27.f[d00P])[kNt   ] = f27_B   ;	
-        (D27.f[d00M])[kNb   ] = f27_T   ;	
-        (D27.f[dPP0])[kNne  ] = f27_SW  ;	
-        (D27.f[dMM0])[kNsw  ] = f27_NE  ;	
-        (D27.f[dPM0])[kNse  ] = f27_NW  ;	
-        (D27.f[dMP0])[kNnw  ] = f27_SE  ;	
-        (D27.f[dP0P])[kNte  ] = f27_BW  ;	
-        (D27.f[dM0M])[kNbw  ] = f27_TE  ;	
-        (D27.f[dP0M])[kNbe  ] = f27_TW  ;	
-        (D27.f[dM0P])[kNtw  ] = f27_BE  ;	
-        (D27.f[d0PP])[kNtn  ] = f27_BS  ;	
-        (D27.f[d0MM])[kNbs  ] = f27_TN  ;	
-        (D27.f[d0PM])[kNbn  ] = f27_TS  ;	
-        (D27.f[d0MP])[kNts  ] = f27_BN  ;	
-        (D27.f[d000])[kNzero] = f27_ZERO;	
-        (D27.f[dPPP])[kNtne ] = f27_BSW ;	
-        (D27.f[dMMP])[kNtsw ] = f27_BNE ;	
-        (D27.f[dPMP])[kNtse ] = f27_BNW ;	
-        (D27.f[dMPP])[kNtnw ] = f27_BSE ;	
-        (D27.f[dPPM])[kNbne ] = f27_TSW ;	
-        (D27.f[dMMM])[kNbsw ] = f27_TNE ;	
-        (D27.f[dPMM])[kNbse ] = f27_TNW ;	
+        (D27.f[dM00])[kNw   ] = f27_E   ;    
+        (D27.f[d0P0])[kNn   ] = f27_S   ;    
+        (D27.f[d0M0])[kNs   ] = f27_N   ;    
+        (D27.f[d00P])[kNt   ] = f27_B   ;    
+        (D27.f[d00M])[kNb   ] = f27_T   ;    
+        (D27.f[dPP0])[kNne  ] = f27_SW  ;    
+        (D27.f[dMM0])[kNsw  ] = f27_NE  ;    
+        (D27.f[dPM0])[kNse  ] = f27_NW  ;    
+        (D27.f[dMP0])[kNnw  ] = f27_SE  ;    
+        (D27.f[dP0P])[kNte  ] = f27_BW  ;    
+        (D27.f[dM0M])[kNbw  ] = f27_TE  ;    
+        (D27.f[dP0M])[kNbe  ] = f27_TW  ;    
+        (D27.f[dM0P])[kNtw  ] = f27_BE  ;    
+        (D27.f[d0PP])[kNtn  ] = f27_BS  ;    
+        (D27.f[d0MM])[kNbs  ] = f27_TN  ;    
+        (D27.f[d0PM])[kNbn  ] = f27_TS  ;    
+        (D27.f[d0MP])[kNts  ] = f27_BN  ;    
+        (D27.f[d000])[kNzero] = f27_ZERO;    
+        (D27.f[dPPP])[kNtne ] = f27_BSW ;    
+        (D27.f[dMMP])[kNtsw ] = f27_BNE ;    
+        (D27.f[dPMP])[kNtse ] = f27_BNW ;    
+        (D27.f[dMPP])[kNtnw ] = f27_BSE ;    
+        (D27.f[dPPM])[kNbne ] = f27_TSW ;    
+        (D27.f[dMMM])[kNbsw ] = f27_TNE ;    
+        (D27.f[dPMM])[kNbse ] = f27_TNW ;    
         (D27.f[dMPM])[kNbnw ] = f27_TSE ;       
-	}
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -1630,7 +1630,7 @@ __global__ void QADVel7( real* DD,
       real vx2    =  OORho*((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S));
       real vx3    =  OORho*((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B));
 
-	  //real cu_sq       =1.5f*(vx1*vx1+vx2*vx2+vx3*vx3);
+      //real cu_sq       =1.5f*(vx1*vx1+vx2*vx2+vx3*vx3);
       real ux_sq       = vx1 * vx1;
       real uy_sq       = vx2 * vx2;
       real uz_sq       = vx3 * vx3;
@@ -2853,19 +2853,19 @@ __global__ void QAD7( real* DD,
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QADDirichlet27(
-											 real* DD, 
-											 real* DD27, 
-											 real* temp,
-											 real diffusivity,
-											 int* k_Q, 
-											 real* QQ,
-											 unsigned int numberOfBCnodes, 
-											 real om1, 
-											 unsigned int* neighborX,
-											 unsigned int* neighborY,
-											 unsigned int* neighborZ,
-											 unsigned long long numberOfLBnodes, 
-											 bool isEvenTimestep)
+                                             real* DD, 
+                                             real* DD27, 
+                                             real* temp,
+                                             real diffusivity,
+                                             int* k_Q, 
+                                             real* QQ,
+                                             unsigned int numberOfBCnodes, 
+                                             real om1, 
+                                             unsigned int* neighborX,
+                                             unsigned int* neighborY,
+                                             unsigned int* neighborZ,
+                                             unsigned long long numberOfLBnodes, 
+                                             bool isEvenTimestep)
 {
    Distributions27 D;
    if (isEvenTimestep==true)
@@ -3881,9 +3881,9 @@ __global__ void QADBB27( real* DD,
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////																																		  //////
-//////                 										incomp   																		  //////
-//////																																		  //////
+//////                                                                                                                                          //////
+//////                                                         incomp                                                                             //////
+//////                                                                                                                                          //////
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -3894,19 +3894,19 @@ __global__ void QADBB27( real* DD,
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QNoSlipADincomp7(
-											 real* DD, 
-											 real* DD7, 
-											 real* temp,
-											 real diffusivity,
-											 int* k_Q, 
-											 real* QQ,
-											 unsigned int numberOfBCnodes, 
-											 real om1, 
-											 unsigned int* neighborX,
-											 unsigned int* neighborY,
-											 unsigned int* neighborZ,
-											 unsigned long long numberOfLBnodes, 
-											 bool isEvenTimestep)
+                                             real* DD, 
+                                             real* DD7, 
+                                             real* temp,
+                                             real diffusivity,
+                                             int* k_Q, 
+                                             real* QQ,
+                                             unsigned int numberOfBCnodes, 
+                                             real om1, 
+                                             unsigned int* neighborX,
+                                             unsigned int* neighborY,
+                                             unsigned int* neighborZ,
+                                             unsigned long long numberOfLBnodes, 
+                                             bool isEvenTimestep)
 {
    //Distributions27 D;
    //if (isEvenTimestep==true)
@@ -4076,7 +4076,7 @@ __global__ void QNoSlipADincomp7(
       //real vx1 =  ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W));
       //real vx2 =  ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S));
       //real vx3 =  ((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B));
-		 ////d�rrrrrty !!!!!!!!!!!!!
+         ////d�rrrrrty !!!!!!!!!!!!!
    //      real vx1     =  ten * ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W));
    //      real vx2     =  ten * ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S));
    //      real vx3     =  ten * ((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B));
@@ -4086,7 +4086,7 @@ __global__ void QNoSlipADincomp7(
       //real uy_sq       = vx2 * vx2;
       //real uz_sq       = vx3 * vx3;
       ////////////////////////////////////////////////////////////////////////////////
-	  //BGK
+      //BGK
       //real omegaD     = three - sqrt(three);
       //real Lam         = -(c1o2-one/omegaD);
       //real nue_d       = Lam/three;
@@ -4125,7 +4125,7 @@ __global__ void QNoSlipADincomp7(
       //feqW7_B    = TempD*(c1o6*(ae+one));//+c1o2*(uz_sq)-vx3*c1o2);
 
       ////////////////////////////////////////////////////////////////////////////////
-	  //TRT
+      //TRT
       real cs2     = c1o4;
       //////////////////////////////////////////////////////////////////////////
       //pointertausch
@@ -4318,19 +4318,19 @@ __global__ void QNoSlipADincomp7(
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QNoSlipADincomp27(
-											 real* DD, 
-											 real* DD27, 
-											 real* temp,
-											 real diffusivity,
-											 int* k_Q, 
-											 real* QQ,
-											 unsigned int numberOfBCnodes, 
-											 real om1, 
-											 unsigned int* neighborX,
-											 unsigned int* neighborY,
-											 unsigned int* neighborZ,
-											 unsigned long long numberOfLBnodes, 
-											 bool isEvenTimestep)
+                                             real* DD, 
+                                             real* DD27, 
+                                             real* temp,
+                                             real diffusivity,
+                                             int* k_Q, 
+                                             real* QQ,
+                                             unsigned int numberOfBCnodes, 
+                                             real om1, 
+                                             unsigned int* neighborX,
+                                             unsigned int* neighborY,
+                                             unsigned int* neighborZ,
+                                             unsigned long long numberOfLBnodes, 
+                                             bool isEvenTimestep)
 {
    Distributions27 D;
    if (isEvenTimestep==true)
@@ -4727,7 +4727,7 @@ __global__ void QNoSlipADincomp27(
       //Test
       //(D.f[d000])[k]=0.1f;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real q;
+      real q;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       q = q_dirE[k];   if (q>=c0o1 && q<=c1o1) (D27.f[dM00])[kw  ]=(c2o1*feqW27_W  -(f27_E  *(q*omegaD-c1o1)-omegaD*feq27_E  *(q-c1o1))/(omegaD-c1o1)+f27_W  *q)/(q+c1o1);
       q = q_dirW[k];   if (q>=c0o1 && q<=c1o1) (D27.f[dP00])[ke  ]=(c2o1*feqW27_E  -(f27_W  *(q*omegaD-c1o1)-omegaD*feq27_W  *(q-c1o1))/(omegaD-c1o1)+f27_E  *q)/(q+c1o1);
@@ -4799,20 +4799,20 @@ __global__ void QNoSlipADincomp27(
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QADVeloIncomp7(
-											real* DD, 
-											real* DD7, 
-											real* temp,
-											real* velo,
-											real diffusivity,
-											int* k_Q, 
-											real* QQ,
-											unsigned int numberOfBCnodes, 
-											real om1, 
-											unsigned int* neighborX,
-											unsigned int* neighborY,
-											unsigned int* neighborZ,
-											unsigned long long numberOfLBnodes, 
-											bool isEvenTimestep)
+                                            real* DD, 
+                                            real* DD7, 
+                                            real* temp,
+                                            real* velo,
+                                            real diffusivity,
+                                            int* k_Q, 
+                                            real* QQ,
+                                            unsigned int numberOfBCnodes, 
+                                            real om1, 
+                                            unsigned int* neighborX,
+                                            unsigned int* neighborY,
+                                            unsigned int* neighborZ,
+                                            unsigned long long numberOfLBnodes, 
+                                            bool isEvenTimestep)
 {
    //Distributions27 D;
    //if (isEvenTimestep==true)
@@ -4989,12 +4989,12 @@ __global__ void QADVeloIncomp7(
       //real vx1 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W));
       //real vx2 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S));
       //real vx3 = ((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B));
-		 ////d�rrrrrty !!!!!!!!!!!!!
+         ////d�rrrrrty !!!!!!!!!!!!!
    //      real vx1     =  ten * ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W));
    //      real vx2     =  ten * ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S));
    //      real vx3     =  ten * ((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B));
       ////////////////////////////////////////////////////////////////////////////////
-	  //real cu_sq       =1.5f*(vx1*vx1+vx2*vx2+vx3*vx3);
+      //real cu_sq       =1.5f*(vx1*vx1+vx2*vx2+vx3*vx3);
       //real ux_sq       = vx1 * vx1;
       //real uy_sq       = vx2 * vx2;
       //real uz_sq       = vx3 * vx3;
@@ -5015,7 +5015,7 @@ __global__ void QADVeloIncomp7(
       //real ConcD = f7_ZERO + f7_E + f7_W + f7_N + f7_S + f7_T + f7_B;
 
       ////////////////////////////////////////////////////////////////////////////////
-	  //BGK
+      //BGK
       //real omegaD     = three - sqrt(three);
       //real Lam         = -(c1o2-one/omegaD);
       //real nue_d       = Lam/three;
@@ -5039,13 +5039,13 @@ __global__ void QADVeloIncomp7(
       //feqW7_B    = TempD*(c1o6*(ae+one)+c1o2*(uz_sq_Inflow)-vx3_Inflow*c1o2);
 
    //      ////////////////////////////////////////////////////////////////////////////////
-		 ////TRT  Yoshida Kernel - based on Ying
+         ////TRT  Yoshida Kernel - based on Ying
          real cs2         = c1o4;
    //      real Lam         = diffusivity/(one)/cs2;
    //      real omegaD      = - one / (Lam + c1o2);
    //      real ae          = zero;
    //      ////////////////////////////////////////////////////////////////////////////////
-		 //real Mom000 = f7_ZERO + f7_W + f7_E + f7_N + f7_S + f7_T + f7_B; //1
+         //real Mom000 = f7_ZERO + f7_W + f7_E + f7_N + f7_S + f7_T + f7_B; //1
    //      real Mom100 = f7_E - f7_W;
    //      real Mom010 = f7_N - f7_S;
    //      real Mom001 = f7_T - f7_B;
@@ -5277,20 +5277,20 @@ __global__ void QADVeloIncomp7(
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QADVeloIncomp27(
-											real* DD, 
-											real* DD27, 
-											real* temp,
-											real* velo,
-											real diffusivity,
-											int* k_Q, 
-											real* QQ,
-											unsigned int numberOfBCnodes, 
-											real om1, 
-											unsigned int* neighborX,
-											unsigned int* neighborY,
-											unsigned int* neighborZ,
-											unsigned long long numberOfLBnodes, 
-											bool isEvenTimestep)
+                                            real* DD, 
+                                            real* DD27, 
+                                            real* temp,
+                                            real* velo,
+                                            real diffusivity,
+                                            int* k_Q, 
+                                            real* QQ,
+                                            unsigned int numberOfBCnodes, 
+                                            real om1, 
+                                            unsigned int* neighborX,
+                                            unsigned int* neighborY,
+                                            unsigned int* neighborZ,
+                                            unsigned long long numberOfLBnodes, 
+                                            bool isEvenTimestep)
 {
    Distributions27 D;
    if (isEvenTimestep==true)
@@ -5790,19 +5790,19 @@ __global__ void QADVeloIncomp27(
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QADPressIncomp7( real* DD, 
-										   real* DD7, 
-										   real* temp,
-										   real* velo,
-										   real diffusivity,
-										   int* k_Q, 
-										   real* QQ,
-										   unsigned int numberOfBCnodes, 
-										   real om1, 
-										   unsigned int* neighborX,
-										   unsigned int* neighborY,
-										   unsigned int* neighborZ,
-										   unsigned long long numberOfLBnodes, 
-										   bool isEvenTimestep)
+                                           real* DD7, 
+                                           real* temp,
+                                           real* velo,
+                                           real diffusivity,
+                                           int* k_Q, 
+                                           real* QQ,
+                                           unsigned int numberOfBCnodes, 
+                                           real om1, 
+                                           unsigned int* neighborX,
+                                           unsigned int* neighborY,
+                                           unsigned int* neighborZ,
+                                           unsigned long long numberOfLBnodes, 
+                                           bool isEvenTimestep)
 {
   /* Distributions27 D;
    if (isEvenTimestep==true)
@@ -5975,17 +5975,17 @@ __global__ void QADPressIncomp7( real* DD,
       //real vx1 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W));
       //real vx2 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S));
       //real vx3 = ((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B));
-		 ////d�rrrrrty !!!!!!!!!!!!!
+         ////d�rrrrrty !!!!!!!!!!!!!
    //      real vx1     =  ten * ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W));
    //      real vx2     =  ten * ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S));
    //      real vx3     =  ten * ((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B));
 
-	  //real cu_sq       =1.5*(vx1*vx1+vx2*vx2+vx3*vx3);
+      //real cu_sq       =1.5*(vx1*vx1+vx2*vx2+vx3*vx3);
       //real ux_sq       = vx1 * vx1;
       //real uy_sq       = vx2 * vx2;
       //real uz_sq       = vx3 * vx3;
       //////////////////////////////////////////////////////////////////////////
-	  //BGK
+      //BGK
       //real omegaD     = three - sqrt(three);
       //real Lam         = -(c1o2-one/omegaD);
       //real nue_d       = Lam/three;
@@ -6025,7 +6025,7 @@ __global__ void QADPressIncomp7( real* DD,
       //feqW7_B    = feq7_B;// TempD*(c1o6*(ae+one)+c1o2*(uz_sq_Inflow)-vx3_Inflow*c1o2);
 
       //////////////////////////////////////////////////////////////////////////
-	  //TRT  Yoshida Kernel - based on Ying
+      //TRT  Yoshida Kernel - based on Ying
       real cs2         = c1o4;
       real Lam         = diffusivity/(c1o1)/cs2;
       //real omegaD      = - c1o1 / (Lam + c1o2);
@@ -6228,20 +6228,20 @@ __global__ void QADPressIncomp7( real* DD,
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QADPressIncomp27(
-											   real* DD,
-											   real* DD27,
-											   real* temp,
-											   real* velo,
-											   real diffusivity,
-											   int* k_Q, 
-											   real* QQ,
-											   unsigned int numberOfBCnodes, 
-											   real om1, 
-											   unsigned int* neighborX,
-											   unsigned int* neighborY,
-											   unsigned int* neighborZ,
-											   unsigned long long numberOfLBnodes, 
-											   bool isEvenTimestep)
+                                               real* DD,
+                                               real* DD27,
+                                               real* temp,
+                                               real* velo,
+                                               real diffusivity,
+                                               int* k_Q, 
+                                               real* QQ,
+                                               unsigned int numberOfBCnodes, 
+                                               real om1, 
+                                               unsigned int* neighborX,
+                                               unsigned int* neighborY,
+                                               unsigned int* neighborZ,
+                                               unsigned long long numberOfLBnodes, 
+                                               bool isEvenTimestep)
 {
    Distributions27 D;
    if (isEvenTimestep==true)
diff --git a/src/gpu/core/GPU/CP27.cu b/src/gpu/core/GPU/CP27.cu
index 55717462bc4fbcb75bb1d55c193e0d4ea222aac8..48043dee741be928da65acdfebcba61d8349f4fa 100644
--- a/src/gpu/core/GPU/CP27.cu
+++ b/src/gpu/core/GPU/CP27.cu
@@ -8,123 +8,123 @@ using namespace vf::lbm::dir;
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void CalcCP27(real* DD, 
-									int* cpIndex, 
-									int nonCp, 
-									double *cpPress,
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned long long numberOfLBnodes, 
-									bool isEvenTimestep)
+                                    int* cpIndex, 
+                                    int nonCp, 
+                                    double *cpPress,
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned long long numberOfLBnodes, 
+                                    bool isEvenTimestep)
 {
-	Distributions27 D;
-	if (isEvenTimestep==true)
-	{
-		D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00P] = &DD[d00P * numberOfLBnodes];
-		D.f[d00M] = &DD[d00M * numberOfLBnodes];
-		D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-		D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-		D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-		D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-		D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-		D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-		D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-		D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-		D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-	} 
-	else
-	{
-		D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00M] = &DD[d00P * numberOfLBnodes];
-		D.f[d00P] = &DD[d00M * numberOfLBnodes];
-		D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-		D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-		D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-		D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-		D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-		D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-		D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-		D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-		D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-	}
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
+    Distributions27 D;
+    if (isEvenTimestep==true)
+    {
+        D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00P] = &DD[d00P * numberOfLBnodes];
+        D.f[d00M] = &DD[d00M * numberOfLBnodes];
+        D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+        D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+        D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+        D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+        D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+        D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+        D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+        D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+        D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+    } 
+    else
+    {
+        D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00M] = &DD[d00P * numberOfLBnodes];
+        D.f[d00P] = &DD[d00M * numberOfLBnodes];
+        D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+        D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+        D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+        D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+        D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+        D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+        D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+        D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+        D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+    }
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
 
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
 
-	if(k<nonCp)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		//index
-		unsigned int KQK  = cpIndex[k];
-		unsigned int kzero= KQK;
-		unsigned int ke   = KQK;
-		unsigned int kw   = neighborX[KQK];
-		unsigned int kn   = KQK;
-		unsigned int ks   = neighborY[KQK];
-		unsigned int kt   = KQK;
-		unsigned int kb   = neighborZ[KQK];
-		unsigned int ksw  = neighborY[kw];
-		unsigned int kne  = KQK;
-		unsigned int kse  = ks;
-		unsigned int knw  = kw;
-		unsigned int kbw  = neighborZ[kw];
-		unsigned int kte  = KQK;
-		unsigned int kbe  = kb;
-		unsigned int ktw  = kw;
-		unsigned int kbs  = neighborZ[ks];
-		unsigned int ktn  = KQK;
-		unsigned int kbn  = kb;
-		unsigned int kts  = ks;
-		unsigned int ktse = ks;
-		unsigned int kbnw = kbw;
-		unsigned int ktnw = kw;
-		unsigned int kbse = kbs;
-		unsigned int ktsw = ksw;
-		unsigned int kbne = kb;
-		unsigned int ktne = KQK;
-		unsigned int kbsw = neighborZ[ksw];
-		////////////////////////////////////////////////////////////////////////////////
-		double PressCP;
+    if(k<nonCp)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        //index
+        unsigned int KQK  = cpIndex[k];
+        unsigned int kzero= KQK;
+        unsigned int ke   = KQK;
+        unsigned int kw   = neighborX[KQK];
+        unsigned int kn   = KQK;
+        unsigned int ks   = neighborY[KQK];
+        unsigned int kt   = KQK;
+        unsigned int kb   = neighborZ[KQK];
+        unsigned int ksw  = neighborY[kw];
+        unsigned int kne  = KQK;
+        unsigned int kse  = ks;
+        unsigned int knw  = kw;
+        unsigned int kbw  = neighborZ[kw];
+        unsigned int kte  = KQK;
+        unsigned int kbe  = kb;
+        unsigned int ktw  = kw;
+        unsigned int kbs  = neighborZ[ks];
+        unsigned int ktn  = KQK;
+        unsigned int kbn  = kb;
+        unsigned int kts  = ks;
+        unsigned int ktse = ks;
+        unsigned int kbnw = kbw;
+        unsigned int ktnw = kw;
+        unsigned int kbse = kbs;
+        unsigned int ktsw = ksw;
+        unsigned int kbne = kb;
+        unsigned int ktne = KQK;
+        unsigned int kbsw = neighborZ[ksw];
+        ////////////////////////////////////////////////////////////////////////////////
+        double PressCP;
 
-		PressCP  =   (D.f[dP00])[ke  ]+ (D.f[dM00])[kw  ]+ 
+        PressCP  =   (D.f[dP00])[ke  ]+ (D.f[dM00])[kw  ]+ 
                      (D.f[d0P0])[kn  ]+ (D.f[d0M0])[ks  ]+
                      (D.f[d00P])[kt  ]+ (D.f[d00M])[kb  ]+
                      (D.f[dPP0])[kne ]+ (D.f[dMM0])[ksw ]+
@@ -138,9 +138,9 @@ __global__ void CalcCP27(real* DD,
                      (D.f[dPMP])[ktse]+ (D.f[dMPP])[ktnw]+ 
                      (D.f[dPPM])[kbne]+ (D.f[dMMM])[kbsw]+ 
                      (D.f[dPMM])[kbse]+ (D.f[dMPM])[kbnw];
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		cpPress[k] = PressCP;
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	}
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        cpPress[k] = PressCP;
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    }
 }
 
diff --git a/src/gpu/core/GPU/Calc2ndMoments27.cu b/src/gpu/core/GPU/Calc2ndMoments27.cu
index edd48091e7429bc5e3221fc1bd8b8420f67f22da..dbf8063f958a824bcb8567fbc1db60a6c8d3975c 100644
--- a/src/gpu/core/GPU/Calc2ndMoments27.cu
+++ b/src/gpu/core/GPU/Calc2ndMoments27.cu
@@ -8,17 +8,17 @@ using namespace vf::lbm::dir;
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void LBCalc2ndMomentsIncompSP27(  real* kxyFromfcNEQ,
-														real* kyzFromfcNEQ,
-														real* kxzFromfcNEQ,
-														real* kxxMyyFromfcNEQ,
-														real* kxxMzzFromfcNEQ,
-														unsigned int* geoD,
-														unsigned int* neighborX,
-														unsigned int* neighborY,
-														unsigned int* neighborZ,
-														unsigned long long numberOfLBnodes,
-														real* DD,
-														bool isEvenTimestep)
+                                                        real* kyzFromfcNEQ,
+                                                        real* kxzFromfcNEQ,
+                                                        real* kxxMyyFromfcNEQ,
+                                                        real* kxxMzzFromfcNEQ,
+                                                        unsigned int* geoD,
+                                                        unsigned int* neighborX,
+                                                        unsigned int* neighborY,
+                                                        unsigned int* neighborZ,
+                                                        unsigned long long numberOfLBnodes,
+                                                        real* DD,
+                                                        bool isEvenTimestep)
 {
    Distributions27 D;
    if (isEvenTimestep==true)
@@ -125,51 +125,51 @@ __global__ void LBCalc2ndMomentsIncompSP27(  real* kxyFromfcNEQ,
       unsigned int kbsw = neighborZ[ksw];
       //////////////////////////////////////////////////////////////////////////
       real        f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,/*f_ZERO,*/f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
-	  f_E    = (D.f[dP00])[ke   ];
-	  f_W    = (D.f[dM00])[kw   ];
-	  f_N    = (D.f[d0P0])[kn   ];
-	  f_S    = (D.f[d0M0])[ks   ];
-	  f_T    = (D.f[d00P])[kt   ];
-	  f_B    = (D.f[d00M])[kb   ];
-	  f_NE   = (D.f[dPP0])[kne  ];
-	  f_SW   = (D.f[dMM0])[ksw  ];
-	  f_SE   = (D.f[dPM0])[kse  ];
-	  f_NW   = (D.f[dMP0])[knw  ];
-	  f_TE   = (D.f[dP0P])[kte  ];
-	  f_BW   = (D.f[dM0M])[kbw  ];
-	  f_BE   = (D.f[dP0M])[kbe  ];
-	  f_TW   = (D.f[dM0P])[ktw  ];
-	  f_TN   = (D.f[d0PP])[ktn  ];
-	  f_BS   = (D.f[d0MM])[kbs  ];
-	  f_BN   = (D.f[d0PM])[kbn  ];
-	  f_TS   = (D.f[d0MP])[kts  ];
-	  //f_ZERO = (D.f[d000])[kzero];
-	  f_TNE  = (D.f[dPPP])[ktne ];
-	  f_TSW  = (D.f[dMMP])[ktsw ];
-	  f_TSE  = (D.f[dPMP])[ktse ];
-	  f_TNW  = (D.f[dMPP])[ktnw ];
-	  f_BNE  = (D.f[dPPM])[kbne ];
-	  f_BSW  = (D.f[dMMM])[kbsw ];
-	  f_BSE  = (D.f[dPMM])[kbse ];
-	  f_BNW  = (D.f[dMPM])[kbnw ];
+      f_E    = (D.f[dP00])[ke   ];
+      f_W    = (D.f[dM00])[kw   ];
+      f_N    = (D.f[d0P0])[kn   ];
+      f_S    = (D.f[d0M0])[ks   ];
+      f_T    = (D.f[d00P])[kt   ];
+      f_B    = (D.f[d00M])[kb   ];
+      f_NE   = (D.f[dPP0])[kne  ];
+      f_SW   = (D.f[dMM0])[ksw  ];
+      f_SE   = (D.f[dPM0])[kse  ];
+      f_NW   = (D.f[dMP0])[knw  ];
+      f_TE   = (D.f[dP0P])[kte  ];
+      f_BW   = (D.f[dM0M])[kbw  ];
+      f_BE   = (D.f[dP0M])[kbe  ];
+      f_TW   = (D.f[dM0P])[ktw  ];
+      f_TN   = (D.f[d0PP])[ktn  ];
+      f_BS   = (D.f[d0MM])[kbs  ];
+      f_BN   = (D.f[d0PM])[kbn  ];
+      f_TS   = (D.f[d0MP])[kts  ];
+      //f_ZERO = (D.f[d000])[kzero];
+      f_TNE  = (D.f[dPPP])[ktne ];
+      f_TSW  = (D.f[dMMP])[ktsw ];
+      f_TSE  = (D.f[dPMP])[ktse ];
+      f_TNW  = (D.f[dMPP])[ktnw ];
+      f_BNE  = (D.f[dPPM])[kbne ];
+      f_BSW  = (D.f[dMMM])[kbsw ];
+      f_BSE  = (D.f[dPMM])[kbse ];
+      f_BNW  = (D.f[dMPM])[kbnw ];
       //////////////////////////////////////////////////////////////////////////
-	  real vx1, vx2, vx3;
+      real vx1, vx2, vx3;
       kxyFromfcNEQ[k]       = c0o1;
-	  kyzFromfcNEQ[k]       = c0o1;
-	  kxzFromfcNEQ[k]       = c0o1;
-	  kxxMyyFromfcNEQ[k]    = c0o1;
-	  kxxMzzFromfcNEQ[k]    = c0o1;
+      kyzFromfcNEQ[k]       = c0o1;
+      kxzFromfcNEQ[k]       = c0o1;
+      kxxMyyFromfcNEQ[k]    = c0o1;
+      kxxMzzFromfcNEQ[k]    = c0o1;
 
       if(geoD[k] == GEO_FLUID)
       {
-		  vx1                = ((f_TNE-f_BSW)+(f_BSE-f_TNW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-		  vx2                = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-		  vx3                = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSW-f_BNE)+(f_TSE-f_BNW)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
-		  kxyFromfcNEQ[k]    = -c3o1 *(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1*vx2));
-		  kyzFromfcNEQ[k]    = -c3o1 *(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2*vx3));
-		  kxzFromfcNEQ[k]    = -c3o1 *(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1*vx3));
-		  kxxMyyFromfcNEQ[k] = -c3o2 * (f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1*vx1-vx2*vx2));		//all dP00+dM00 minus all d0P0+d0M0 (no combinations of xy left)
-		  kxxMzzFromfcNEQ[k] = -c3o2 * (f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1*vx1-vx3*vx3));		//all dP00+dM00 minus all d00P+d00M (no combinations of xz left)
+          vx1                = ((f_TNE-f_BSW)+(f_BSE-f_TNW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
+          vx2                = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+          vx3                = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSW-f_BNE)+(f_TSE-f_BNW)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+          kxyFromfcNEQ[k]    = -c3o1 *(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1*vx2));
+          kyzFromfcNEQ[k]    = -c3o1 *(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2*vx3));
+          kxzFromfcNEQ[k]    = -c3o1 *(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1*vx3));
+          kxxMyyFromfcNEQ[k] = -c3o2 * (f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1*vx1-vx2*vx2));        //all dP00+dM00 minus all d0P0+d0M0 (no combinations of xy left)
+          kxxMzzFromfcNEQ[k] = -c3o2 * (f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1*vx1-vx3*vx3));        //all dP00+dM00 minus all d00P+d00M (no combinations of xz left)
       }
    }
 }
@@ -207,17 +207,17 @@ __global__ void LBCalc2ndMomentsIncompSP27(  real* kxyFromfcNEQ,
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void LBCalc2ndMomentsCompSP27(real* kxyFromfcNEQ,
-													real* kyzFromfcNEQ,
-													real* kxzFromfcNEQ,
-													real* kxxMyyFromfcNEQ,
-													real* kxxMzzFromfcNEQ,
-													unsigned int* geoD,
-													unsigned int* neighborX,
-													unsigned int* neighborY,
-													unsigned int* neighborZ,
-													unsigned long long numberOfLBnodes,
-													real* DD,
-													bool isEvenTimestep)
+                                                    real* kyzFromfcNEQ,
+                                                    real* kxzFromfcNEQ,
+                                                    real* kxxMyyFromfcNEQ,
+                                                    real* kxxMzzFromfcNEQ,
+                                                    unsigned int* geoD,
+                                                    unsigned int* neighborX,
+                                                    unsigned int* neighborY,
+                                                    unsigned int* neighborZ,
+                                                    unsigned long long numberOfLBnodes,
+                                                    real* DD,
+                                                    bool isEvenTimestep)
 {
    Distributions27 D;
    if (isEvenTimestep==true)
@@ -325,56 +325,56 @@ __global__ void LBCalc2ndMomentsCompSP27(real* kxyFromfcNEQ,
       //////////////////////////////////////////////////////////////////////////
       real f_ZERO;
       real        f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
-	  f_E    = (D.f[dP00])[ke   ];
-	  f_W    = (D.f[dM00])[kw   ];
-	  f_N    = (D.f[d0P0])[kn   ];
-	  f_S    = (D.f[d0M0])[ks   ];
-	  f_T    = (D.f[d00P])[kt   ];
-	  f_B    = (D.f[d00M])[kb   ];
-	  f_NE   = (D.f[dPP0])[kne  ];
-	  f_SW   = (D.f[dMM0])[ksw  ];
-	  f_SE   = (D.f[dPM0])[kse  ];
-	  f_NW   = (D.f[dMP0])[knw  ];
-	  f_TE   = (D.f[dP0P])[kte  ];
-	  f_BW   = (D.f[dM0M])[kbw  ];
-	  f_BE   = (D.f[dP0M])[kbe  ];
-	  f_TW   = (D.f[dM0P])[ktw  ];
-	  f_TN   = (D.f[d0PP])[ktn  ];
-	  f_BS   = (D.f[d0MM])[kbs  ];
-	  f_BN   = (D.f[d0PM])[kbn  ];
-	  f_TS   = (D.f[d0MP])[kts  ];
-	  f_ZERO = (D.f[d000])[kzero];
-	  f_TNE  = (D.f[dPPP])[ktne ];
-	  f_TSW  = (D.f[dMMP])[ktsw ];
-	  f_TSE  = (D.f[dPMP])[ktse ];
-	  f_TNW  = (D.f[dMPP])[ktnw ];
-	  f_BNE  = (D.f[dPPM])[kbne ];
-	  f_BSW  = (D.f[dMMM])[kbsw ];
-	  f_BSE  = (D.f[dPMM])[kbse ];
-	  f_BNW  = (D.f[dMPM])[kbnw ];
+      f_E    = (D.f[dP00])[ke   ];
+      f_W    = (D.f[dM00])[kw   ];
+      f_N    = (D.f[d0P0])[kn   ];
+      f_S    = (D.f[d0M0])[ks   ];
+      f_T    = (D.f[d00P])[kt   ];
+      f_B    = (D.f[d00M])[kb   ];
+      f_NE   = (D.f[dPP0])[kne  ];
+      f_SW   = (D.f[dMM0])[ksw  ];
+      f_SE   = (D.f[dPM0])[kse  ];
+      f_NW   = (D.f[dMP0])[knw  ];
+      f_TE   = (D.f[dP0P])[kte  ];
+      f_BW   = (D.f[dM0M])[kbw  ];
+      f_BE   = (D.f[dP0M])[kbe  ];
+      f_TW   = (D.f[dM0P])[ktw  ];
+      f_TN   = (D.f[d0PP])[ktn  ];
+      f_BS   = (D.f[d0MM])[kbs  ];
+      f_BN   = (D.f[d0PM])[kbn  ];
+      f_TS   = (D.f[d0MP])[kts  ];
+      f_ZERO = (D.f[d000])[kzero];
+      f_TNE  = (D.f[dPPP])[ktne ];
+      f_TSW  = (D.f[dMMP])[ktsw ];
+      f_TSE  = (D.f[dPMP])[ktse ];
+      f_TNW  = (D.f[dMPP])[ktnw ];
+      f_BNE  = (D.f[dPPM])[kbne ];
+      f_BSW  = (D.f[dMMM])[kbsw ];
+      f_BSE  = (D.f[dPMM])[kbse ];
+      f_BNW  = (D.f[dMPM])[kbnw ];
       //////////////////////////////////////////////////////////////////////////
-	  real drho;
-	  real vx1, vx2, vx3, rho;
+      real drho;
+      real vx1, vx2, vx3, rho;
       kxyFromfcNEQ[k]       = c0o1;
-	  kyzFromfcNEQ[k]       = c0o1;
-	  kxzFromfcNEQ[k]       = c0o1;
-	  kxxMyyFromfcNEQ[k]    = c0o1;
-	  kxxMzzFromfcNEQ[k]    = c0o1;
+      kyzFromfcNEQ[k]       = c0o1;
+      kxzFromfcNEQ[k]       = c0o1;
+      kxxMyyFromfcNEQ[k]    = c0o1;
+      kxxMzzFromfcNEQ[k]    = c0o1;
 
       if(geoD[k] == GEO_FLUID)
       {
           drho               = ((f_TNE+f_BSW)+(f_BSE+f_TNW)+(f_BNE+f_TSW)+(f_TSE+f_BNW)) +
-		 					   ((f_NE+f_SW)+(f_TE+f_BW)+(f_SE+f_NW)+(f_BE+f_TW)+(f_BN+f_TS)+(f_TN+f_BS)) +
-		 					   ((f_E-f_W) + (f_N-f_S) + (f_T-f_B)) + f_ZERO;
-		  rho                = drho + c1o1;
-		  vx1                = ((f_TNE-f_BSW)+(f_BSE-f_TNW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W) / rho;
-		  vx2                = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S) / rho;
-		  vx3                = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSW-f_BNE)+(f_TSE-f_BNW)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B) / rho;
-		  kxyFromfcNEQ[k]    = -c3o1 *(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1*vx2));
-		  kyzFromfcNEQ[k]    = -c3o1 *(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2*vx3));
-		  kxzFromfcNEQ[k]    = -c3o1 *(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1*vx3));
-		  kxxMyyFromfcNEQ[k] = -c3o2 * (f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1*vx1-vx2*vx2));		//all dP00+dM00 minus all d0P0+d0M0 (no combinations of xy left)
-		  kxxMzzFromfcNEQ[k] = -c3o2 * (f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1*vx1-vx3*vx3));		//all dP00+dM00 minus all d00P+d00M (no combinations of xz left)
+                                ((f_NE+f_SW)+(f_TE+f_BW)+(f_SE+f_NW)+(f_BE+f_TW)+(f_BN+f_TS)+(f_TN+f_BS)) +
+                                ((f_E-f_W) + (f_N-f_S) + (f_T-f_B)) + f_ZERO;
+          rho                = drho + c1o1;
+          vx1                = ((f_TNE-f_BSW)+(f_BSE-f_TNW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W) / rho;
+          vx2                = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S) / rho;
+          vx3                = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSW-f_BNE)+(f_TSE-f_BNW)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B) / rho;
+          kxyFromfcNEQ[k]    = -c3o1 *(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1*vx2));
+          kyzFromfcNEQ[k]    = -c3o1 *(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2*vx3));
+          kxzFromfcNEQ[k]    = -c3o1 *(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1*vx3));
+          kxxMyyFromfcNEQ[k] = -c3o2 * (f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1*vx1-vx2*vx2));        //all dP00+dM00 minus all d0P0+d0M0 (no combinations of xy left)
+          kxxMzzFromfcNEQ[k] = -c3o2 * (f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1*vx1-vx3*vx3));        //all dP00+dM00 minus all d00P+d00M (no combinations of xz left)
       }
    }
 }
@@ -412,405 +412,405 @@ __global__ void LBCalc2ndMomentsCompSP27(real* kxyFromfcNEQ,
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void LBCalc3rdMomentsIncompSP27(  real* CUMbbb,
-														real* CUMabc,
-														real* CUMbac,
-														real* CUMbca,
-														real* CUMcba,
-														real* CUMacb,
-														real* CUMcab,
-														unsigned int* bcMatD,
-														unsigned int* neighborX,
-														unsigned int* neighborY,
-														unsigned int* neighborZ,
-														real* DDStart,
-														unsigned long long numberOfLBnodes,
-														bool EvenOrOdd)
+                                                        real* CUMabc,
+                                                        real* CUMbac,
+                                                        real* CUMbca,
+                                                        real* CUMcba,
+                                                        real* CUMacb,
+                                                        real* CUMcab,
+                                                        unsigned int* bcMatD,
+                                                        unsigned int* neighborX,
+                                                        unsigned int* neighborY,
+                                                        unsigned int* neighborZ,
+                                                        real* DDStart,
+                                                        unsigned long long numberOfLBnodes,
+                                                        bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw   = neighborX[k];
-			unsigned int ks   = neighborY[k];
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			unsigned int kbw  = neighborZ[kw];
-			unsigned int kbs  = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];
-			real mfabb = (D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];
-			real mfbab = (D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];
-			real mfbba = (D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];
-			real mfacb = (D.f[dMP0])[kw ];
-			real mfcbc = (D.f[dP0P])[k  ];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];
-			real mfabc = (D.f[dM0P])[kw ];
-			real mfbcc = (D.f[d0PP])[k  ];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];
-			real mfbac = (D.f[d0MP])[ks ];
-			real mfbbb = (D.f[d000])[k  ];
-			real mfccc = (D.f[dPPP])[k  ];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks ];
-			real mfacc = (D.f[dMPP])[kw ];
-			real mfcca = (D.f[dPPM])[kb ];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb));
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab));
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			real oMdrho = c1o1 - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-								   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-								   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);
-			////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			//3.
-			CUMbbb[k] = mfbbb;
-			CUMabc[k] = mfabc;
-			CUMbac[k] = mfbac;
-			CUMbca[k] = mfbca;
-			CUMcba[k] = mfcba;
-			CUMacb[k] = mfacb;
-			CUMcab[k] = mfcab;
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if(k<numberOfLBnodes)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
+
+        if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
+        {
+            Distributions27 D;
+            if (EvenOrOdd==true)
+            {
+                D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
+                D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
+                D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
+                D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
+                D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
+                D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
+                D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
+                D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
+                D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
+                D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
+                D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
+                D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
+                D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
+                D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
+                D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
+                D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
+                D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
+                D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
+                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
+                D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
+                D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
+                D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
+                D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
+                D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
+                D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
+                D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
+                D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
+                D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
+                D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
+                D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
+                D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
+                D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
+                D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
+                D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
+                D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
+                D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
+                D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
+                D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
+                D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
+                D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
+                D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
+                D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
+                D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
+                D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
+                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
+                D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
+                D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
+                D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
+                D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
+                D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
+                D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
+                D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
+                D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
+            }
+
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            unsigned int kw   = neighborX[k];
+            unsigned int ks   = neighborY[k];
+            unsigned int kb   = neighborZ[k];
+            unsigned int ksw  = neighborY[kw];
+            unsigned int kbw  = neighborZ[kw];
+            unsigned int kbs  = neighborZ[ks];
+            unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real mfcbb = (D.f[dP00])[k  ];
+            real mfabb = (D.f[dM00])[kw ];
+            real mfbcb = (D.f[d0P0])[k  ];
+            real mfbab = (D.f[d0M0])[ks ];
+            real mfbbc = (D.f[d00P])[k  ];
+            real mfbba = (D.f[d00M])[kb ];
+            real mfccb = (D.f[dPP0])[k  ];
+            real mfaab = (D.f[dMM0])[ksw];
+            real mfcab = (D.f[dPM0])[ks ];
+            real mfacb = (D.f[dMP0])[kw ];
+            real mfcbc = (D.f[dP0P])[k  ];
+            real mfaba = (D.f[dM0M])[kbw];
+            real mfcba = (D.f[dP0M])[kb ];
+            real mfabc = (D.f[dM0P])[kw ];
+            real mfbcc = (D.f[d0PP])[k  ];
+            real mfbaa = (D.f[d0MM])[kbs];
+            real mfbca = (D.f[d0PM])[kb ];
+            real mfbac = (D.f[d0MP])[ks ];
+            real mfbbb = (D.f[d000])[k  ];
+            real mfccc = (D.f[dPPP])[k  ];
+            real mfaac = (D.f[dMMP])[ksw];
+            real mfcac = (D.f[dPMP])[ks ];
+            real mfacc = (D.f[dMPP])[kw ];
+            real mfcca = (D.f[dPPM])[kb ];
+            real mfaaa = (D.f[dMMM])[kbsw];
+            real mfcaa = (D.f[dPMM])[kbs];
+            real mfaca = (D.f[dMPM])[kbw];
+            ////////////////////////////////////////////////////////////////////////////////////
+            real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                             (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                               (mfcbb-mfabb));
+            real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                               (mfbcb-mfbab));
+            real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                               (mfbbc-mfbba));
+            ////////////////////////////////////////////////////////////////////////////////////
+            real oMdrho = c1o1 - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
+                                   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
+                                   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);
+            ////////////////////////////////////////////////////////////////////////////////////
+            real m0, m1, m2;    
+            real vx2;
+            real vy2;
+            real vz2;
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Cumulants
+            ////////////////////////////////////////////////////////////////////////////////////
+            //3.
+            CUMbbb[k] = mfbbb;
+            CUMabc[k] = mfabc;
+            CUMbac[k] = mfbac;
+            CUMbca[k] = mfbca;
+            CUMcba[k] = mfcba;
+            CUMacb[k] = mfacb;
+            CUMcab[k] = mfcab;
+            ////////////////////////////////////////////////////////////////////////////////////
+        }                                                                                                                    
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////
 
@@ -846,409 +846,409 @@ __global__ void LBCalc3rdMomentsIncompSP27(  real* CUMbbb,
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void LBCalc3rdMomentsCompSP27(real* CUMbbb,
-													real* CUMabc,
-													real* CUMbac,
-													real* CUMbca,
-													real* CUMcba,
-													real* CUMacb,
-													real* CUMcab,
-													unsigned int* bcMatD,
-													unsigned int* neighborX,
-													unsigned int* neighborY,
-													unsigned int* neighborZ,
-													real* DDStart,
-													unsigned long long numberOfLBnodes,
-													bool EvenOrOdd)
+                                                    real* CUMabc,
+                                                    real* CUMbac,
+                                                    real* CUMbca,
+                                                    real* CUMcba,
+                                                    real* CUMacb,
+                                                    real* CUMcab,
+                                                    unsigned int* bcMatD,
+                                                    unsigned int* neighborX,
+                                                    unsigned int* neighborY,
+                                                    unsigned int* neighborZ,
+                                                    real* DDStart,
+                                                    unsigned long long numberOfLBnodes,
+                                                    bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw   = neighborX[k];
-			unsigned int ks   = neighborY[k];
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			unsigned int kbw  = neighborZ[kw];
-			unsigned int kbs  = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];
-			real mfabb = (D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];
-			real mfbab = (D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];
-			real mfbba = (D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];
-			real mfacb = (D.f[dMP0])[kw ];
-			real mfcbc = (D.f[dP0P])[k  ];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];
-			real mfabc = (D.f[dM0P])[kw ];
-			real mfbcc = (D.f[d0PP])[k  ];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];
-			real mfbac = (D.f[d0MP])[ks ];
-			real mfbbb = (D.f[d000])[k  ];
-			real mfccc = (D.f[dPPP])[k  ];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks ];
-			real mfacc = (D.f[dMPP])[kw ];
-			real mfcca = (D.f[dPPM])[kb ];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-							(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-							((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			real rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb)) / rho;
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab)) / rho;
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real oMdrho = c1o1; // comp special
-			////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			//3.
-			CUMbbb[k] = mfbbb;
-			CUMabc[k] = mfabc;
-			CUMbac[k] = mfbac;
-			CUMbca[k] = mfbca;
-			CUMcba[k] = mfcba;
-			CUMacb[k] = mfacb;
-			CUMcab[k] = mfcab;
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if(k<numberOfLBnodes)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
+
+        if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
+        {
+            Distributions27 D;
+            if (EvenOrOdd==true)
+            {
+                D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
+                D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
+                D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
+                D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
+                D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
+                D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
+                D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
+                D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
+                D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
+                D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
+                D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
+                D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
+                D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
+                D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
+                D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
+                D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
+                D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
+                D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
+                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
+                D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
+                D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
+                D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
+                D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
+                D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
+                D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
+                D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
+                D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
+                D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
+                D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
+                D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
+                D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
+                D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
+                D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
+                D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
+                D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
+                D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
+                D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
+                D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
+                D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
+                D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
+                D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
+                D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
+                D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
+                D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
+                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
+                D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
+                D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
+                D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
+                D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
+                D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
+                D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
+                D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
+                D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
+            }
+
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            unsigned int kw   = neighborX[k];
+            unsigned int ks   = neighborY[k];
+            unsigned int kb   = neighborZ[k];
+            unsigned int ksw  = neighborY[kw];
+            unsigned int kbw  = neighborZ[kw];
+            unsigned int kbs  = neighborZ[ks];
+            unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real mfcbb = (D.f[dP00])[k  ];
+            real mfabb = (D.f[dM00])[kw ];
+            real mfbcb = (D.f[d0P0])[k  ];
+            real mfbab = (D.f[d0M0])[ks ];
+            real mfbbc = (D.f[d00P])[k  ];
+            real mfbba = (D.f[d00M])[kb ];
+            real mfccb = (D.f[dPP0])[k  ];
+            real mfaab = (D.f[dMM0])[ksw];
+            real mfcab = (D.f[dPM0])[ks ];
+            real mfacb = (D.f[dMP0])[kw ];
+            real mfcbc = (D.f[dP0P])[k  ];
+            real mfaba = (D.f[dM0M])[kbw];
+            real mfcba = (D.f[dP0M])[kb ];
+            real mfabc = (D.f[dM0P])[kw ];
+            real mfbcc = (D.f[d0PP])[k  ];
+            real mfbaa = (D.f[d0MM])[kbs];
+            real mfbca = (D.f[d0PM])[kb ];
+            real mfbac = (D.f[d0MP])[ks ];
+            real mfbbb = (D.f[d000])[k  ];
+            real mfccc = (D.f[dPPP])[k  ];
+            real mfaac = (D.f[dMMP])[ksw];
+            real mfcac = (D.f[dPMP])[ks ];
+            real mfacc = (D.f[dMPP])[kw ];
+            real mfcca = (D.f[dPPM])[kb ];
+            real mfaaa = (D.f[dMMM])[kbsw];
+            real mfcaa = (D.f[dPMM])[kbs];
+            real mfaca = (D.f[dMPM])[kbw];
+            ////////////////////////////////////////////////////////////////////////////////////
+            real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                            (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                            ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            real rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                             (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                               (mfcbb-mfabb)) / rho;
+            real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                               (mfbcb-mfbab)) / rho;
+            real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                               (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            real oMdrho = c1o1; // comp special
+            ////////////////////////////////////////////////////////////////////////////////////
+            real m0, m1, m2;    
+            real vx2;
+            real vy2;
+            real vz2;
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Cumulants
+            ////////////////////////////////////////////////////////////////////////////////////
+            //3.
+            CUMbbb[k] = mfbbb;
+            CUMabc[k] = mfabc;
+            CUMbac[k] = mfbac;
+            CUMbca[k] = mfbca;
+            CUMcba[k] = mfcba;
+            CUMacb[k] = mfacb;
+            CUMcab[k] = mfcab;
+            ////////////////////////////////////////////////////////////////////////////////////
+        }                                                                                                                    
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////
 
@@ -1284,426 +1284,426 @@ __global__ void LBCalc3rdMomentsCompSP27(real* CUMbbb,
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void LBCalcHigherMomentsIncompSP27(   real* CUMcbb,
-															real* CUMbcb,
-															real* CUMbbc,
-															real* CUMcca,
-															real* CUMcac,
-															real* CUMacc,
-															real* CUMbcc,
-															real* CUMcbc,
-															real* CUMccb,
-															real* CUMccc,
-															unsigned int* bcMatD,
-															unsigned int* neighborX,
-															unsigned int* neighborY,
-															unsigned int* neighborZ,
-															real* DDStart,
-															unsigned long long numberOfLBnodes,
-															bool EvenOrOdd)
+                                                            real* CUMbcb,
+                                                            real* CUMbbc,
+                                                            real* CUMcca,
+                                                            real* CUMcac,
+                                                            real* CUMacc,
+                                                            real* CUMbcc,
+                                                            real* CUMcbc,
+                                                            real* CUMccb,
+                                                            real* CUMccc,
+                                                            unsigned int* bcMatD,
+                                                            unsigned int* neighborX,
+                                                            unsigned int* neighborY,
+                                                            unsigned int* neighborZ,
+                                                            real* DDStart,
+                                                            unsigned long long numberOfLBnodes,
+                                                            bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw   = neighborX[k];
-			unsigned int ks   = neighborY[k];
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			unsigned int kbw  = neighborZ[kw];
-			unsigned int kbs  = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];
-			real mfabb = (D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];
-			real mfbab = (D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];
-			real mfbba = (D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];
-			real mfacb = (D.f[dMP0])[kw ];
-			real mfcbc = (D.f[dP0P])[k  ];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];
-			real mfabc = (D.f[dM0P])[kw ];
-			real mfbcc = (D.f[d0PP])[k  ];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];
-			real mfbac = (D.f[d0MP])[ks ];
-			real mfbbb = (D.f[d000])[k  ];
-			real mfccc = (D.f[dPPP])[k  ];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks ];
-			real mfacc = (D.f[dMPP])[kw ];
-			real mfcca = (D.f[dPPM])[kb ];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb));
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab));
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			real oMdrho = c1o1 - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-								   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-								   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);
-			////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			//Cum 4.
-			CUMcbb[k]      = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab); 
-			CUMbcb[k]      = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb); 
-			CUMbbc[k]      = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb); 
-
-			CUMcca[k]      = mfcca - ((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho);
-			CUMcac[k]      = mfcac - ((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho);
-			CUMacc[k]      = mfacc - ((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho);
-
-			//Cum 5.
-			CUMbcc[k]      = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho;
-			CUMcbc[k]      = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho;
-			CUMccb[k]      = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//Cum 6.
-			CUMccc[k]      = mfccc  +((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb)
-							-    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
-							-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1-c2o1* oMdrho)- c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) +c1o27*oMdrho;
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if(k<numberOfLBnodes)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
+
+        if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
+        {
+            Distributions27 D;
+            if (EvenOrOdd==true)
+            {
+                D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
+                D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
+                D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
+                D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
+                D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
+                D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
+                D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
+                D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
+                D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
+                D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
+                D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
+                D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
+                D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
+                D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
+                D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
+                D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
+                D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
+                D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
+                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
+                D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
+                D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
+                D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
+                D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
+                D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
+                D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
+                D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
+                D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
+                D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
+                D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
+                D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
+                D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
+                D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
+                D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
+                D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
+                D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
+                D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
+                D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
+                D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
+                D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
+                D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
+                D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
+                D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
+                D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
+                D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
+                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
+                D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
+                D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
+                D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
+                D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
+                D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
+                D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
+                D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
+                D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
+            }
+
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            unsigned int kw   = neighborX[k];
+            unsigned int ks   = neighborY[k];
+            unsigned int kb   = neighborZ[k];
+            unsigned int ksw  = neighborY[kw];
+            unsigned int kbw  = neighborZ[kw];
+            unsigned int kbs  = neighborZ[ks];
+            unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real mfcbb = (D.f[dP00])[k  ];
+            real mfabb = (D.f[dM00])[kw ];
+            real mfbcb = (D.f[d0P0])[k  ];
+            real mfbab = (D.f[d0M0])[ks ];
+            real mfbbc = (D.f[d00P])[k  ];
+            real mfbba = (D.f[d00M])[kb ];
+            real mfccb = (D.f[dPP0])[k  ];
+            real mfaab = (D.f[dMM0])[ksw];
+            real mfcab = (D.f[dPM0])[ks ];
+            real mfacb = (D.f[dMP0])[kw ];
+            real mfcbc = (D.f[dP0P])[k  ];
+            real mfaba = (D.f[dM0M])[kbw];
+            real mfcba = (D.f[dP0M])[kb ];
+            real mfabc = (D.f[dM0P])[kw ];
+            real mfbcc = (D.f[d0PP])[k  ];
+            real mfbaa = (D.f[d0MM])[kbs];
+            real mfbca = (D.f[d0PM])[kb ];
+            real mfbac = (D.f[d0MP])[ks ];
+            real mfbbb = (D.f[d000])[k  ];
+            real mfccc = (D.f[dPPP])[k  ];
+            real mfaac = (D.f[dMMP])[ksw];
+            real mfcac = (D.f[dPMP])[ks ];
+            real mfacc = (D.f[dMPP])[kw ];
+            real mfcca = (D.f[dPPM])[kb ];
+            real mfaaa = (D.f[dMMM])[kbsw];
+            real mfcaa = (D.f[dPMM])[kbs];
+            real mfaca = (D.f[dMPM])[kbw];
+            ////////////////////////////////////////////////////////////////////////////////////
+            real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                             (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                               (mfcbb-mfabb));
+            real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                               (mfbcb-mfbab));
+            real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                               (mfbbc-mfbba));
+            ////////////////////////////////////////////////////////////////////////////////////
+            real oMdrho = c1o1 - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
+                                   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
+                                   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);
+            ////////////////////////////////////////////////////////////////////////////////////
+            real m0, m1, m2;    
+            real vx2;
+            real vy2;
+            real vz2;
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Cumulants
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Cum 4.
+            CUMcbb[k]      = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab); 
+            CUMbcb[k]      = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb); 
+            CUMbbc[k]      = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb); 
+
+            CUMcca[k]      = mfcca - ((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho);
+            CUMcac[k]      = mfcac - ((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho);
+            CUMacc[k]      = mfacc - ((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho);
+
+            //Cum 5.
+            CUMbcc[k]      = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho;
+            CUMcbc[k]      = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho;
+            CUMccb[k]      = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho;
+
+            //Cum 6.
+            CUMccc[k]      = mfccc  +((-c4o1 *  mfbbb * mfbbb  
+                            -           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+                            -    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
+                            -     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
+                            +(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+                            +     c2o1 * (mfcaa * mfaca * mfaac)
+                            + c16o1 *  mfbba * mfbab * mfabb)
+                            -    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
+                            -    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1-c2o1* oMdrho)- c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
+                            +(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
+                            +           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) +c1o27*oMdrho;
+            ////////////////////////////////////////////////////////////////////////////////////
+        }                                                                                                                    
+    }
 }
 
 
@@ -1738,438 +1738,438 @@ __global__ void LBCalcHigherMomentsIncompSP27(   real* CUMcbb,
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void LBCalcHigherMomentsCompSP27( real* CUMcbb,
-														real* CUMbcb,
-														real* CUMbbc,
-														real* CUMcca,
-														real* CUMcac,
-														real* CUMacc,
-														real* CUMbcc,
-														real* CUMcbc,
-														real* CUMccb,
-														real* CUMccc,
-														unsigned int* bcMatD,
-														unsigned int* neighborX,
-														unsigned int* neighborY,
-														unsigned int* neighborZ,
-														real* DDStart,
-														unsigned long long numberOfLBnodes,
-														bool EvenOrOdd)
+                                                        real* CUMbcb,
+                                                        real* CUMbbc,
+                                                        real* CUMcca,
+                                                        real* CUMcac,
+                                                        real* CUMacc,
+                                                        real* CUMbcc,
+                                                        real* CUMcbc,
+                                                        real* CUMccb,
+                                                        real* CUMccc,
+                                                        unsigned int* bcMatD,
+                                                        unsigned int* neighborX,
+                                                        unsigned int* neighborY,
+                                                        unsigned int* neighborZ,
+                                                        real* DDStart,
+                                                        unsigned long long numberOfLBnodes,
+                                                        bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw   = neighborX[k];
-			unsigned int ks   = neighborY[k];
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			unsigned int kbw  = neighborZ[kw];
-			unsigned int kbs  = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];
-			real mfabb = (D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];
-			real mfbab = (D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];
-			real mfbba = (D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];
-			real mfacb = (D.f[dMP0])[kw ];
-			real mfcbc = (D.f[dP0P])[k  ];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];
-			real mfabc = (D.f[dM0P])[kw ];
-			real mfbcc = (D.f[d0PP])[k  ];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];
-			real mfbac = (D.f[d0MP])[ks ];
-			real mfbbb = (D.f[d000])[k  ];
-			real mfccc = (D.f[dPPP])[k  ];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks ];
-			real mfacc = (D.f[dMPP])[kw ];
-			real mfcca = (D.f[dPPM])[kb ];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-							(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-							((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			real rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb)) / rho;
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab)) / rho;
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real oMdrho = c1o1; // comp special
-			////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-			real OxxPyyPzz = c1o1;
-			real omega = c1o1 / (c3o1*0.001 + c1o2);
-			real d00M = (c4o1 * omega * OxxPyyPzz * (c9o1 * omega - c16o1) - c4o1 * omega * omega - c2o1 * OxxPyyPzz * OxxPyyPzz * (c2o1 + c9o1 * omega * (omega - c2o1))) /
-				(c3o1 * (omega - OxxPyyPzz) * (OxxPyyPzz * (c2o1 + c3o1 * omega) - c8o1 * omega));
-
-			CUMbcc[k] = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)*(c1o1 + rho*c6o1*d00M / (c2o1 + c3o1 * d00M))) / rho;
-			CUMcbc[k] = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)*(c1o1 + rho*c6o1*d00M / (c2o1 + c3o1 * d00M))) / rho;
-			CUMccb[k] = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)*(c1o1 + rho*c6o1*d00M / (c2o1 + c3o1 * d00M))) / rho;
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			//central moments to cumulants
-			//4.
-			CUMcbb[k]      = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;	
-			CUMbcb[k]      = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; 
-			CUMbbc[k]      = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; 
-			 		
-			CUMcca[k]      = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));
-			CUMcac[k]      = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));
-			CUMacc[k]      = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));
-
-			//5.
-			//CUMbcc[k]      = mfbcc - ((mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
-			//CUMcbc[k]      = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
-			//CUMccb[k]      = mfccb - ((mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
-			
-			//6.
-			CUMccc[k]      = mfccc + ((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3 * (mfacc + mfcac + mfcca) /rho 
-							-    c1o9 * (mfcaa + mfaca + mfaac) /rho 
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
-							+ c1o27*((drho * drho - drho)/(rho*rho)));
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if(k<numberOfLBnodes)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
+
+        if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
+        {
+            Distributions27 D;
+            if (EvenOrOdd==true)
+            {
+                D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
+                D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
+                D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
+                D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
+                D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
+                D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
+                D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
+                D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
+                D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
+                D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
+                D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
+                D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
+                D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
+                D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
+                D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
+                D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
+                D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
+                D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
+                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
+                D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
+                D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
+                D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
+                D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
+                D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
+                D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
+                D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
+                D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
+                D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
+                D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
+                D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
+                D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
+                D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
+                D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
+                D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
+                D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
+                D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
+                D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
+                D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
+                D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
+                D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
+                D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
+                D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
+                D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
+                D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
+                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
+                D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
+                D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
+                D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
+                D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
+                D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
+                D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
+                D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
+                D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
+            }
+
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            unsigned int kw   = neighborX[k];
+            unsigned int ks   = neighborY[k];
+            unsigned int kb   = neighborZ[k];
+            unsigned int ksw  = neighborY[kw];
+            unsigned int kbw  = neighborZ[kw];
+            unsigned int kbs  = neighborZ[ks];
+            unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real mfcbb = (D.f[dP00])[k  ];
+            real mfabb = (D.f[dM00])[kw ];
+            real mfbcb = (D.f[d0P0])[k  ];
+            real mfbab = (D.f[d0M0])[ks ];
+            real mfbbc = (D.f[d00P])[k  ];
+            real mfbba = (D.f[d00M])[kb ];
+            real mfccb = (D.f[dPP0])[k  ];
+            real mfaab = (D.f[dMM0])[ksw];
+            real mfcab = (D.f[dPM0])[ks ];
+            real mfacb = (D.f[dMP0])[kw ];
+            real mfcbc = (D.f[dP0P])[k  ];
+            real mfaba = (D.f[dM0M])[kbw];
+            real mfcba = (D.f[dP0M])[kb ];
+            real mfabc = (D.f[dM0P])[kw ];
+            real mfbcc = (D.f[d0PP])[k  ];
+            real mfbaa = (D.f[d0MM])[kbs];
+            real mfbca = (D.f[d0PM])[kb ];
+            real mfbac = (D.f[d0MP])[ks ];
+            real mfbbb = (D.f[d000])[k  ];
+            real mfccc = (D.f[dPPP])[k  ];
+            real mfaac = (D.f[dMMP])[ksw];
+            real mfcac = (D.f[dPMP])[ks ];
+            real mfacc = (D.f[dMPP])[kw ];
+            real mfcca = (D.f[dPPM])[kb ];
+            real mfaaa = (D.f[dMMM])[kbsw];
+            real mfcaa = (D.f[dPMM])[kbs];
+            real mfaca = (D.f[dMPM])[kbw];
+            ////////////////////////////////////////////////////////////////////////////////////
+            real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                            (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                            ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            real rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                             (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                               (mfcbb-mfabb)) / rho;
+            real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                               (mfbcb-mfbab)) / rho;
+            real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                               (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            real oMdrho = c1o1; // comp special
+            ////////////////////////////////////////////////////////////////////////////////////
+            real m0, m1, m2;    
+            real vx2;
+            real vy2;
+            real vz2;
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+
+            real OxxPyyPzz = c1o1;
+            real omega = c1o1 / (c3o1*0.001 + c1o2);
+            real d00M = (c4o1 * omega * OxxPyyPzz * (c9o1 * omega - c16o1) - c4o1 * omega * omega - c2o1 * OxxPyyPzz * OxxPyyPzz * (c2o1 + c9o1 * omega * (omega - c2o1))) /
+                (c3o1 * (omega - OxxPyyPzz) * (OxxPyyPzz * (c2o1 + c3o1 * omega) - c8o1 * omega));
+
+            CUMbcc[k] = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)*(c1o1 + rho*c6o1*d00M / (c2o1 + c3o1 * d00M))) / rho;
+            CUMcbc[k] = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)*(c1o1 + rho*c6o1*d00M / (c2o1 + c3o1 * d00M))) / rho;
+            CUMccb[k] = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)*(c1o1 + rho*c6o1*d00M / (c2o1 + c3o1 * d00M))) / rho;
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Cumulants
+            ////////////////////////////////////////////////////////////////////////////////////
+            //central moments to cumulants
+            //4.
+            CUMcbb[k]      = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;    
+            CUMbcb[k]      = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; 
+            CUMbbc[k]      = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; 
+                     
+            CUMcca[k]      = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));
+            CUMcac[k]      = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));
+            CUMacc[k]      = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));
+
+            //5.
+            //CUMbcc[k]      = mfbcc - ((mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
+            //CUMcbc[k]      = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
+            //CUMccb[k]      = mfccb - ((mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
+            
+            //6.
+            CUMccc[k]      = mfccc + ((-c4o1 *  mfbbb * mfbbb  
+                            -           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+                            -    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
+                            -     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
+                            +(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+                            +     c2o1 * (mfcaa * mfaca * mfaac)
+                            + c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
+                            -    c1o3 * (mfacc + mfcac + mfcca) /rho 
+                            -    c1o9 * (mfcaa + mfaca + mfaac) /rho 
+                            +(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
+                            +           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
+                            + c1o27*((drho * drho - drho)/(rho*rho)));
+            ////////////////////////////////////////////////////////////////////////////////////
+        }                                                                                                                    
+    }
 }
diff --git a/src/gpu/core/GPU/CalcConc27.cu b/src/gpu/core/GPU/CalcConc27.cu
index 724db55d580b69fba96c813fe843e05f3e575593..072f8c48e9201ae023fa0808646b99fe0e973846 100644
--- a/src/gpu/core/GPU/CalcConc27.cu
+++ b/src/gpu/core/GPU/CalcConc27.cu
@@ -40,14 +40,14 @@ using namespace vf::lbm::dir;
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void CalcConc27(
-	real* concentration,
-	uint* typeOfGridNode,
-	uint* neighborX,
-	uint* neighborY,
-	uint* neighborZ,
-	unsigned long long numberOfLBnodes,
-	real* distributionsAD,
-	bool isEvenTimestep)
+    real* concentration,
+    uint* typeOfGridNode,
+    uint* neighborX,
+    uint* neighborY,
+    uint* neighborZ,
+    unsigned long long numberOfLBnodes,
+    real* distributionsAD,
+    bool isEvenTimestep)
 {
    //////////////////////////////////////////////////////////////////////////
    //! The velocity boundary condition is executed in the following steps
@@ -134,10 +134,10 @@ __global__ void CalcConc27(
          distAD.f[dPMM] = &distributionsAD[dMPP * numberOfLBnodes];
          distAD.f[dMPM] = &distributionsAD[dPMP * numberOfLBnodes];
       }
-	  ////////////////////////////////////////////////////////////////////////////////
-	  //! - Set neighbor indices (necessary for indirect addressing)
-	  //!
-	  uint ke   = k;
+      ////////////////////////////////////////////////////////////////////////////////
+      //! - Set neighbor indices (necessary for indirect addressing)
+      //!
+      uint ke   = k;
       uint kw   = neighborX[k];
       uint kn   = k;
       uint ks   = neighborY[k];
@@ -163,44 +163,44 @@ __global__ void CalcConc27(
       uint kbne = kb;
       uint ktne = k;
       uint kbsw = neighborZ[ksw];
-	  ////////////////////////////////////////////////////////////////////////////////
-	  //! - Set local distributions
-	  //!
-	  real mfcbb = (distAD.f[dP00])[ke  ];
-	  real mfabb = (distAD.f[dM00])[kw  ];
-	  real mfbcb = (distAD.f[d0P0])[kn  ];
-	  real mfbab = (distAD.f[d0M0])[ks  ];
-	  real mfbbc = (distAD.f[d00P])[kt  ];
-	  real mfbba = (distAD.f[d00M])[kb  ];
-	  real mfccb = (distAD.f[dPP0])[kne ];
-	  real mfaab = (distAD.f[dMM0])[ksw ];
-	  real mfcab = (distAD.f[dPM0])[kse ];
-	  real mfacb = (distAD.f[dMP0])[knw ];
-	  real mfcbc = (distAD.f[dP0P])[kte ];
-	  real mfaba = (distAD.f[dM0M])[kbw ];
-	  real mfcba = (distAD.f[dP0M])[kbe ];
-	  real mfabc = (distAD.f[dM0P])[ktw ];
-	  real mfbcc = (distAD.f[d0PP])[ktn ];
-	  real mfbaa = (distAD.f[d0MM])[kbs ];
-	  real mfbca = (distAD.f[d0PM])[kbn ];
-	  real mfbac = (distAD.f[d0MP])[kts ];
-	  real mfbbb = (distAD.f[d000])[k   ];
-	  real mfccc = (distAD.f[dPPP])[ktne];
-	  real mfaac = (distAD.f[dMMP])[ktsw];
-	  real mfcac = (distAD.f[dPMP])[ktse];
-	  real mfacc = (distAD.f[dMPP])[ktnw];
-	  real mfcca = (distAD.f[dPPM])[kbne];
-	  real mfaaa = (distAD.f[dMMM])[kbsw];
-	  real mfcaa = (distAD.f[dPMM])[kbse];
-	  real mfaca = (distAD.f[dMPM])[kbnw];
+      ////////////////////////////////////////////////////////////////////////////////
+      //! - Set local distributions
+      //!
+      real mfcbb = (distAD.f[dP00])[ke  ];
+      real mfabb = (distAD.f[dM00])[kw  ];
+      real mfbcb = (distAD.f[d0P0])[kn  ];
+      real mfbab = (distAD.f[d0M0])[ks  ];
+      real mfbbc = (distAD.f[d00P])[kt  ];
+      real mfbba = (distAD.f[d00M])[kb  ];
+      real mfccb = (distAD.f[dPP0])[kne ];
+      real mfaab = (distAD.f[dMM0])[ksw ];
+      real mfcab = (distAD.f[dPM0])[kse ];
+      real mfacb = (distAD.f[dMP0])[knw ];
+      real mfcbc = (distAD.f[dP0P])[kte ];
+      real mfaba = (distAD.f[dM0M])[kbw ];
+      real mfcba = (distAD.f[dP0M])[kbe ];
+      real mfabc = (distAD.f[dM0P])[ktw ];
+      real mfbcc = (distAD.f[d0PP])[ktn ];
+      real mfbaa = (distAD.f[d0MM])[kbs ];
+      real mfbca = (distAD.f[d0PM])[kbn ];
+      real mfbac = (distAD.f[d0MP])[kts ];
+      real mfbbb = (distAD.f[d000])[k   ];
+      real mfccc = (distAD.f[dPPP])[ktne];
+      real mfaac = (distAD.f[dMMP])[ktsw];
+      real mfcac = (distAD.f[dPMP])[ktse];
+      real mfacc = (distAD.f[dMPP])[ktnw];
+      real mfcca = (distAD.f[dPPM])[kbne];
+      real mfaaa = (distAD.f[dMMM])[kbsw];
+      real mfcaa = (distAD.f[dPMM])[kbse];
+      real mfaca = (distAD.f[dMPM])[kbnw];
       //////////////////////////////////////////////////////////////////////////
-	  //! - Calculate concentration using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref
-	  //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-	  //!
-	  concentration[k] =
-	   ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa)   + (mfaac + mfcca))) +
-      	(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba)   + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-      	 ((mfabb + mfcbb) + (mfbab + mfbcb)  +  (mfbba + mfbbc))) +  mfbbb;
+      //! - Calculate concentration using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref
+      //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
+      //!
+      concentration[k] =
+       ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa)   + (mfaac + mfcca))) +
+          (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba)   + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
+           ((mfabb + mfcbb) + (mfbab + mfbcb)  +  (mfbba + mfbbc))) +  mfbbb;
 
    }
 }
@@ -470,15 +470,15 @@ __global__ void CalcConc7( real* Conc,
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void GetPlaneConc7(real* Conc,
-								            int* kPC,
-								            unsigned int numberOfPointskPC,
-											unsigned int* geoD,
-											unsigned int* neighborX,
-											unsigned int* neighborY,
-											unsigned int* neighborZ,
-											unsigned long long numberOfLBnodes,
-											real* DD7,
-											bool isEvenTimestep)
+                                            int* kPC,
+                                            unsigned int numberOfPointskPC,
+                                            unsigned int* geoD,
+                                            unsigned int* neighborX,
+                                            unsigned int* neighborY,
+                                            unsigned int* neighborZ,
+                                            unsigned long long numberOfLBnodes,
+                                            real* DD7,
+                                            bool isEvenTimestep)
 {
    Distributions7 D7;
    if (isEvenTimestep==true)
@@ -575,15 +575,15 @@ __global__ void GetPlaneConc7(real* Conc,
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void GetPlaneConc27(real* Conc,
-								             int* kPC,
-								             unsigned int numberOfPointskPC,
-											 unsigned int* geoD,
-											 unsigned int* neighborX,
-											 unsigned int* neighborY,
-											 unsigned int* neighborZ,
-											 unsigned long long numberOfLBnodes,
-											 real* DD27,
-											 bool isEvenTimestep)
+                                             int* kPC,
+                                             unsigned int numberOfPointskPC,
+                                             unsigned int* geoD,
+                                             unsigned int* neighborX,
+                                             unsigned int* neighborY,
+                                             unsigned int* neighborZ,
+                                             unsigned long long numberOfLBnodes,
+                                             real* DD27,
+                                             bool isEvenTimestep)
 {
    Distributions27 D27;
    if (isEvenTimestep==true)
diff --git a/src/gpu/core/GPU/CalcMac27.cu b/src/gpu/core/GPU/CalcMac27.cu
index 0463623195781f50c86fce263461616f7f317cb2..b2f425262cb7c5d5a6a9022f149ffa5c0610769a 100644
--- a/src/gpu/core/GPU/CalcMac27.cu
+++ b/src/gpu/core/GPU/CalcMac27.cu
@@ -1171,8 +1171,8 @@ __global__ void LBCalcMeasurePoints(
         unsigned int ktne = kzero;
         unsigned int kbsw = neighborZ[ksw];
         //////////////////////////////////////////////////////////////////////////
-	    unsigned int kMac = nodeIndex*MPClockCycle + t;
-	    //////////////////////////////////////////////////////////////////////////
+        unsigned int kMac = nodeIndex*MPClockCycle + t;
+        //////////////////////////////////////////////////////////////////////////
         
         if(geoD[kzero] == GEO_FLUID)
         {
diff --git a/src/gpu/core/GPU/Cascade27.cu b/src/gpu/core/GPU/Cascade27.cu
deleted file mode 100644
index 98d7c6676e6055fae67d5c1783421c3219a285ba..0000000000000000000000000000000000000000
--- a/src/gpu/core/GPU/Cascade27.cu
+++ /dev/null
@@ -1,4710 +0,0 @@
-/* Device code */
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-
-#include "math.h"
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Cascade_SP_27(     real omega,
-														unsigned int* bcMatD,
-														unsigned int* neighborX,
-														unsigned int* neighborY,
-														unsigned int* neighborZ,
-														real* DDStart,
-														unsigned long long numberOfLBnodes,
-														bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw ];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks ];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb ];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw ];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k  ];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw ];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k  ];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks ];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k  ];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k  ];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks ];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw ];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb ];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb));
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab));
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-								   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-								   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-			////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimit = 0.01f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cascade
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = omega;
-			real OxyyPxzz  = c1o1;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz  = c1o1;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4        = c1o1;
-			real O5        = c1o1;
-			real O6        = c1o1;
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy    += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz    += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 
-// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// 			//no correction
-// 			mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);
-// 			mxxMyy    += -(-omega) * (-mxxMyy);
-// 			mxxMzz    += -(-omega) * (-mxxMzz);
-// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb     += omega * (-mfabb);
-			mfbab     += omega * (-mfbab);
-			mfbba     += omega * (-mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			mfbbb     += wadjust * (-mfbbb);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			mxxyPyzz  += wadjust * (-mxxyPyzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			mxxyMyzz  += wadjust * (-mxxyMyzz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			mxxzPyyz  += wadjust * (-mxxzPyyz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			mxxzMyyz  += wadjust * (-mxxzMyyz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			mxyyPxzz  += wadjust * (-mxyyPxzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			mxyyMxzz  += wadjust * (-mxyyMxzz);
-
-			// linear combinations back
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			mfacc = mfaaa * c1o9 * O4 + (c1o1 - O4) * mfacc; 
-			mfcac = mfaaa * c1o9 * O4 + (c1o1 - O4) * mfcac; 
-			mfcca = mfaaa * c1o9 * O4 + (c1o1 - O4) * mfcca; 
-			
-			mfbbc += O4 * (-mfbbc); 
-			mfbcb += O4 * (-mfbcb); 
-			mfcbb += O4 * (-mfcbb); 
-					
-			//5.
-			mfbcc += O5 * (-mfbcc);
-			mfcbc += O5 * (-mfcbc);
-			mfccb += O5 * (-mfccb);
-
-			//6.
-			mfccc = mfaaa * c1o27 * O6 + (c1o1 - O6) * mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa                * (c1o1- vz2)              - c1o1* oMdrho * vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca                  * (c1o1- vz2)              - c1o9 * oMdrho * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab                  * (c1o1- vy2)              - c2o3 * oMdrho * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab                  * (c1o1- vy2)              - c2o9 * oMdrho * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb                  * (c1o1- vx2)              - c4o9 * oMdrho * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00   ])[k   ] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[ dM00   ])[kw  ] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[ d0P0   ])[k   ] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[ d0M0   ])[ks  ] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[ d00P   ])[k   ] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[ d00M   ])[kb  ] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[ dPP0  ])[k   ] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[ dMM0  ])[ksw ] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[ dPM0  ])[ks  ] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[ dMP0  ])[kw  ] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[ dP0P  ])[k   ] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[ dM0M  ])[kbw ] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[ dP0M  ])[kb  ] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[ dM0P  ])[kw  ] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[ d0PP  ])[k   ] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[ d0MM  ])[kbs ] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[ d0PM  ])[kb  ] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[ d0MP  ])[ks  ] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[ d000])[k   ] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[ dPPP ])[k   ] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[ dPMP ])[ks  ] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[ dPPM ])[kb  ] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[ dPMM ])[kbs ] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[ dMPP ])[kw  ] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[ dMMP ])[ksw ] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[ dMPM ])[kbw ] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[ dMMM ])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Casc_Comp_SP_27(      real omega,
-														   unsigned int* bcMatD,
-														   unsigned int* neighborX,
-														   unsigned int* neighborY,
-														   unsigned int* neighborZ,
-														   real* DDStart,
-														   unsigned long long numberOfLBnodes,
-														   bool EvenOrOdd)
-{
-   ////////////////////////////////////////////////////////////////////////////////
-   const unsigned  x = threadIdx.x;  // Globaler x-Index 
-   const unsigned  y = blockIdx.x;   // Globaler y-Index 
-   const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-   const unsigned nx = blockDim.x;
-   const unsigned ny = gridDim.x;
-
-   const unsigned k = nx*(ny*z + y) + x;
-   //////////////////////////////////////////////////////////////////////////
-
-   if(k<numberOfLBnodes)
-   {
-      ////////////////////////////////////////////////////////////////////////////////
-      unsigned int BC;
-      BC = bcMatD[k];
-
-      if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-      {
-         Distributions27 D;
-         if (EvenOrOdd==true)
-         {
-            D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-            D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-            D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-            D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-            D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-            D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-            D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-            D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-            D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-            D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-            D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-            D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-            D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-            D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-            D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-            D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-            D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-            D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-            D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-            D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-            D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-            D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-            D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-            D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-            D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-            D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-            D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-         }
-         else
-         {
-            D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-            D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-            D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-            D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-            D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-            D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-            D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-            D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-            D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-            D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-            D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-            D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-            D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-            D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-            D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-            D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-            D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-            D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-            D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-            D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-            D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-            D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-            D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-            D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-            D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-            D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-            D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-         }
-
-         ////////////////////////////////////////////////////////////////////////////////
-         //index
-         unsigned int kzero= k;
-         unsigned int ke   = k;
-         unsigned int kw   = neighborX[k];
-         unsigned int kn   = k;
-         unsigned int ks   = neighborY[k];
-         unsigned int kt   = k;
-         unsigned int kb   = neighborZ[k];
-         unsigned int ksw  = neighborY[kw];
-         unsigned int kne  = k;
-         unsigned int kse  = ks;
-         unsigned int knw  = kw;
-         unsigned int kbw  = neighborZ[kw];
-         unsigned int kte  = k;
-         unsigned int kbe  = kb;
-         unsigned int ktw  = kw;
-         unsigned int kbs  = neighborZ[ks];
-         unsigned int ktn  = k;
-         unsigned int kbn  = kb;
-         unsigned int kts  = ks;
-         unsigned int ktse = ks;
-         unsigned int kbnw = kbw;
-         unsigned int ktnw = kw;
-         unsigned int kbse = kbs;
-         unsigned int ktsw = ksw;
-         unsigned int kbne = kb;
-         unsigned int ktne = k;
-         unsigned int kbsw = neighborZ[ksw];
-         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real f_E     = (D.f[dP00])[ke   ];// +  c2over27 ;
-         real f_W     = (D.f[dM00])[kw   ];// +  c2over27 ;
-         real f_N     = (D.f[d0P0])[kn   ];// +  c2over27 ;
-         real f_S     = (D.f[d0M0])[ks   ];// +  c2over27 ;
-         real f_F     = (D.f[d00P])[kt   ];// +  c2over27 ;
-         real f_B     = (D.f[d00M])[kb   ];// +  c2over27 ;
-         real f_NE    = (D.f[dPP0])[kne  ];// +  c1over54 ;
-         real f_SW    = (D.f[dMM0])[ksw  ];// +  c1over54 ;
-         real f_SE    = (D.f[dPM0])[kse  ];// +  c1over54 ;
-         real f_NW    = (D.f[dMP0])[knw  ];// +  c1over54 ;
-         real f_Ef    = (D.f[dP0P])[kte  ];// +  c1over54 ;
-         real f_Wb    = (D.f[dM0M])[kbw  ];// +  c1over54 ;
-         real f_Eb    = (D.f[dP0M])[kbe  ];// +  c1over54 ;
-         real f_Wf    = (D.f[dM0P])[ktw  ];// +  c1over54 ;
-         real f_Nf    = (D.f[d0PP])[ktn  ];// +  c1over54 ;
-         real f_Sb    = (D.f[d0MM])[kbs  ];// +  c1over54 ;
-         real f_Nb    = (D.f[d0PM])[kbn  ];// +  c1over54 ;
-         real f_Sf    = (D.f[d0MP])[kts  ];// +  c1over54 ;
-         real f_R     = (D.f[d000])[kzero];// +  c8over27 ;
-         real f_Nef   = (D.f[dPPP])[ktne ];// +  c1over216;
-         real f_Swf   = (D.f[dMMP])[ktsw ];// +  c1over216;
-         real f_Sef   = (D.f[dPMP])[ktse ];// +  c1over216;
-         real f_Nwf   = (D.f[dMPP])[ktnw ];// +  c1over216;
-         real f_Neb   = (D.f[dPPM])[kbne ];// +  c1over216;
-         real f_Swb   = (D.f[dMMM])[kbsw ];// +  c1over216;
-         real f_Seb   = (D.f[dPMM])[kbse ];// +  c1over216;
-         real f_Nwb   = (D.f[dMPM])[kbnw ];// +  c1over216;
-         ////////////////////////////////////////////////////////////////////////////////////
-		 real rho=f_NW+f_W+f_SW+f_S+f_SE+f_E+f_NE+f_N+f_R+f_Nf+f_Nb+f_Sf+f_Sb+f_Ef+f_Eb+f_Wf+f_Wb+f_Nwf+f_Nwb+f_Nef+f_Neb+f_Swf+f_Swb+f_Sef+f_Seb+f_F+f_B+c1o1;// ACHTUNG ne EINS !!!!!!!!
-		 real pix=(f_NE+f_E+f_SE+f_Ef+f_Eb-f_NW-f_W-f_SW-f_Wf-f_Wb+f_Nef+f_Neb+f_Sef+f_Seb-f_Nwf-f_Nwb-f_Swf-f_Swb);
-		 real piy=(f_NE+f_N+f_NW+f_Nf+f_Nb-f_SE-f_S-f_SW-f_Sf-f_Sb+f_Nef+f_Neb+f_Nwf+f_Nwb-f_Sef-f_Seb-f_Swf-f_Swb);
-		 real piz=(f_Nf+f_Sf+f_Wf+f_Ef+f_F-f_Nb-f_Sb-f_Wb-f_Eb-f_B+f_Nef+f_Nwf+f_Sef+f_Swf-f_Neb-f_Nwb-f_Seb-f_Swb);
-		 real vvx=pix/rho;
-		 real vvy=piy/rho;
-		 real vvz=piz/rho;
-		 real vx2=vvx*vvx;
-		 real vy2=vvy*vvy;
-		 real vz2=vvz*vvz;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 real mfaaa = f_Swb;
-		 real mfaab = f_SW;
-		 real mfaac = f_Swf;
-		 real mfaba = f_Wb;
-		 real mfabb = f_W;
-		 real mfabc = f_Wf;
-		 real mfbaa = f_Sb;
-		 real mfbab = f_S;
-		 real mfbac = f_Sf;
-		 real mfbba = f_B;
-		 real mfbbb = f_R;
-		 real mfbbc = f_F;
-		 real mfaca = f_Nwb;
-		 real mfacb = f_NW;
-		 real mfacc = f_Nwf;
-		 real mfcaa = f_Seb;
-		 real mfcab = f_SE;
-		 real mfcac = f_Sef;
-		 real mfcca = f_Neb;
-		 real mfccb = f_NE;
-		 real mfccc = f_Nef;
-		 real mfbca = f_Nb;
-		 real mfbcb = f_N;
-		 real mfbcc = f_Nf;
-		 real mfcba = f_Eb;
-		 real mfcbb = f_E;
-		 real mfcbc = f_Ef;
-		 real m0, m1, m2;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 //Hin
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 // Z - Dir
-		 m2    = mfaaa	+ mfaac;
-		 m1    = mfaac	- mfaaa;
-		 m0    = m2		+ mfaab;
-		 mfaaa = m0;
-		 m0   += c1o36;	
-		 mfaab = m1 -		m0 * vvz;
-		 mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfaba  + mfabc;
-		 m1    = mfabc  - mfaba;
-		 m0    = m2		+ mfabb;
-		 mfaba = m0;
-		 m0   += c1o9;
-		 mfabb = m1 -		m0 * vvz;
-		 mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfaca  + mfacc;
-		 m1    = mfacc  - mfaca;
-		 m0    = m2		+ mfacb;
-		 mfaca = m0;
-		 m0   += c1o36;
-		 mfacb = m1 -		m0 * vvz;
-		 mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfbaa	+ mfbac;
-		 m1    = mfbac	- mfbaa;
-		 m0    = m2		+ mfbab;
-		 mfbaa = m0;
-		 m0   += c1o9;
-		 mfbab = m1 -		m0 * vvz;
-		 mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfbba  + mfbbc;
-		 m1    = mfbbc  - mfbba;
-		 m0    = m2		+ mfbbb;
-		 mfbba = m0;
-		 m0   += c4o9;
-		 mfbbb = m1 -		m0 * vvz;
-		 mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfbca  + mfbcc;
-		 m1    = mfbcc  - mfbca;
-		 m0    = m2		+ mfbcb;
-		 mfbca = m0;
-		 m0   += c1o9;
-		 mfbcb = m1 -		m0 * vvz;
-		 mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfcaa	+ mfcac;
-		 m1    = mfcac	- mfcaa;
-		 m0    = m2		+ mfcab;
-		 mfcaa = m0;
-		 m0   += c1o36;
-		 mfcab = m1 -		m0 * vvz;
-		 mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfcba  + mfcbc;
-		 m1    = mfcbc  - mfcba;
-		 m0    = m2		+ mfcbb;
-		 mfcba = m0;
-		 m0   += c1o9;
-		 mfcbb = m1 -		m0 * vvz;
-		 mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfcca  + mfccc;
-		 m1    = mfccc  - mfcca;
-		 m0    = m2		+ mfccb;
-		 mfcca = m0;
-		 m0   += c1o36;
-		 mfccb = m1 -		m0 * vvz;
-		 mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 // Y - Dir
-		 m2    = mfaaa	+ mfaca;
-		 m1    = mfaca	- mfaaa;
-		 m0    = m2		+ mfaba;
-		 mfaaa = m0;
-		 m0   += c1o6;
-		 mfaba = m1 -		m0 * vvy;
-		 mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfaab  + mfacb;
-		 m1    = mfacb  - mfaab;
-		 m0    = m2		+ mfabb;
-		 mfaab = m0;
-		 mfabb = m1 -		m0 * vvy;
-		 mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfaac  + mfacc;
-		 m1    = mfacc  - mfaac;
-		 m0    = m2		+ mfabc;
-		 mfaac = m0;
-		 m0   += c1o18;
-		 mfabc = m1 -		m0 * vvy;
-		 mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfbaa	+ mfbca;
-		 m1    = mfbca	- mfbaa;
-		 m0    = m2		+ mfbba;
-		 mfbaa = m0;
-		 m0   += c2o3;
-		 mfbba = m1 -		m0 * vvy;
-		 mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfbab  + mfbcb;
-		 m1    = mfbcb  - mfbab;
-		 m0    = m2		+ mfbbb;
-		 mfbab = m0;
-		 mfbbb = m1 -		m0 * vvy;
-		 mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfbac  + mfbcc;
-		 m1    = mfbcc  - mfbac;
-		 m0    = m2		+ mfbbc;
-		 mfbac = m0;
-		 m0   += c2o9;
-		 mfbbc = m1 -		m0 * vvy;
-		 mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfcaa	+ mfcca;
-		 m1    = mfcca	- mfcaa;
-		 m0    = m2		+ mfcba;
-		 mfcaa = m0;
-		 m0   += c1o6;
-		 mfcba = m1 -		m0 * vvy;
-		 mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfcab  + mfccb;
-		 m1    = mfccb  - mfcab;
-		 m0    = m2		+ mfcbb;
-		 mfcab = m0;
-		 mfcbb = m1 -		m0 * vvy;
-		 mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfcac  + mfccc;
-		 m1    = mfccc  - mfcac;
-		 m0    = m2		+ mfcbc;
-		 mfcac = m0;
-		 m0   += c1o18;
-		 mfcbc = m1 -		m0 * vvy;
-		 mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 // X - Dir
-		 m2    = mfaaa	+ mfcaa;
-		 m1    = mfcaa	- mfaaa;
-		 m0    = m2		+ mfbaa;
-		 mfaaa = m0;
-		 m0   += c1o1;
-		 mfbaa = m1 -		m0 * vvx;
-		 mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfaba  + mfcba;
-		 m1    = mfcba  - mfaba;
-		 m0    = m2		+ mfbba;
-		 mfaba = m0;
-		 mfbba = m1 -		m0 * vvx;
-		 mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfaca  + mfcca;
-		 m1    = mfcca  - mfaca;
-		 m0    = m2		+ mfbca;
-		 mfaca = m0;
-		 m0   += c1o3;
-		 mfbca = m1 -		m0 * vvx;
-		 mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfaab	+ mfcab;
-		 m1    = mfcab	- mfaab;
-		 m0    = m2		+ mfbab;
-		 mfaab = m0;
-		 mfbab = m1 -		m0 * vvx;
-		 mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfabb  + mfcbb;
-		 m1    = mfcbb  - mfabb;
-		 m0    = m2		+ mfbbb;
-		 mfabb = m0;
-		 mfbbb = m1 -		m0 * vvx;
-		 mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfacb  + mfccb;
-		 m1    = mfccb  - mfacb;
-		 m0    = m2		+ mfbcb;
-		 mfacb = m0;
-		 mfbcb = m1 -		m0 * vvx;
-		 mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfaac	+ mfcac;
-		 m1    = mfcac	- mfaac;
-		 m0    = m2		+ mfbac;
-		 mfaac = m0;
-		 m0   += c1o3;
-		 mfbac = m1 -		m0 * vvx;
-		 mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfabc  + mfcbc;
-		 m1    = mfcbc  - mfabc;
-		 m0    = m2		+ mfbbc;
-		 mfabc = m0;
-		 mfbbc = m1 -		m0 * vvx;
-		 mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 m2    = mfacc  + mfccc;
-		 m1    = mfccc  - mfacc;
-		 m0    = m2		+ mfbcc;
-		 mfacc = m0;
-		 m0   += c1o9;
-		 mfbcc = m1 -		m0 * vvx;
-		 mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 ////////////////////////////////////////////////////////////////////////////////////
-
-
-		 //////////////////////////////////////////////////////////////////////////////////////
-		 //// BGK
-		 //////////////////////////////////////////////////////////////////////////////////////
-		 ////2.
-		 //mfabb += -(-omega) * (-mfabb);
-		 //mfbab += -(-omega) * (-mfbab);
-		 //mfbba += -(-omega) * (-mfbba);
-		 //
-		 //mfcaa += -(-omega) * (c1o3 * mfaaa - mfcaa);
-		 //mfaca += -(-omega) * (c1o3 * mfaaa - mfaca);
-		 //mfaac += -(-omega) * (c1o3 * mfaaa - mfaac);
-		 //
-		 ////3.
-		 //mfabc += -(-omega) * (-mfabc);
-		 //mfbac += -(-omega) * (-mfbac);
-		 //
-		 //mfacb += -(-omega) * (-mfacb);
-		 //mfbca += -(-omega) * (-mfbca);
-
-		 //mfcab += -(-omega) * (-mfcab);
-		 //mfcba += -(-omega) * (-mfcba);
-
-		 //mfbbb += -(-omega) * (-mfbbb);
-
-		 ////4.
-		 //mfacc += -(-omega) * (c1o9 * mfaaa - mfacc);
-		 //mfcac += -(-omega) * (c1o9 * mfaaa - mfcac);
-		 //mfcca += -(-omega) * (c1o9 * mfaaa - mfcca);
-
-		 //mfbbc += -(-omega) * (-mfbbc);
-		 //mfbcb += -(-omega) * (-mfbcb);
-		 //mfcbb += -(-omega) * (-mfcbb);
-
-		 ////5.
-		 //mfbcc += -(-omega) * (-mfbcc);
-		 //mfcbc += -(-omega) * (-mfcbc);
-		 //mfccb += -(-omega) * (-mfccb);
-
-		 ////6.
-		 //mfccc += -(-omega) * (c1o27 * mfaaa - mfccc);
-		 //////////////////////////////////////////////////////////////////////////////////////
-
-
-
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 // Cascaded simple
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 real OxxPyyPzz = c1o1;
-		 real OxyyPxzz  = c1o1;
-		 real OxyyMxzz  = c1o1;
-		 real O4        = c1o1;
-		 real O5        = c1o1;
-		 real O6        = c1o1;
-
-
-		 //2.
-		 // linear combinations
-		 real mxxPyyPzz = mfcaa + mfaca + mfaac;
-		 real mxxMyy    = mfcaa - mfaca;
-		 real mxxMzz	   = mfcaa - mfaac;
-
-		 //relax
-		 mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);
-		 mxxMyy    += -(-omega) * (-mxxMyy);
-		 mxxMzz    += -(-omega) * (-mxxMzz);
-		 mfabb     += -(-omega) * (-mfabb);
-		 mfbab     += -(-omega) * (-mfbab);
-		 mfbba     += -(-omega) * (-mfbba);
-
-		 // linear combinations back
-		 mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-		 mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-		 mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-		 ////Test
-		 //mfabb += -(-omega) * (-mfabb);
-		 //mfbab += -(-omega) * (-mfbab);
-		 //mfbba += -(-omega) * (-mfbba);
-
-		 //mfcaa += -(-omega) * (c1o3 * mfaaa - mfcaa);
-		 //mfaca += -(-omega) * (c1o3 * mfaaa - mfaca);
-		 //mfaac += -(-omega) * (c1o3 * mfaaa - mfaac);
-
-
-
-		 //3.
-		 // linear combinations
-		 real mxxyPyzz = mfcba + mfabc;
-		 real mxxyMyzz = mfcba - mfabc;
-		 
-		 real mxxzPyyz = mfcab + mfacb;
-		 real mxxzMyyz = mfcab - mfacb;
-
-		 real mxyyPxzz = mfbca + mfbac;
-		 real mxyyMxzz = mfbca - mfbac;
-
-		 //relax
-		 mfbbb     += OxyyMxzz * (-mfbbb);
-		 mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-		 mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-		 mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-		 mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-		 mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-		 mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-
-		 // linear combinations back
-		 mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-		 mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-		 mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-		 mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-		 mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-		 mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-		 ////Test
-		 //mfabc += -(-omega) * (-mfabc);
-		 //mfbac += -(-omega) * (-mfbac);
-		 //
-		 //mfacb += -(-omega) * (-mfacb);
-		 //mfbca += -(-omega) * (-mfbca);
-
-		 //mfcab += -(-omega) * (-mfcab);
-		 //mfcba += -(-omega) * (-mfcba);
-
-		 //mfbbb += -(-omega) * (-mfbbb);
-
-
-		 //4.
-		 mfacc += O4 * (c1o9 * mfaaa - mfacc);
-		 mfcac += O4 * (c1o9 * mfaaa - mfcac);
-		 mfcca += O4 * (c1o9 * mfaaa - mfcca);
-
-		 mfbbc += O4 * (-mfbbc);
-		 mfbcb += O4 * (-mfbcb);
-		 mfcbb += O4 * (-mfcbb);
-
-		 //5.
-		 mfbcc += O5 * (-mfbcc);
-		 mfcbc += O5 * (-mfcbc);
-		 mfccb += O5 * (-mfccb);
-
-		 //6.
-		 mfccc += O6 * (c1o27 * mfaaa - mfccc);
-		 ////////////////////////////////////////////////////////////////////////////////////
-
-
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 //back
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 // Z - Dir
-		 m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + 1.) * (     vz2 - vvz) * c1o2; 
-		 m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa       * (c1o1- vz2)              - c1o1* vz2; 
-		 m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + 1.) * (     vz2 + vvz) * c1o2;
-		       mfaaa = m0;
-		       mfaab = m1;
-		       mfaac = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-		 m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-		 m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			   mfaba = m0;
-		       mfabb = m1;
-		       mfabc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3) * (     vz2 - vvz) * c1o2; 
-		 m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca         * (c1o1- vz2)              - c1o3 * vz2; 
-		 m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3) * (     vz2 + vvz) * c1o2;
-			   mfaca = m0;
-			   mfacb = m1;
-			   mfacc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-		 m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-		 m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-		       mfbaa = m0;
-		       mfbab = m1;
-		       mfbac = m2;
-		/////////b//////////////////////////////////////////////////////////////////////////
-		 m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-		 m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-		 m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			   mfbba = m0;
-		       mfbbb = m1;
-		       mfbbc = m2;
-		/////////b//////////////////////////////////////////////////////////////////////////
-		 m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-		 m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-		 m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			   mfbca = m0;
-			   mfbcb = m1;
-			   mfbcc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3) * (     vz2 - vvz) * c1o2; 
-		 m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa         * (c1o1- vz2)              - c1o3 * vz2; 
-		 m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3) * (     vz2 + vvz) * c1o2;
-		       mfcaa = m0;
-		       mfcab = m1;
-		       mfcac = m2;
-		/////////c//////////////////////////////////////////////////////////////////////////
-		 m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-		 m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-		 m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			   mfcba = m0;
-		       mfcbb = m1;
-		       mfcbc = m2;
-		/////////c//////////////////////////////////////////////////////////////////////////
-		 m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9) * (     vz2 - vvz) * c1o2; 
-		 m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca         * (c1o1- vz2)              - c1o9 * vz2; 
-		 m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9) * (     vz2 + vvz) * c1o2;
-			   mfcca = m0;
-			   mfccb = m1;
-			   mfccc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-	    ////////////////////////////////////////////////////////////////////////////////////
-		//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-		////////////////////////////////////////////////////////////////////////////////////
-		// Y - Dir
-		 m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6) * (     vy2 - vvy) * c1o2; 
-		 m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa         * (c1o1- vy2)              - c1o6 * vy2; 
-		 m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6) * (     vy2 + vvy) * c1o2;
-		       mfaaa = m0;
-		       mfaba = m1;
-		       mfaca = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3) * (     vy2 - vvy) * c1o2; 
-		 m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab         * (c1o1- vy2)              - c2o3 * vy2; 
-		 m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3) * (     vy2 + vvy) * c1o2;
-			   mfaab = m0;
-		       mfabb = m1;
-		       mfacb = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6) * (     vy2 - vvy) * c1o2; 
-		 m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac         * (c1o1- vy2)              - c1o6 * vy2; 
-		 m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6) * (     vy2 + vvy) * c1o2;
-			   mfaac = m0;
-			   mfabc = m1;
-			   mfacc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-		 m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-		 m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-		       mfbaa = m0;
-		       mfbba = m1;
-		       mfbca = m2;
-		/////////b//////////////////////////////////////////////////////////////////////////
-		 m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-		 m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-		 m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			   mfbab = m0;
-		       mfbbb = m1;
-		       mfbcb = m2;
-		/////////b//////////////////////////////////////////////////////////////////////////
-		 m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-		 m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-		 m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			   mfbac = m0;
-			   mfbbc = m1;
-			   mfbcc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18) * (     vy2 - vvy) * c1o2; 
-		 m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa          * (c1o1- vy2)              - c1o18 * vy2; 
-		 m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18) * (     vy2 + vvy) * c1o2;
-		       mfcaa = m0;
-		       mfcba = m1;
-		       mfcca = m2;
-		/////////c//////////////////////////////////////////////////////////////////////////
-		 m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9) * (     vy2 - vvy) * c1o2; 
-		 m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab         * (c1o1- vy2)              - c2o9 * vy2; 
-		 m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9) * (     vy2 + vvy) * c1o2;
-			   mfcab = m0;
-		       mfcbb = m1;
-		       mfccb = m2;
-		/////////c//////////////////////////////////////////////////////////////////////////
-		 m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18) * (     vy2 - vvy) * c1o2; 
-		 m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac          * (c1o1- vy2)              - c1o18 * vy2; 
-		 m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18) * (     vy2 + vvy) * c1o2;
-			   mfcac = m0;
-			   mfcbc = m1;
-			   mfccc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-	    ////////////////////////////////////////////////////////////////////////////////////
-		//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	    ////////////////////////////////////////////////////////////////////////////////////
-		// X - Dir
-		 m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36) * (     vx2 - vvx) * c1o2; 
-		 m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa          * (c1o1- vx2)              - c1o36 * vx2; 
-		 m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36) * (     vx2 + vvx) * c1o2;
-		       mfaaa = m0;
-		       mfbaa = m1;
-		       mfcaa = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9) * (     vx2 - vvx) * c1o2; 
-		 m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba         * (c1o1- vx2)              - c1o9 * vx2; 
-		 m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9) * (     vx2 + vvx) * c1o2;
-			   mfaba = m0;
-		       mfbba = m1;
-		       mfcba = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36) * (     vx2 - vvx) * c1o2; 
-		 m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca          * (c1o1- vx2)              - c1o36 * vx2; 
-		 m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36) * (     vx2 + vvx) * c1o2;
-			   mfaca = m0;
-			   mfbca = m1;
-			   mfcca = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9) * (     vx2 - vvx) * c1o2; 
-		 m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab         * (c1o1- vx2)              - c1o9 * vx2; 
-		 m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9) * (     vx2 + vvx) * c1o2;
-		       mfaab = m0;
-		       mfbab = m1;
-		       mfcab = m2;
-		///////////b////////////////////////////////////////////////////////////////////////
-		 m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9) * (     vx2 - vvx) * c1o2; 
-		 m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb         * (c1o1- vx2)              - c4o9 * vx2; 
-		 m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9) * (     vx2 + vvx) * c1o2;
-			   mfabb = m0;
-		       mfbbb = m1;
-		       mfcbb = m2;
-		///////////b////////////////////////////////////////////////////////////////////////
-		 m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9) * (     vx2 - vvx) * c1o2; 
-		 m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb         * (c1o1- vx2)              - c1o9 * vx2; 
-		 m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9) * (     vx2 + vvx) * c1o2;
-			   mfacb = m0;
-			   mfbcb = m1;
-			   mfccb = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		 m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36) * (     vx2 - vvx) * c1o2; 
-		 m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac          * (c1o1- vx2)              - c1o36 * vx2; 
-		 m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36) * (     vx2 + vvx) * c1o2;
-		       mfaac = m0;
-		       mfbac = m1;
-		       mfcac = m2;
-		///////////c////////////////////////////////////////////////////////////////////////
-		 m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9) * (     vx2 - vvx) * c1o2; 
-		 m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc         * (c1o1- vx2)              - c1o9 * vx2; 
-		 m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9) * (     vx2 + vvx) * c1o2;
-			   mfabc = m0;
-		       mfbbc = m1;
-		       mfcbc = m2;
-		///////////c////////////////////////////////////////////////////////////////////////
-		 m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36) * (     vx2 - vvx) * c1o2; 
-		 m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc          * (c1o1- vx2)              - c1o36 * vx2; 
-		 m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36) * (     vx2 + vvx) * c1o2;
-			   mfacc = m0;
-			   mfbcc = m1;
-			   mfccc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		
-			   
-		 ////////////////////////////////////////////////////////////////////////////////////
-		 (D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;//                                                                     
-		 (D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;                                                                     
-		 (D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;
-		 (D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;
-		 (D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;
-		 (D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;
-		 (D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;
-		 (D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;
-		 (D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;
-		 (D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;
-		 (D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;
-		 (D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;
-		 (D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;
-		 (D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;
-		 (D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;
-		 (D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;
-		 (D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;
-		 (D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;
-		 (D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;
-		 (D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;
-		 (D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;
-		 (D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;
-		 (D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;
-		 (D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;
-		 (D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;
-		 (D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;
-		 (D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;
-		 ////////////////////////////////////////////////////////////////////////////////////
-      }                                                                                                                    
-   }
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Casc_SP_MS_OHM_27(  real omega,
-                                                         unsigned int* bcMatD,
-                                                         unsigned int* neighborX,
-                                                         unsigned int* neighborY,
-                                                         unsigned int* neighborZ,
-                                                         real* DDStart,
-                                                         unsigned long long numberOfLBnodes,
-                                                         bool EvenOrOdd)
-{
-   ////////////////////////////////////////////////////////////////////////////////
-   const unsigned  x = threadIdx.x;  // Globaler x-Index 
-   const unsigned  y = blockIdx.x;   // Globaler y-Index 
-   const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-   const unsigned nx = blockDim.x;
-   const unsigned ny = gridDim.x;
-
-   const unsigned k = nx*(ny*z + y) + x;
-   //////////////////////////////////////////////////////////////////////////
-
-   if(k<numberOfLBnodes)
-   {
-      ////////////////////////////////////////////////////////////////////////////////
-      unsigned int BC;
-      BC        =   bcMatD[k];
-
-      if( (BC != GEO_SOLID) && (BC != GEO_VOID))
-      {
-         Distributions27 D;
-         if (EvenOrOdd==true)
-         {
-            D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-            D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-            D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-            D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-            D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-            D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-            D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-            D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-            D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-            D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-            D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-            D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-            D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-            D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-            D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-            D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-            D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-            D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-            D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-            D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-            D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-            D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-            D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-            D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-            D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-            D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-            D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-         }
-         else
-         {
-            D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-            D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-            D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-            D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-            D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-            D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-            D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-            D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-            D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-            D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-            D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-            D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-            D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-            D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-            D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-            D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-            D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-            D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-            D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-            D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-            D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-            D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-            D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-            D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-            D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-            D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-            D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-         }
-
-         ////////////////////////////////////////////////////////////////////////////////
-         //index
-         //unsigned int kzero= k;
-         //unsigned int ke   = k;
-         unsigned int kw   = neighborX[k];
-         //unsigned int kn   = k;
-         unsigned int ks   = neighborY[k];
-         //unsigned int kt   = k;
-         unsigned int kb   = neighborZ[k];
-         unsigned int ksw  = neighborY[kw];
-         //unsigned int kne  = k;
-         //unsigned int kse  = ks;
-         //unsigned int knw  = kw;
-         unsigned int kbw  = neighborZ[kw];
-         //unsigned int kte  = k;
-         //unsigned int kbe  = kb;
-         //unsigned int ktw  = kw;
-         unsigned int kbs  = neighborZ[ks];
-         //unsigned int ktn  = k;
-         //unsigned int kbn  = kb;
-         //unsigned int kts  = ks;
-         //unsigned int ktse = ks;
-         //unsigned int kbnw = kbw;
-         //unsigned int ktnw = kw;
-         //unsigned int kbse = kbs;
-         //unsigned int ktsw = ksw;
-         //unsigned int kbne = kb;
-         //unsigned int ktne = k;
-         unsigned int kbsw = neighborZ[ksw];
-         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real fE    =  (D.f[dP00])[k  ];//ke
-         real fW    =  (D.f[dM00])[kw ];
-         real fN    =  (D.f[d0P0])[k  ];//kn
-         real fS    =  (D.f[d0M0])[ks ];
-         real fT    =  (D.f[d00P])[k  ];//kt
-         real fB    =  (D.f[d00M])[kb ];
-         real fNE   =  (D.f[dPP0])[k  ];//kne
-         real fSW   =  (D.f[dMM0])[ksw];
-         real fSE   =  (D.f[dPM0])[ks ];//kse
-         real fNW   =  (D.f[dMP0])[kw ];//knw
-         real fTE   =  (D.f[dP0P])[k  ];//kte
-         real fBW   =  (D.f[dM0M])[kbw];
-         real fBE   =  (D.f[dP0M])[kb ];//kbe
-         real fTW   =  (D.f[dM0P])[kw ];//ktw
-         real fTN   =  (D.f[d0PP])[k  ];//ktn
-         real fBS   =  (D.f[d0MM])[kbs];
-         real fBN   =  (D.f[d0PM])[kb ];//kbn
-         real fTS   =  (D.f[d0MP])[ks ];//kts
-         real fZERO =  (D.f[d000])[k  ];//kzero
-         real fTNE   = (D.f[dPPP])[k  ];//ktne
-         real fTSW   = (D.f[dMMP])[ksw];//ktsw
-         real fTSE   = (D.f[dPMP])[ks ];//ktse
-         real fTNW   = (D.f[dMPP])[kw ];//ktnw
-         real fBNE   = (D.f[dPPM])[kb ];//kbne
-         real fBSW   = (D.f[dMMM])[kbsw];
-         real fBSE   = (D.f[dPMM])[kbs];//kbse
-         real fBNW   = (D.f[dMPM])[kbw];//kbnw
-         ////////////////////////////////////////////////////////////////////////////////
-         real rho0   =  (fTNE+fBSW)+(fTSW+fBNE)+(fTSE+fBNW)+(fTNW+fBSE)+(fNE+fSW)+(fNW+fSE)+(fTE+fBW)+(fBE+fTW)+(fTN+fBS)+(fBN+fTS)+(fE+fW)+(fN+fS)+(fT+fB)+fZERO;
-         real rho    =  rho0 + c1o1;
-         real OORho  =  c1o1/rho;
-         real vx     =  OORho*((fTNE-fBSW)+(fBNE-fTSW)+(fTSE-fBNW)+(fBSE-fTNW) +(fNE-fSW)+(fSE-fNW)+(fTE-fBW)+(fBE-fTW)+(fE-fW));
-         real vy     =  OORho*((fTNE-fBSW)+(fBNE-fTSW)+(fBNW-fTSE)+(fTNW-fBSE) +(fNE-fSW)+(fNW-fSE)+(fTN-fBS)+(fBN-fTS)+(fN-fS));
-         real vz     =  OORho*((fTNE-fBSW)+(fTSW-fBNE)+(fTSE-fBNW)+(fTNW-fBSE) +(fTE-fBW)+(fTW-fBE)+(fTN-fBS)+(fTS-fBN)+(fT-fB));
-         ////////////////////////////////////////////////////////////////////////////////
-
-
-
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         ////BGK incomp
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         //real drho    =  fZERO+fE+fW+fN+fS+fT+fB+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fTSW+fTSE+fTNW+fBNE+fBSW+fBSE+fBNW;
-         //real vx1     =  (fE -fW +fNE-fSW+fSE-fNW+fTE-fBW+fBE-fTW+ fTNE-fTSW+fTSE-fTNW+ fBNE-fBSW+fBSE-fBNW);
-         //real vx2     =  (fN -fS +fNE-fSW-fSE+fNW+fTN-fBS+fBN-fTS+ fTNE-fTSW-fTSE+fTNW+ fBNE-fBSW-fBSE+fBNW);
-         //real vx3     =  (fT -fB +fTE-fBW-fBE+fTW+fTN-fBS-fBN+fTS+ fTNE+fTSW+fTSE+fTNW- fBNE-fBSW-fBSE-fBNW);
-         //real cusq    =  c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
-
-         //fZERO = fZERO *(one+(-omega))-(-omega)*   c8over27*  (drho-cusq);
-         //fE    = fE    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*( vx1        )+c9over2*( vx1        )*( vx1        )-cusq);
-         //fW    = fW    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(-vx1        )+c9over2*(-vx1        )*(-vx1        )-cusq);
-         //fN    = fN    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(    vx2     )+c9over2*(     vx2    )*(     vx2    )-cusq);
-         //fS    = fS    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(   -vx2     )+c9over2*(    -vx2    )*(    -vx2    )-cusq);
-         //fT    = fT    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(         vx3)+c9over2*(         vx3)*(         vx3)-cusq);
-         //fB    = fB    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(        -vx3)+c9over2*(        -vx3)*(        -vx3)-cusq);
-         //fNE   = fNE   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*( vx1+vx2    )+c9over2*( vx1+vx2    )*( vx1+vx2    )-cusq);
-         //fSW   = fSW   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*(-vx1-vx2    )+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cusq);
-         //fSE   = fSE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1-vx2    )+c9over2*( vx1-vx2    )*( vx1-vx2    )-cusq);
-         //fNW   = fNW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1+vx2    )+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cusq);
-         //fTE   = fTE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    +vx3)+c9over2*( vx1    +vx3)*( vx1    +vx3)-cusq);
-         //fBW   = fBW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    -vx3)+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cusq);
-         //fBE   = fBE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    -vx3)+c9over2*( vx1    -vx3)*( vx1    -vx3)-cusq);
-         //fTW   = fTW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    +vx3)+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cusq);
-         //fTN   = fTN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2+vx3)+c9over2*(     vx2+vx3)*(     vx2+vx3)-cusq);
-         //fBS   = fBS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2-vx3)+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cusq);
-         //fBN   = fBN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2-vx3)+c9over2*(     vx2-vx3)*(     vx2-vx3)-cusq);
-         //fTS   = fTS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2+vx3)+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cusq);
-         //fTNE  = fTNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq);
-         //fBSW  = fBSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq);
-         //fBNE  = fBNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq);
-         //fTSW  = fTSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq);
-         //fTSE  = fTSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq);
-         //fBNW  = fBNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq);
-         //fBSE  = fBSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq);
-         //fTNW  = fTNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq);
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-		 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-   //      //BGK comp
-   //      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-   //      real drho    =  fZERO+fE+fW+fN+fS+fT+fB+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fTSW+fTSE+fTNW+fBNE+fBSW+fBSE+fBNW;
-   //      real rho     =  one + drho;
-   //      real OoRho   =  one / rho;
-   //      real vx1     =  OoRho * (fE -fW +fNE-fSW+fSE-fNW+fTE-fBW+fBE-fTW+ fTNE-fTSW+fTSE-fTNW+ fBNE-fBSW+fBSE-fBNW);
-   //      real vx2     =  OoRho * (fN -fS +fNE-fSW-fSE+fNW+fTN-fBS+fBN-fTS+ fTNE-fTSW-fTSE+fTNW+ fBNE-fBSW-fBSE+fBNW);
-   //      real vx3     =  OoRho * (fT -fB +fTE-fBW-fBE+fTW+fTN-fBS-fBN+fTS+ fTNE+fTSW+fTSE+fTNW- fBNE-fBSW-fBSE-fBNW);
-   //      real cusq    =  c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
-
-   //      fZERO = fZERO *(one+(-omega))-(-omega)*   c8over27*  (drho-rho * cusq);
-   //      fE    = fE    *(one+(-omega))-(-omega)*   c2over27*  (drho+rho * (three*( vx1        )+c9over2*( vx1        )*( vx1        )-cusq));
-   //      fW    = fW    *(one+(-omega))-(-omega)*   c2over27*  (drho+rho * (three*(-vx1        )+c9over2*(-vx1        )*(-vx1        )-cusq));
-   //      fN    = fN    *(one+(-omega))-(-omega)*   c2over27*  (drho+rho * (three*(    vx2     )+c9over2*(     vx2    )*(     vx2    )-cusq));
-   //      fS    = fS    *(one+(-omega))-(-omega)*   c2over27*  (drho+rho * (three*(   -vx2     )+c9over2*(    -vx2    )*(    -vx2    )-cusq));
-   //      fT    = fT    *(one+(-omega))-(-omega)*   c2over27*  (drho+rho * (three*(         vx3)+c9over2*(         vx3)*(         vx3)-cusq));
-   //      fB    = fB    *(one+(-omega))-(-omega)*   c2over27*  (drho+rho * (three*(        -vx3)+c9over2*(        -vx3)*(        -vx3)-cusq));
-   //      fNE   = fNE   *(one+(-omega))-(-omega)*   c1over54*  (drho+rho * (three*( vx1+vx2    )+c9over2*( vx1+vx2    )*( vx1+vx2    )-cusq));
-   //      fSW   = fSW   *(one+(-omega))-(-omega)*   c1over54*  (drho+rho * (three*(-vx1-vx2    )+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cusq));
-   //      fSE   = fSE   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*( vx1-vx2    )+c9over2*( vx1-vx2    )*( vx1-vx2    )-cusq));
-   //      fNW   = fNW   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*(-vx1+vx2    )+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cusq));
-   //      fTE   = fTE   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*( vx1    +vx3)+c9over2*( vx1    +vx3)*( vx1    +vx3)-cusq));
-   //      fBW   = fBW   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*(-vx1    -vx3)+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cusq));
-   //      fBE   = fBE   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*( vx1    -vx3)+c9over2*( vx1    -vx3)*( vx1    -vx3)-cusq));
-   //      fTW   = fTW   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*(-vx1    +vx3)+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cusq));
-   //      fTN   = fTN   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*(     vx2+vx3)+c9over2*(     vx2+vx3)*(     vx2+vx3)-cusq));
-   //      fBS   = fBS   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*(    -vx2-vx3)+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cusq));
-   //      fBN   = fBN   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*(     vx2-vx3)+c9over2*(     vx2-vx3)*(     vx2-vx3)-cusq));
-   //      fTS   = fTS   *(one+(-omega))-(-omega)*    c1over54* (drho+rho * (three*(    -vx2+vx3)+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cusq));
-   //      fTNE  = fTNE  *(one+(-omega))-(-omega)*    c1over216*(drho+rho * (three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq));
-   //      fBSW  = fBSW  *(one+(-omega))-(-omega)*    c1over216*(drho+rho * (three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq));
-   //      fBNE  = fBNE  *(one+(-omega))-(-omega)*    c1over216*(drho+rho * (three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq));
-   //      fTSW  = fTSW  *(one+(-omega))-(-omega)*    c1over216*(drho+rho * (three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq));
-   //      fTSE  = fTSE  *(one+(-omega))-(-omega)*    c1over216*(drho+rho * (three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq));
-   //      fBNW  = fBNW  *(one+(-omega))-(-omega)*    c1over216*(drho+rho * (three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq));
-   //      fBSE  = fBSE  *(one+(-omega))-(-omega)*    c1over216*(drho+rho * (three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq));
-   //      fTNW  = fTNW  *(one+(-omega))-(-omega)*    c1over216*(drho+rho * (three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq));
-   //      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-         ////////////////////////////////////////////////////////////////////////////////
-         real vx2    = vx*vx;
-         real vy2    = vy*vy;
-         real vz2    = vz*vz;
-         real vxy    = vx*vy;
-         real vxz    = vx*vz;
-         real vyz    = vy*vz;
-         real vx2y   = vx*vx*vy;
-         real vx2z   = vx*vx*vz;
-         real vy2z   = vy*vy*vz;
-         real vxy2   = vx*vy*vy;
-         real vyz2   = vy*vz*vz;
-         real vxz2   = vx*vz*vz;
-         real vxyz   = vx*vy*vz;
-         //real vx2y2  = vx*vx*vy*vy;
-         //real vx2z2  = vx*vx*vz*vz;
-         //real vy2z2  = vy*vy*vz*vz;
-         //real vx2yz  = vx*vx*vy*vz;
-         //real vxyz2  = vx*vy*vz*vz;
-         //real vxy2z  = vx*vy*vy*vz;
-         //real vx2y2z = vx*vx*vy*vy*vz;
-         //real vx2yz2 = vx*vx*vy*vz*vz;
-         //real vxy2z2 = vx*vy*vy*vz*vz;
-         //real vx2y2z2= vx*vx*vy*vy*vz*vz;
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         //real mu200   =(fE+fW+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         //real mu020   =(fN+fS+fNE+fSW+fSE+fNW+fTN+fBS+fBN+fTS+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         //real mu002   =(fT+fB+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         //real mu110   =(fNE-fSE+fSW-fNW+fTNE-fTSE+fBNE-fBSE+fTSW-fTNW+fBSW-fBNW) * OORho;
-         //real mu101   =(fTE+fBW-fBE-fTW+fTNE-fBNE+fTSE-fBSE-fTNW+fBNW-fTSW+fBSW) * OORho;
-         //real mu011   =(fTN+fBS-fBN-fTS+fTNE-fBNE-fTSE+fBSE+fTNW-fBNW-fTSW+fBSW) * OORho;
-         //real mu210   =(fNE-fSW-fSE+fNW+fTNE+fBNE-fTSE-fBSE+fTNW+fBNW-fTSW-fBSW) * OORho;
-         //real mu120   =(fNE-fSW+fSE-fNW+fTNE-fTNW+fBNE-fBNW+fTSE-fTSW+fBSE-fBSW) * OORho;
-         //real mu102   =(fTE-fBW+fBE-fTW+fTNE-fTNW+fBNE-fBNW+fTSE-fTSW+fBSE-fBSW) * OORho;
-         //real mu111   =(fTNE-fBNE-fTSE+fBSE-fTNW+fBNW+fTSW-fBSW) * OORho;
-         //real mu201   =(fTE-fBW-fBE+fTW+fTNE-fBNE+fTSE-fBSE+fTNW-fBNW+fTSW-fBSW) * OORho;
-         //real mu021   =(fTN-fBS-fBN+fTS+fTNE-fBNE+fTSE-fBSE+fTNW-fBNW+fTSW-fBSW) * OORho;
-         //real mu012   =(fTN-fBS+fBN-fTS+fTNE+fBNE-fTSE-fBSE+fTNW+fBNW-fTSW-fBSW) * OORho;
-         //real mu220   =(fNE+fSW+fSE+fNW+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         //real mu121   =(fTNE-fBNE+fTSE-fBSE-fTNW+fBNW-fTSW+fBSW) * OORho;
-         //real mu202   =(fTE+fBW+fBE+fTW+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         //real mu211   =(fTNE-fBNE-fTSE+fBSE+fTNW-fBNW-fTSW+fBSW) * OORho;
-         //real mu112   =(fTNE+fBNE-fTSE-fBSE-fTNW-fBNW+fTSW+fBSW) * OORho;
-         //real mu022   =(fTN+fBS+fBN+fTS+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         //real mu221   =(fTNE-fBNE+fTSE-fBSE+fTNW-fBNW+fTSW-fBSW) * OORho;
-         //real mu122   =(fTNE-fTNW+fBNE-fBNW+fTSE-fTSW+fBSE-fBSW) * OORho;
-         //real mu212   =(fTNE+fBNE-fTSE-fBSE+fTNW+fBNW-fTSW-fBSW) * OORho;
-         //real mu222   =(fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real mu200   = OORho * ((((fTNE+fBSW) + (fTNW+fBSE)) + ((fTSE+fBNW) + (fTSW+fBNE))) + ((fNE+fSW) + (fNW+fSE)) + ((fTE+fBW) + (fTW+fBE))                           + (fE+fW)                    );
-         real mu020   = OORho * ((((fTNE+fBSW) + (fTNW+fBSE)) + ((fTSE+fBNW) + (fTSW+fBNE))) + ((fNE+fSW) + (fNW+fSE))                           + ((fTN+fBS) + (fTS+fBN))           + (fN+fS)          );
-         real mu002   = OORho * ((((fTNE+fBSW) + (fTNW+fBSE)) + ((fTSE+fBNW) + (fTSW+fBNE)))                           + ((fTE+fBW) + (fTW+fBE)) + ((fTN+fBS) + (fTS+fBN))                     + (fT+fB));
-         real mu110   = OORho * ((((fTNE+fBSW) - (fTNW+fBSE)) - ((fTSE+fBNW) - (fTSW+fBNE))) + ((fNE+fSW) - (fNW+fSE))                                                                                  );
-         real mu101   = OORho * ((((fTNE+fBSW) - (fTNW+fBSE)) + ((fTSE+fBNW) - (fTSW+fBNE)))                           + ((fTE+fBW) - (fTW+fBE))                                                        );
-         real mu011   = OORho * ((((fTNE+fBSW) + (fTNW+fBSE)) - ((fTSE+fBNW) + (fTSW+fBNE)))                                                     + ((fTN+fBS) - (fTS+fBN))                              );
-         real mu210   = OORho * ((((fTNE-fBSW) + (fTNW-fBSE)) - ((fTSE-fBNW) + (fTSW-fBNE))) + ((fNE-fSW) + (fNW-fSE))                                                                                  );
-         real mu120   = OORho * ((((fTNE-fBSW) - (fTNW-fBSE)) + ((fTSE-fBNW) - (fTSW-fBNE))) + ((fNE-fSW) + (fNW-fSE))                                                                                  );
-         real mu102   = OORho * ((((fTNE-fBSW) - (fTNW-fBSE)) + ((fTSE-fBNW) - (fTSW-fBNE)))                           + ((fTE-fBW) - (fTW-fBE))                                                        );
-         real mu111   = OORho * ((((fTNE-fBSW) - (fTNW-fBSE)) - ((fTSE-fBNW) - (fTSW-fBNE)))                                                                                                            );
-         real mu201   = OORho * ((((fTNE-fBSW) + (fTNW-fBSE)) + ((fTSE-fBNW) + (fTSW-fBNE)))                           + ((fTE-fBW) + (fTW-fBE))                                                        );
-         real mu021   = OORho * ((((fTNE-fBSW) + (fTNW-fBSE)) + ((fTSE-fBNW) + (fTSW-fBNE)))                                                     + ((fTN-fBS) + (fTS-fBN))                              );
-         real mu012   = OORho * ((((fTNE-fBSW) + (fTNW-fBSE)) - ((fTSE-fBNW) + (fTSW-fBNE)))                                                     + ((fTN-fBS) - (fTS-fBN))                              );
-         real mu220   = OORho * ((((fTNE+fBSW) + (fTNW+fBSE)) + ((fTSE+fBNW) + (fTSW+fBNE))) + ((fNE+fSW) + (fNW+fSE))                                                                                  );
-         real mu121   = OORho * ((((fTNE+fBSW) - (fTNW+fBSE)) + ((fTSE+fBNW) - (fTSW+fBNE)))                                                                                                            );
-         real mu202   = OORho * ((((fTNE+fBSW) + (fTNW+fBSE)) + ((fTSE+fBNW) + (fTSW+fBNE)))                           + ((fTE+fBW) + (fTW+fBE))                                                        );
-         real mu211   = OORho * ((((fTNE+fBSW) + (fTNW+fBSE)) - ((fTSE+fBNW) + (fTSW+fBNE)))                                                                                                            );
-         real mu112   = OORho * ((((fTNE+fBSW) - (fTNW+fBSE)) - ((fTSE+fBNW) - (fTSW+fBNE)))                                                                                                            );
-         real mu022   = OORho * ((((fTNE+fBSW) + (fTNW+fBSE)) + ((fTSE+fBNW) + (fTSW+fBNE)))                                                     + ((fTN+fBS) + (fTS+fBN))                              );
-         real mu221   = OORho * ((((fTNE-fBSW) + (fTNW-fBSE)) + ((fTSE-fBNW) + (fTSW-fBNE)))                                                                                                            );
-         real mu122   = OORho * ((((fTNE-fBSW) - (fTNW-fBSE)) + ((fTSE-fBNW) - (fTSW-fBNE)))                                                                                                            );
-         real mu212   = OORho * ((((fTNE-fBSW) + (fTNW-fBSE)) - ((fTSE-fBNW) + (fTSW-fBNE)))                                                                                                            );
-         real mu222   = OORho * ((((fTNE+fBSW) + (fTNW+fBSE)) + ((fTSE+fBNW) + (fTSW+fBNE)))                                                                                                            );
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real MzXX,MzYY,MzZZ,MzXY,MzXZ,MzYZ,MzXXY,MzXYY,MzXXZ,MzXZZ,MzYYZ,MzYZZ,MzXYZ,MzXXYY,MzXXZZ,MzYYZZ,MzXXYZ,MzXYYZ,MzXYZZ,MzXXYYZ,MzXXYZZ,MzXYYZZ,MzXXYYZZ;
-         {
-            //2.
-            MzXX      =   mu200-vx2;
-            MzXY      =   mu110-vxy;
-            MzXZ      =   mu101-vxz;
-            MzYY      =   mu020-vy2;
-            MzYZ      =   mu011-vyz;
-            MzZZ      =   mu002-vz2;
-
-            real pimpmu200 = mu200 + c1o3 * OORho;
-            real pimpmu020 = mu020 + c1o3 * OORho;
-            real pimpmu002 = mu002 + c1o3 * OORho;
-
-            //3.
-            MzXXY     =    c2o1*vx2y - c2o1*vx*mu110 - vy*pimpmu200 + mu210; 
-            MzXXZ     =    c2o1*vx2z - c2o1*vx*mu101 - vz*pimpmu200 + mu201; 
-            MzXYY     =    c2o1*vxy2 - pimpmu020*vx - c2o1*vy*mu110 + mu120; 
-            MzXYZ     =    c2o1*vxyz - mu011*vx-vy*mu101 -vz*mu110 + mu111;
-            MzXZZ     =    c2o1*vxz2 - pimpmu002*vx - c2o1*vz*mu101 + mu102; 
-            MzYYZ     =    c2o1*vy2z - c2o1*vy*mu011 - vz*pimpmu020 + mu021; 
-            MzYZZ     =    c2o1*vyz2 - pimpmu002*vy - c2o1*vz*mu011 + mu012; 
-
-            //4.
-            MzXXYY    =   /*-three*vx2y2+*/pimpmu020*vx2/*+four*vxy*mu110*/-c2o1*vx*mu120+vy2*pimpmu200-c2o1*vy*mu210+mu220; 
-            MzXXYZ    =   /*-three*vx2yz+mu011*vx2+two*vxy*mu101+two*vxz*mu110-two*vx*mu111*/+vyz*pimpmu200-vy*mu201-vz*mu210+mu211; 
-            MzXXZZ    =   /*-three*vx2z2+*/pimpmu002*vx2/*+four*vxz*mu101*/-c2o1*vx*mu102+vz2*pimpmu200-c2o1*vz*mu201+mu202; 
-            MzXYYZ    =   /*-three*vxy2z+two*vxy*mu011*/+vxz*pimpmu020-mu021*vx/*+vy2*mu101+two*vyz*mu110-two*vy*mu111*/-vz*mu120+mu121; 
-            MzXYZZ    =   /*-three*vxyz2+*/pimpmu002*vxy/*+two*vxz*mu011*/-mu012*vx/*+two*vyz*mu101*/-vy*mu102/*+vz2*mu110-two*vz*mu111*/+mu112; 
-            MzYYZZ    =   /*-three*vy2z2+*/pimpmu002*vy2/*+four*vyz*mu011*/-c2o1*vy*mu012+vz2*pimpmu020-c2o1*vz*mu021+mu022; 
-
-            real pimpmu220 = mu220 + c1o9 * OORho;
-            real pimpmu202 = mu202 + c1o9 * OORho;
-            real pimpmu022 = mu022 + c1o9 * OORho;
-
-            //5.
-            MzXXYYZ   =    /*four*(vx2y2z-vxyz*mu110+vxy*mu111)+*/ 
-                           c2o1*(vxz*mu120/*-vxy2*mu101-vx2y*mu011*/+vyz*mu210-vy*mu211-vx*mu121)+
-                           vy2*mu201-vx2z*pimpmu020+mu021*vx2-vz*pimpmu220-vy2z*pimpmu200+mu221; 
-            MzXXYZZ   =    /*four*(vx2yz2-vxyz*mu101+vxz*mu111)+*/
-                           c2o1*(vxy*mu102/*-vxz2*mu110-vx2z*mu011*/-vx*mu112-vz*mu211+vyz*mu201)+
-                           vz2*mu210-vy*pimpmu202-pimpmu002*vx2y+mu012*vx2-vyz2*pimpmu200+mu212;
-            MzXYYZZ   =    /*four*(vxy2z2-vxyz*mu011+vyz*mu111)+*/
-                           c2o1*(vxy*mu012/*-vyz2*mu110*/-vy*mu112+vxz*mu021-vz*mu121/*-vy2z*mu101*/)+
-                           vy2*mu102+vz2*mu120-vxz2*pimpmu020-pimpmu022*vx-pimpmu002*vxy2+mu122;    
-
-            //6.
-            MzXXYYZZ  =   mu222 + pimpmu022*vx2 - c2o1*mu122*vx + pimpmu202*vy2 /*+ pimpmu002*vx2*vy2 - two*mu102*vx*vy2*/ - c2o1*mu212*vy /*- two*mu012*vx2*vy + four*mu112*vx*vy*/ + pimpmu220*vz2 /*+ pimpmu020*vx2*vz2 - two*mu120*vx*vz2 + 
-                          pimpmu200*vy2*vz2 - five*vx2*vy2*vz2 - two*mu210*vy*vz2 + 4.*mu110*vx*vy*vz2*/ - c2o1*mu221*vz /*- two*mu021*vx2*vz + four*mu121*vx*vz - two*mu201*vy2*vz + four*mu101*vx*vy2*vz + 
-                          four*mu211*vy*vz + four*mu011*vx2*vy*vz - eight*mu111*vx*vy*vz*/;
-
-            //MzXXYYZZ  =   /*-five*vx2y2z2-eight*vxyz*mu111+*/vy2*pimpmu202/*+pimpmu002*vx2y2+vy2z2*pimpmu200+vx2z2*pimpmu020*/+vz2*pimpmu220+mu222+pimpmu022*vx2//+
-            //               /*four*(vx2yz*mu011+vxy2z*mu101+vxyz2*mu110+vxy*mu112+vxz*mu121+vyz*mu211)*/- 
-            //               two*(vy*mu212/*-vy2z*mu201-vxz2*mu120-vyz2*mu210-vxy2*mu102-vx2z*mu021-vx2y*mu012*/-vx*mu122-vz*mu221); 
-         }
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real MXXpMYYpMZZ,MXXmMYY, MXXmMZZ, MXXYpMYZZ,MXXZpMYYZ,MXYYpMXZZ, MXXYmMYZZ,MXXZmMYYZ,MXYYmMXZZ;
-         {
-            //coll faktoren:
-            real w1 =   (-omega);
-            real w2 = -c1o1;//(-omega);
-            real w3 = -(c2o1+(-omega));//-one;
-            real w4 = -(c2o1+(-omega));//-one;
-            real w5 = -(c2o1+(-omega));//-one;
-            real w6 = -c1o1;
-            real w7 = -c1o1;
-            real w8 = -c1o1;
-            real w9 = -c1o1;
-            real w10= -c1o1;
-
-			real wadjust;
-			real qudricLimit = c1o100;
-
-            ////////lin kombi bilden:
-            MXXpMYYpMZZ =  MzXX + MzYY + MzZZ;
-            MXXmMYY     =  MzXX - MzYY;
-            MXXmMZZ     =  MzXX - MzZZ;
-
-            MXXYpMYZZ   =  MzXXY+MzYZZ;
-            MXXYmMYZZ   =  MzXXY-MzYZZ;
-            MXXZpMYYZ   =  MzXXZ+MzYYZ;
-            MXXZmMYYZ   =  MzXXZ-MzYYZ;
-            MXYYpMXZZ   =  MzXYY+MzXZZ;
-            MXYYmMXZZ   =  MzXYY-MzXZZ;
-
-            real MXXYYppp    = MzXXYY + MzXXZZ + MzYYZZ;
-            real MXXYYpm2p   = MzXXYY - c2o1*MzXXZZ + MzYYZZ;
-            real MXXYYppm2   = MzXXYY + MzXXZZ - c2o1*MzYYZZ;
-
-            //relaxation:
-            MXXpMYYpMZZ -= w2*(c1o1-OORho-MXXpMYYpMZZ);
-
-            MzXZ       *=  c1o1+w1;
-            MzYZ       *=  c1o1+w1;
-            MzXY       *=  c1o1+w1;
-
-			
-            MXXmMYY    *=  c1o1+w1;
-            MXXmMZZ    *=  c1o1+w1;
-
-			wadjust     =  w5-(c1o1+w5)*abs(MzXYZ)/(abs(MzXYZ)+qudricLimit);
-			MzXYZ      *=  c1o1+wadjust;
-
-			wadjust     =  w3-(c1o1+w3)*abs(MXXYpMYZZ)/(abs(MXXYpMYZZ)+qudricLimit);
-            MXXYpMYZZ  *=  c1o1+wadjust;
-			wadjust     =  w3-(c1o1+w3)*abs(MXXZpMYYZ)/(abs(MXXZpMYYZ)+qudricLimit);
-            MXXZpMYYZ  *=  c1o1+wadjust;
-			wadjust     =  w3-(c1o1+w3)*abs(MXYYpMXZZ)/(abs(MXYYpMXZZ)+qudricLimit);
-            MXYYpMXZZ  *=  c1o1+wadjust;
-			wadjust     =  w4-(c1o1+w4)*abs(MXXYmMYZZ)/(abs(MXXYmMYZZ)+qudricLimit);
-            MXXYmMYZZ  *=  c1o1+wadjust;
-			wadjust     =  w4-(c1o1+w4)*abs(MXXZmMYYZ)/(abs(MXXZmMYYZ)+qudricLimit);
-            MXXZmMYYZ  *=  c1o1+wadjust;
-			wadjust     =  w4-(c1o1+w4)*abs(MXYYmMXZZ)/(abs(MXYYmMXZZ)+qudricLimit);
-            MXYYmMXZZ  *=  c1o1+wadjust;
-
-            ////////von Lin Kombis zurueck:
-            MzXX  =  c1o3 * (       MXXmMYY +       MXXmMZZ + MXXpMYYpMZZ + OORho);
-            MzYY  =  c1o3 * (-c2o1 * MXXmMYY +       MXXmMZZ + MXXpMYYpMZZ + OORho);
-            MzZZ  =  c1o3 * (       MXXmMYY - c2o1 * MXXmMZZ + MXXpMYYpMZZ + OORho);
-
-            MzXXY = (MXXYmMYZZ + MXXYpMYZZ)*c1o2;
-            MzYZZ = (MXXYpMYZZ - MXXYmMYZZ)*c1o2;
-            MzXYY = (MXYYmMXZZ + MXYYpMXZZ)*c1o2;
-            MzXZZ = (MXYYpMXZZ - MXYYmMXZZ)*c1o2;
-            MzXXZ = (MXXZmMYYZ + MXXZpMYYZ)*c1o2;
-            MzYYZ = (MXXZpMYYZ - MXXZmMYYZ)*c1o2;
-
-            //faktorisierte atraktoren:
-            MXXYYppp  -=  w7*MzXX*MzYY + w7*MzXX*MzZZ     + w7*    MzZZ*MzYY - w7*MXXYYppp - w7*c1o3*OORho;
-            MXXYYpm2p -=  w6*MzXX*MzYY - w6*c2o1*MzXX*MzZZ + w6*    MzZZ*MzYY - w6*MXXYYpm2p;
-            MXXYYppm2 -=  w6*MzXX*MzYY + w6*    MzXX*MzZZ - w6*c2o1*MzZZ*MzYY - w6*MXXYYppm2;
-            MzXXYYZZ  -= w10*MzXX*MzYY*MzZZ - w10*c1o27 - w10*MzXXYYZZ;
-            MzXYYZ    -=  w8*MzYY*MzXZ - w8*MzXYYZ;
-            MzXYZZ    -=  w8*MzZZ*MzXY - w8*MzXYZZ;
-            MzXXYZ    -=  w8*MzXX*MzYZ - w8*MzXXYZ;
-
-            MzXXYYZ *= c1o1+w9;
-            MzXXYZZ *= c1o1+w9;
-            MzXYYZZ *= c1o1+w9;
-
-            MzXXYY =  c1o3 * (MXXYYpm2p + MXXYYppm2 + MXXYYppp);
-            MzXXZZ =  c1o3 * (MXXYYppp - MXXYYpm2p);
-            MzYYZZ =  c1o3 * (MXXYYppp-MXXYYppm2);
-         }
-
-         //2.
-         mu200 = vx2 + c1o3 * (MXXmMYY + MXXmMZZ + MXXpMYYpMZZ);
-         mu020 = vy2 + c1o3 * (MXXmMZZ +  MXXpMYYpMZZ - c2o1 * MXXmMYY);
-         mu002 = vz2 + c1o3 * (MXXmMYY - c2o1 * MXXmMZZ + MXXpMYYpMZZ);
-         mu110 = vxy + MzXY;
-         mu101 = vxz + MzXZ;
-         mu011 = vyz + MzYZ;
-
-         //3.
-         mu111 = vxyz +     vx*MzYZ +     vy*MzXZ + vz*MzXY + MzXYZ;
-         mu210 = vx2y + c2o1*vx*MzXY +     vy*MzXX + MzXXY;
-         mu120 = vxy2 +     vx*MzYY + c2o1*vy*MzXY + MzXYY;
-         mu102 = vxz2 +     vx*MzZZ + c2o1*vz*MzXZ + MzXZZ;
-         mu201 = vx2z + c2o1*vx*MzXZ +     vz*MzXX + MzXXZ;
-         mu021 = vy2z + c2o1*vy*MzYZ +     vz*MzYY + MzYYZ;
-         mu012 = vyz2 +     vy*MzZZ + c2o1*vz*MzYZ + MzYZZ;
-
-         //4.
-         mu211 = /*vx2yz +     vx2*MzYZ + two*vxy*MzXZ + two*vxz*MzXY + two*vx*MzXYZ +*/     vyz*MzXX +     vy*MzXXZ +     vz*MzXXY + MzXXYZ;
-         mu121 = /*vxy2z + two*vxy*MzYZ +*/     vxz*MzYY +     vx*MzYYZ /*+     vy2*MzXZ + two*vyz*MzXY + two*vy*MzXYZ*/ +     vz*MzXYY + MzXYYZ;
-         mu112 = /*vxyz2 +*/     vxy*MzZZ /*+ two*vxz*MzYZ*/ +     vx*MzYZZ /*+ two*vyz*MzXZ*/ +     vy*MzXZZ /*+     vz2*MzXY + two*vz*MzXYZ*/ + MzXYZZ;
-         mu220 = /*vx2y2 +*/     vx2*MzYY /*+ 4.f*vxy*MzXY*/ + c2o1*vx*MzXYY +     vy2*MzXX + c2o1*vy*MzXXY + MzXXYY ;
-         mu202 = /*vx2z2 +*/     vx2*MzZZ /*+ 4.f*vxz*MzXZ*/ + c2o1*vx*MzXZZ +     vz2*MzXX + c2o1*vz*MzXXZ + MzXXZZ;
-         mu022 = /*vy2z2 +*/     vy2*MzZZ /*+ 4.f*vyz*MzYZ*/ + c2o1*vy*MzYZZ +     vz2*MzYY + c2o1*vz*MzYYZ + MzYYZZ;
-
-         MzXXYY += c1o9 * OORho;
-         MzXXZZ += c1o9 * OORho;
-         MzYYZZ += c1o9 * OORho;
-
-         //5.
-         mu221 = /*vx2y2z+*/vx2z*MzYY+vx2*MzYYZ+vy2z*MzXX+vy2*MzXXZ+vz*MzXXYY+MzXXYYZ+
-                  /*four*(vxyz*MzXY+vxy*MzXYZ)+*/
-                  c2o1*(vxz*MzXYY+vx*MzXYYZ/*+vx2y*MzYZ*/+vyz*MzXXY+vy*MzXXYZ/*+vxy2*MzXZ*/);
-         mu212 = /*vx2yz2 +*/ vx2y*MzZZ + vx2*MzYZZ + vy*MzXXZZ + vz2*MzXXY + vyz2*MzXX+MzXXYZZ+
-                  /*four*(vxyz*MzXZ + vxz*MzXYZ)+*/
-                  c2o1*(vxy*MzXZZ /*+ vxz2*MzXY*/ + vx*MzXYZZ + vyz*MzXXZ /*+ vx2z*MzYZ*/ + vz*MzXXYZ);
-         mu122 = /*vxy2z2*/ + vxy2*MzZZ + MzXYYZZ + vz2*MzXYY + vy2*MzXZZ + vx*MzYYZZ + vxz2*MzYY+
-                  /*four*(vxyz*MzYZ + vyz*MzXYZ)+*/
-                  c2o1*(vxy*MzYZZ + vxz*MzYYZ/* + vy2z*MzXZ + vyz2*MzXY*/ + vy*MzXYZZ + vz*MzXYYZ);
-
-         //6.
-         mu222 = /*vx2y2z2 + vx2y2*MzZZ + vx2z2*MzYY */+ vx2*MzYYZZ /*+ vy2z2*MzXX*/ + vy2*MzXXZZ + vz2*MzXXYY + MzXXYYZZ /*+ eight*vxyz*MzXYZ*/ +
-            c2o1*(/*vx2y*MzYZZ +*/  vx*MzXYYZZ + vz*MzXXYYZ /*+ vyz2*MzXXY + vx2z*MzYYZ + vxy2*MzXZZ + vxz2*MzXYY*/ + vy*MzXXYZZ/* + vy2z*MzXXZ*/);//+ 
-            //four*(/*vxy2z*MzXZ + vx2yz*MzYZ + vxyz2*MzXY +*/ vxy*MzXYZZ + vxz*MzXYYZ + vyz*MzXXYZ);
-
-         //(D.f[ dP00   ])[k   ] =   c1o2*rho*( mu200  - mu220 + mu222 - mu202 +  mu120 - mu122 + mu102 - vx   );   //ke
-         //(D.f[ dM00   ])[kw  ] =   c1o2*rho*( mu200  - mu220 + mu222 - mu202 -  mu120 + mu122 - mu102 + vx   );   
-         //(D.f[ d0P0   ])[k   ] =   c1o2*rho*( mu210  - mu220 + mu222 - mu212 +  mu020 - mu022 + mu012 - vy   );   //kn
-         //(D.f[ d0M0   ])[ks  ] =   c1o2*rho*(-mu210  - mu220 + mu222 + mu212 +  mu020 - mu022 - mu012 + vy   );   
-         //(D.f[ d00P   ])[k   ] =   c1o2*rho*(-mu221  + mu222 + mu201 - mu202 +  mu021 - mu022 + mu002 - vz   );   //kt
-         //(D.f[ d00M   ])[kb  ] =   c1o2*rho*( mu221  + mu222 - mu201 - mu202 -  mu021 - mu022 + mu002 + vz   );   
-         //(D.f[ dPP0  ])[k   ] =  c1o4*rho*(-mu210  + mu220 - mu222 + mu212 +  mu110 - mu120 + mu122 - mu112);   //kne
-         //(D.f[ dMM0  ])[ksw ] =  c1o4*rho*( mu210  + mu220 - mu222 - mu212 +  mu110 + mu120 - mu122 - mu112);   
-         //(D.f[ dPM0  ])[ks  ] =  c1o4*rho*( mu210  + mu220 - mu222 - mu212 -  mu110 - mu120 + mu122 + mu112);   //kse
-         //(D.f[ dMP0  ])[kw  ] =  c1o4*rho*(-mu210  + mu220 - mu222 + mu212 -  mu110 + mu120 - mu122 + mu112);   //knw
-         //(D.f[ dP0P  ])[k   ] =  c1o4*rho*( mu221  - mu222 - mu201 + mu202 -  mu121 + mu122 + mu101 - mu102);   //kte
-         //(D.f[ dM0M  ])[kbw ] =  c1o4*rho*(-mu221  - mu222 + mu201 + mu202 -  mu121 - mu122 + mu101 + mu102);   
-         //(D.f[ dP0M  ])[kb  ] =  c1o4*rho*(-mu221  - mu222 + mu201 + mu202 +  mu121 + mu122 - mu101 - mu102);   //kbe
-         //(D.f[ dM0P  ])[kw  ] =  c1o4*rho*( mu221  - mu222 - mu201 + mu202 +  mu121 - mu122 - mu101 + mu102);   //ktw
-         //(D.f[ d0PP  ])[k   ] =  c1o4*rho*( mu221  - mu222 - mu211 + mu212 -  mu021 + mu022 + mu011 - mu012);   //ktn
-         //(D.f[ d0MM  ])[kbs ] =  c1o4*rho*(-mu221  - mu222 - mu211 - mu212 +  mu021 + mu022 + mu011 + mu012);   
-         //(D.f[ d0PM  ])[kb  ] =  c1o4*rho*(-mu221  - mu222 + mu211 + mu212 +  mu021 + mu022 - mu011 - mu012);   //kbn
-         //(D.f[ d0MP  ])[ks  ] =  c1o4*rho*( mu221  - mu222 + mu211 - mu212 -  mu021 + mu022 - mu011 + mu012);   //kts
-         //(D.f[ d000])[k   ] =       rho*(-mu200  + mu220 - mu222 + mu202 -  mu020 + mu022 - mu002        )+rho0;   //kzero
-         //(D.f[ dPPP ])[k   ] = c1o8*rho*(-mu221  + mu222 + mu211 - mu212 +  mu121 - mu122 - mu111 + mu112);   //ktne
-         //(D.f[ dPMP ])[ks  ] = c1o8*rho*(-mu221  + mu222 - mu211 + mu212 +  mu121 - mu122 + mu111 - mu112);   //ktse
-         //(D.f[ dPPM ])[kb  ] = c1o8*rho*( mu221  + mu222 - mu211 - mu212 -  mu121 - mu122 + mu111 + mu112);   //kbne
-         //(D.f[ dPMM ])[kbs ] = c1o8*rho*( mu221  + mu222 + mu211 + mu212 -  mu121 - mu122 - mu111 - mu112);   //kbse
-         //(D.f[ dMPP ])[kw  ] = c1o8*rho*(-mu221  + mu222 + mu211 - mu212 -  mu121 + mu122 + mu111 - mu112);   //ktnw
-         //(D.f[ dMMP ])[ksw ] = c1o8*rho*(-mu221  + mu222 - mu211 + mu212 -  mu121 + mu122 - mu111 + mu112);   //ktsw
-         //(D.f[ dMPM ])[kbw ] = c1o8*rho*( mu221  + mu222 - mu211 - mu212 +  mu121 + mu122 - mu111 - mu112);   //kbnw
-         //(D.f[ dMMM ])[kbsw] = c1o8*rho*( mu221  + mu222 + mu211 + mu212 +  mu121 + mu122 + mu111 + mu112);   
-         (D.f[ dP00   ])[k   ] =   c1o2*rho*(+ mu222 + (                          - mu220 - mu202        ) + (                         + mu200                ) + (                 - mu122) + (                                          + mu102 + mu120) + ( - vx            ) );   //ke
-         (D.f[ dM00   ])[kw  ] =   c1o2*rho*(+ mu222 + (                          - mu220 - mu202        ) + (                         + mu200                ) + (                 + mu122) + (                                          - mu102 - mu120) + ( + vx            ) );   
-         (D.f[ d0P0   ])[k   ] =   c1o2*rho*(+ mu222 + (                          - mu220         - mu022) + (                                 + mu020        ) + (         - mu212        ) + (                          + mu012 + mu210                ) + (      - vy       ) );   //kn
-         (D.f[ d0M0   ])[ks  ] =   c1o2*rho*(+ mu222 + (                          - mu220         - mu022) + (                                 + mu020        ) + (         + mu212        ) + (                          - mu012 - mu210                ) + (      + vy       ) );   
-         (D.f[ d00P   ])[k   ] =   c1o2*rho*(+ mu222 + (                                  - mu202 - mu022) + (                                         + mu002) + ( - mu221                ) + (         + mu201 +  mu021                                ) + (           - vz  ) );   //kt
-         (D.f[ d00M   ])[kb  ] =   c1o2*rho*(+ mu222 + (                                  - mu202 - mu022) + (                                         + mu002) + ( + mu221                ) + (         - mu201 -  mu021                                ) + (           + vz  ) );   
-         (D.f[ dPP0  ])[k   ] =  c1o4*rho*(- mu222 + (                  - mu112 + mu220                ) + (+  mu110                                        ) + (         + mu212 + mu122) + (                                  - mu210         - mu120)                       );   //kne
-         (D.f[ dMM0  ])[ksw ] =  c1o4*rho*(- mu222 + (                  - mu112 + mu220                ) + (+  mu110                                        ) + (         - mu212 - mu122) + (                                  + mu210         + mu120)                       );   
-         (D.f[ dPM0  ])[ks  ] =  c1o4*rho*(- mu222 + (                  + mu112 + mu220                ) + (-  mu110                                        ) + (         - mu212 + mu122) + (                                  + mu210         - mu120)                       );   //kse
-         (D.f[ dMP0  ])[kw  ] =  c1o4*rho*(- mu222 + (                  + mu112 + mu220                ) + (-  mu110                                        ) + (         + mu212 - mu122) + (                                  - mu210         + mu120)                       );   //knw
-         (D.f[ dP0P  ])[k   ] =  c1o4*rho*(- mu222 + (        -  mu121                  + mu202        ) + (         + mu101                                ) + ( + mu221         + mu122) + (         - mu201                          - mu102        )                       );   //kte
-         (D.f[ dM0M  ])[kbw ] =  c1o4*rho*(- mu222 + (        -  mu121                  + mu202        ) + (         + mu101                                ) + ( - mu221         - mu122) + (         + mu201                          + mu102        )                       );   
-         (D.f[ dP0M  ])[kb  ] =  c1o4*rho*(- mu222 + (        +  mu121                  + mu202        ) + (         - mu101                                ) + ( - mu221         + mu122) + (         + mu201                          - mu102        )                       );   //kbe
-         (D.f[ dM0P  ])[kw  ] =  c1o4*rho*(- mu222 + (        +  mu121                  + mu202        ) + (         - mu101                                ) + ( + mu221         - mu122) + (         - mu201                          + mu102        )                       );   //ktw
-         (D.f[ d0PP  ])[k   ] =  c1o4*rho*(- mu222 + (- mu211                                   + mu022) + (                 + mu011                        ) + ( + mu221 + mu212        ) + (                 -  mu021 - mu012                        )                       );   //ktn
-         (D.f[ d0MM  ])[kbs ] =  c1o4*rho*(- mu222 + (- mu211                                   + mu022) + (                 + mu011                        ) + ( - mu221 - mu212        ) + (                 +  mu021 + mu012                        )                       );   
-         (D.f[ d0PM  ])[kb  ] =  c1o4*rho*(- mu222 + (+ mu211                                   + mu022) + (                 - mu011                        ) + ( - mu221 + mu212        ) + (                 +  mu021 - mu012                        )                       );   //kbn
-         (D.f[ d0MP  ])[ks  ] =  c1o4*rho*(- mu222 + (+ mu211                                   + mu022) + (                 - mu011                        ) + ( + mu221 - mu212        ) + (                 -  mu021 + mu012                        )                       );   //kts
-         (D.f[ d000])[k   ] =       rho*(- mu222 + (                          + mu220 + mu202 + mu022) + (                         - mu200 - mu020 - mu002)                                                                                                                  )+rho0;   //kzero
-         (D.f[ dPPP ])[k   ] = c1o8*rho*(+ mu222 + (+ mu211 +  mu121 + mu112                         )                                                      + ( - mu221 - mu212 - mu122) + ( - mu111                                                 )                       );   //ktne
-         (D.f[ dPMP ])[ks  ] = c1o8*rho*(+ mu222 + (- mu211 +  mu121 - mu112                         )                                                      + ( - mu221 + mu212 - mu122) + ( + mu111                                                 )                       );   //ktse
-         (D.f[ dPPM ])[kb  ] = c1o8*rho*(+ mu222 + (- mu211 -  mu121 + mu112                         )                                                      + ( + mu221 - mu212 - mu122) + ( + mu111                                                 )                       );   //kbne
-         (D.f[ dPMM ])[kbs ] = c1o8*rho*(+ mu222 + (+ mu211 -  mu121 - mu112                         )                                                      + ( + mu221 + mu212 - mu122) + ( - mu111                                                 )                       );   //kbse
-         (D.f[ dMPP ])[kw  ] = c1o8*rho*(+ mu222 + (+ mu211 -  mu121 - mu112                         )                                                      + ( - mu221 - mu212 + mu122) + ( + mu111                                                 )                       );   //ktnw
-         (D.f[ dMMP ])[ksw ] = c1o8*rho*(+ mu222 + (- mu211 -  mu121 + mu112                         )                                                      + ( - mu221 + mu212 + mu122) + ( - mu111                                                 )                       );   //ktsw
-         (D.f[ dMPM ])[kbw ] = c1o8*rho*(+ mu222 + (- mu211 +  mu121 - mu112                         )                                                      + ( + mu221 - mu212 + mu122) + ( - mu111                                                 )                       );   //kbnw
-         (D.f[ dMMM ])[kbsw] = c1o8*rho*(+ mu222 + (+ mu211 +  mu121 + mu112                         )                                                      + ( + mu221 + mu212 + mu122) + ( + mu111                                                 )                       );   
-                                                                                                                                                                                                                                                                
-                                                                                                                                                                                                                                                                
-         //////////////////////////////////////////////////////////////////////////                                                                                                                                                                             
-         //BGK                                                                                                 
-         //////////////////////////////////////////////////////////////////////////                            
-         //(D.f[ dP00   ])[k   ] = fW    ;                                                                     
-         //(D.f[ dM00   ])[kw  ] = fE    ;                                                                     
-         //(D.f[ d0P0   ])[k   ] = fS    ;
-         //(D.f[ d0M0   ])[ks  ] = fN    ;
-         //(D.f[ d00P   ])[k   ] = fB    ;
-         //(D.f[ d00M   ])[kb  ] = fT    ;
-         //(D.f[ dPP0  ])[k   ] = fSW   ;
-         //(D.f[ dMM0  ])[ksw ] = fNE   ;
-         //(D.f[ dPM0  ])[ks  ] = fNW   ;
-         //(D.f[ dMP0  ])[kw  ] = fSE   ;
-         //(D.f[ dP0P  ])[k   ] = fBW   ;
-         //(D.f[ dM0M  ])[kbw ] = fTE   ;
-         //(D.f[ dP0M  ])[kb  ] = fTW   ;
-         //(D.f[ dM0P  ])[kw  ] = fBE   ;
-         //(D.f[ d0PP  ])[k   ] = fBS   ;
-         //(D.f[ d0MM  ])[kbs ] = fTN   ;
-         //(D.f[ d0PM  ])[kb  ] = fTS   ;
-         //(D.f[ d0MP  ])[ks  ] = fBN   ;
-         //(D.f[ d000])[k   ] = fZERO ;
-         //(D.f[ dPPP ])[k   ] = fBSW  ;
-         //(D.f[ dPMP ])[ks  ] = fBNW  ;
-         //(D.f[ dPPM ])[kb  ] = fTSW  ;
-         //(D.f[ dPMM ])[kbs ] = fTNW  ;
-         //(D.f[ dMPP ])[kw  ] = fBSE  ;
-         //(D.f[ dMMP ])[ksw ] = fBNE  ;
-         //(D.f[ dMPM ])[kbw ] = fTSE  ;
-         //(D.f[ dMMM ])[kbsw] = fTNE  ;
-      }                                                                                                                    
-   }
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Casc_SP_MS_27(   real omega,
-                                                      unsigned int* bcMatD,
-                                                      unsigned int* neighborX,
-                                                      unsigned int* neighborY,
-                                                      unsigned int* neighborZ,
-                                                      real* DDStart,
-                                                      unsigned long long numberOfLBnodes,
-                                                      bool EvenOrOdd)
-{
-   ////////////////////////////////////////////////////////////////////////////////
-   const unsigned  x = threadIdx.x;  // Globaler x-Index 
-   const unsigned  y = blockIdx.x;   // Globaler y-Index 
-   const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-   const unsigned nx = blockDim.x;
-   const unsigned ny = gridDim.x;
-
-   const unsigned k = nx*(ny*z + y) + x;
-   //////////////////////////////////////////////////////////////////////////
-
-   if(k<numberOfLBnodes)
-   {
-      ////////////////////////////////////////////////////////////////////////////////
-      unsigned int BC;
-      BC        =   bcMatD[k];
-
-      if( (BC != GEO_SOLID) && (BC != GEO_VOID))
-      {
-         Distributions27 D;
-         if (EvenOrOdd==true)
-         {
-            D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-            D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-            D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-            D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-            D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-            D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-            D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-            D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-            D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-            D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-            D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-            D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-            D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-            D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-            D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-            D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-            D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-            D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-            D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-            D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-            D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-            D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-            D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-            D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-            D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-            D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-            D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-         }
-         else
-         {
-            D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-            D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-            D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-            D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-            D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-            D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-            D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-            D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-            D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-            D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-            D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-            D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-            D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-            D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-            D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-            D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-            D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-            D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-            D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-            D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-            D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-            D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-            D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-            D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-            D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-            D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-            D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-         }
-
-         ////////////////////////////////////////////////////////////////////////////////
-         //index
-         //unsigned int kzero= k;
-         //unsigned int ke   = k;
-         unsigned int kw   = neighborX[k];
-         //unsigned int kn   = k;
-         unsigned int ks   = neighborY[k];
-         //unsigned int kt   = k;
-         unsigned int kb   = neighborZ[k];
-         unsigned int ksw  = neighborY[kw];
-         //unsigned int kne  = k;
-         //unsigned int kse  = ks;
-         //unsigned int knw  = kw;
-         unsigned int kbw  = neighborZ[kw];
-         //unsigned int kte  = k;
-         //unsigned int kbe  = kb;
-         //unsigned int ktw  = kw;
-         unsigned int kbs  = neighborZ[ks];
-         //unsigned int ktn  = k;
-         //unsigned int kbn  = kb;
-         //unsigned int kts  = ks;
-         //unsigned int ktse = ks;
-         //unsigned int kbnw = kbw;
-         //unsigned int ktnw = kw;
-         //unsigned int kbse = kbs;
-         //unsigned int ktsw = ksw;
-         //unsigned int kbne = kb;
-         //unsigned int ktne = k;
-         unsigned int kbsw = neighborZ[ksw];
-         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real fE    =  (D.f[dP00])[k  ];//ke
-         real fW    =  (D.f[dM00])[kw ];
-         real fN    =  (D.f[d0P0])[k  ];//kn
-         real fS    =  (D.f[d0M0])[ks ];
-         real fT    =  (D.f[d00P])[k  ];//kt
-         real fB    =  (D.f[d00M])[kb ];
-         real fNE   =  (D.f[dPP0])[k  ];//kne
-         real fSW   =  (D.f[dMM0])[ksw];
-         real fSE   =  (D.f[dPM0])[ks ];//kse
-         real fNW   =  (D.f[dMP0])[kw ];//knw
-         real fTE   =  (D.f[dP0P])[k  ];//kte
-         real fBW   =  (D.f[dM0M])[kbw];
-         real fBE   =  (D.f[dP0M])[kb ];//kbe
-         real fTW   =  (D.f[dM0P])[kw ];//ktw
-         real fTN   =  (D.f[d0PP])[k  ];//ktn
-         real fBS   =  (D.f[d0MM])[kbs];
-         real fBN   =  (D.f[d0PM])[kb ];//kbn
-         real fTS   =  (D.f[d0MP])[ks ];//kts
-         real fZERO =  (D.f[d000])[k  ];//kzero
-         real fTNE   = (D.f[dPPP])[k  ];//ktne
-         real fTSW   = (D.f[dMMP])[ksw];//ktsw
-         real fTSE   = (D.f[dPMP])[ks ];//ktse
-         real fTNW   = (D.f[dMPP])[kw ];//ktnw
-         real fBNE   = (D.f[dPPM])[kb ];//kbne
-         real fBSW   = (D.f[dMMM])[kbsw];
-         real fBSE   = (D.f[dPMM])[kbs];//kbse
-         real fBNW   = (D.f[dMPM])[kbw];//kbnw
-         ////////////////////////////////////////////////////////////////////////////////
-         real rho0   =  fZERO+fE+fW+fN+fS+fT+fB+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fTSW+fTSE+fTNW+fBNE+fBSW+fBSE+fBNW;
-         real rho    =  rho0 + c1o1;
-         real OORho  =  c1o1/rho;
-         real vx     =  (fE -fW +fNE-fSW+fSE-fNW+fTE-fBW+fBE-fTW+ fTNE-fTSW+fTSE-fTNW+ fBNE-fBSW+fBSE-fBNW) * OORho;
-         real vy     =  (fN -fS +fNE-fSW-fSE+fNW+fTN-fBS+fBN-fTS+ fTNE-fTSW-fTSE+fTNW+ fBNE-fBSW-fBSE+fBNW) * OORho;
-         real vz     =  (fT -fB +fTE-fBW-fBE+fTW+fTN-fBS-fBN+fTS+ fTNE+fTSW+fTSE+fTNW- fBNE-fBSW-fBSE-fBNW) * OORho;
-
-         //////////////////////////////////////////////////////////////////////////
-         //BGK
-         //////////////////////////////////////////////////////////////////////////
-         //real drho   =  fZERO+fE+fW+fN+fS+fT+fB+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fTSW+fTSE+fTNW+fBNE+fBSW+fBSE+fBNW;
-         //real vx1     =  (fE -fW +fNE-fSW+fSE-fNW+fTE-fBW+fBE-fTW+ fTNE-fTSW+fTSE-fTNW+ fBNE-fBSW+fBSE-fBNW);
-         //real vx2     =  (fN -fS +fNE-fSW-fSE+fNW+fTN-fBS+fBN-fTS+ fTNE-fTSW-fTSE+fTNW+ fBNE-fBSW-fBSE+fBNW);
-         //real vx3     =  (fT -fB +fTE-fBW-fBE+fTW+fTN-fBS-fBN+fTS+ fTNE+fTSW+fTSE+fTNW- fBNE-fBSW-fBSE-fBNW);
-
-
-         //real cusq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
-
-         //fZERO = fZERO *(one+(-omega))-(-omega)*   c8over27*  (drho-cusq);
-         //fE    = fE    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*( vx1        )+c9over2*( vx1        )*( vx1        )-cusq);
-         //fW    = fW    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(-vx1        )+c9over2*(-vx1        )*(-vx1        )-cusq);
-         //fN    = fN    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(    vx2     )+c9over2*(     vx2    )*(     vx2    )-cusq);
-         //fS    = fS    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(   -vx2     )+c9over2*(    -vx2    )*(    -vx2    )-cusq);
-         //fT    = fT    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(         vx3)+c9over2*(         vx3)*(         vx3)-cusq);
-         //fB    = fB    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(        -vx3)+c9over2*(        -vx3)*(        -vx3)-cusq);
-         //fNE   = fNE   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*( vx1+vx2    )+c9over2*( vx1+vx2    )*( vx1+vx2    )-cusq);
-         //fSW   = fSW   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*(-vx1-vx2    )+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cusq);
-         //fSE   = fSE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1-vx2    )+c9over2*( vx1-vx2    )*( vx1-vx2    )-cusq);
-         //fNW   = fNW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1+vx2    )+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cusq);
-         //fTE   = fTE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    +vx3)+c9over2*( vx1    +vx3)*( vx1    +vx3)-cusq);
-         //fBW   = fBW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    -vx3)+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cusq);
-         //fBE   = fBE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    -vx3)+c9over2*( vx1    -vx3)*( vx1    -vx3)-cusq);
-         //fTW   = fTW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    +vx3)+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cusq);
-         //fTN   = fTN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2+vx3)+c9over2*(     vx2+vx3)*(     vx2+vx3)-cusq);
-         //fBS   = fBS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2-vx3)+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cusq);
-         //fBN   = fBN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2-vx3)+c9over2*(     vx2-vx3)*(     vx2-vx3)-cusq);
-         //fTS   = fTS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2+vx3)+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cusq);
-         //fTNE  = fTNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq);
-         //fBSW  = fBSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq);
-         //fBNE  = fBNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq);
-         //fTSW  = fTSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq);
-         //fTSE  = fTSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq);
-         //fBNW  = fBNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq);
-         //fBSE  = fBSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq);
-         //fTNW  = fTNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq);
-
-
-         real vx2    = vx*vx;
-         real vy2    = vy*vy;
-         real vz2    = vz*vz;
-         real vxy    = vx*vy;
-         real vxz    = vx*vz;
-         real vyz    = vy*vz;
-         real vx2y   = vx*vx*vy;
-         real vx2z   = vx*vx*vz;
-         real vy2z   = vy*vy*vz;
-         real vxy2   = vx*vy*vy;
-         real vyz2   = vy*vz*vz;
-         real vxz2   = vx*vz*vz;
-         real vxyz   = vx*vy*vz;
-         real vx2y2  = vx*vx*vy*vy;
-         real vx2z2  = vx*vx*vz*vz;
-         real vy2z2  = vy*vy*vz*vz;
-         real vx2yz  = vx*vx*vy*vz;
-         real vxyz2  = vx*vy*vz*vz;
-         real vxy2z  = vx*vy*vy*vz;
-         real vx2y2z = vx*vx*vy*vy*vz;
-         real vx2yz2 = vx*vx*vy*vz*vz;
-         real vxy2z2 = vx*vy*vy*vz*vz;
-         real vx2y2z2= vx*vx*vy*vy*vz*vz;
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real mu200   =(fE+fW+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu020   =(fN+fS+fNE+fSW+fSE+fNW+fTN+fBS+fBN+fTS+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu002   =(fT+fB+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu110   =(fNE-fSE+fSW-fNW+fTNE-fTSE+fBNE-fBSE+fTSW-fTNW+fBSW-fBNW) * OORho;
-         real mu101   =(fTE+fBW-fBE-fTW+fTNE-fBNE+fTSE-fBSE-fTNW+fBNW-fTSW+fBSW) * OORho;
-         real mu011   =(fTN+fBS-fBN-fTS+fTNE-fBNE-fTSE+fBSE+fTNW-fBNW-fTSW+fBSW) * OORho;
-         real mu210   =(fNE-fSW-fSE+fNW+fTNE+fBNE-fTSE-fBSE+fTNW+fBNW-fTSW-fBSW) * OORho;
-         real mu120   =(fNE-fSW+fSE-fNW+fTNE-fTNW+fBNE-fBNW+fTSE-fTSW+fBSE-fBSW) * OORho;
-         real mu102   =(fTE-fBW+fBE-fTW+fTNE-fTNW+fBNE-fBNW+fTSE-fTSW+fBSE-fBSW) * OORho;
-         real mu111   =(fTNE-fBNE-fTSE+fBSE-fTNW+fBNW+fTSW-fBSW) * OORho;
-         real mu201   =(fTE-fBW-fBE+fTW+fTNE-fBNE+fTSE-fBSE+fTNW-fBNW+fTSW-fBSW) * OORho;
-         real mu021   =(fTN-fBS-fBN+fTS+fTNE-fBNE+fTSE-fBSE+fTNW-fBNW+fTSW-fBSW) * OORho;
-         real mu012   =(fTN-fBS+fBN-fTS+fTNE+fBNE-fTSE-fBSE+fTNW+fBNW-fTSW-fBSW) * OORho;
-         real mu220   =(fNE+fSW+fSE+fNW+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu121   =(fTNE-fBNE+fTSE-fBSE-fTNW+fBNW-fTSW+fBSW) * OORho;
-         real mu202   =(fTE+fBW+fBE+fTW+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu211   =(fTNE-fBNE-fTSE+fBSE+fTNW-fBNW-fTSW+fBSW) * OORho;
-         real mu112   =(fTNE+fBNE-fTSE-fBSE-fTNW-fBNW+fTSW+fBSW) * OORho;
-         real mu022   =(fTN+fBS+fBN+fTS+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu221   =(fTNE-fBNE+fTSE-fBSE+fTNW-fBNW+fTSW-fBSW) * OORho;
-         real mu122   =(fTNE-fTNW+fBNE-fBNW+fTSE-fTSW+fBSE-fBSW) * OORho;
-         real mu212   =(fTNE+fBNE-fTSE-fBSE+fTNW+fBNW-fTSW-fBSW) * OORho;
-         real mu222   =(fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real MzXX,MzYY,MzZZ,MzXY,MzXZ,MzYZ,MzXXY,MzXYY,MzXXZ,MzXZZ,MzYYZ,MzYZZ,MzXYZ,MzXXYY,MzXXZZ,MzYYZZ,MzXXYZ,MzXYYZ,MzXYZZ,MzXXYYZ,MzXXYZZ,MzXYYZZ,MzXXYYZZ;
-         {
-            //2.
-            MzXX      =   mu200-vx2;
-            MzXY      =   mu110-vxy;
-            MzXZ      =   mu101-vxz;
-            MzYY      =   mu020-vy2;
-            MzYZ      =   mu011-vyz;
-            MzZZ      =   mu002-vz2;
-
-            real pimpmu200 = mu200 + c1o3 * OORho;
-            real pimpmu020 = mu020 + c1o3 * OORho;
-            real pimpmu002 = mu002 + c1o3 * OORho;
-
-            //3.
-            MzXXY     =    c2o1*vx2y - c2o1*vx*mu110 - vy*pimpmu200 + mu210; 
-            MzXXZ     =    c2o1*vx2z - c2o1*vx*mu101 - vz*pimpmu200 + mu201; 
-            MzXYY     =    c2o1*vxy2 - pimpmu020*vx - c2o1*vy*mu110 + mu120; 
-            MzXYZ     =    c2o1*vxyz - mu011*vx-vy*mu101 -vz*mu110 + mu111;
-            MzXZZ     =    c2o1*vxz2 - pimpmu002*vx - c2o1*vz*mu101 + mu102; 
-            MzYYZ     =    c2o1*vy2z - c2o1*vy*mu011 - vz*pimpmu020 + mu021; 
-            MzYZZ     =    c2o1*vyz2 - pimpmu002*vy - c2o1*vz*mu011 + mu012; 
-
-            //4.
-            MzXXYY    =   -c3o1*vx2y2+pimpmu020*vx2+c4o1*vxy*mu110-c2o1*vx*mu120+vy2*pimpmu200-c2o1*vy*mu210+mu220; 
-            MzXXYZ    =   -c3o1*vx2yz+mu011*vx2+c2o1*vxy*mu101+c2o1*vxz*mu110-c2o1*vx*mu111+vyz*pimpmu200-vy*mu201-vz*mu210+mu211; 
-            MzXXZZ    =   -c3o1*vx2z2+pimpmu002*vx2+c4o1*vxz*mu101-c2o1*vx*mu102+vz2*pimpmu200-c2o1*vz*mu201+mu202; 
-            MzXYYZ    =   -c3o1*vxy2z+c2o1*vxy*mu011+vxz*pimpmu020-mu021*vx+vy2*mu101+c2o1*vyz*mu110-c2o1*vy*mu111-vz*mu120+mu121; 
-            MzXYZZ    =   -c3o1*vxyz2+pimpmu002*vxy+c2o1*vxz*mu011-mu012*vx+c2o1*vyz*mu101-vy*mu102+vz2*mu110-c2o1*vz*mu111+mu112; 
-            MzYYZZ    =   -c3o1*vy2z2+pimpmu002*vy2+c4o1*vyz*mu011-c2o1*vy*mu012+vz2*pimpmu020-c2o1*vz*mu021+mu022; 
-                             
-            real pimpmu220 = mu220 + c1o9 * OORho;
-            real pimpmu202 = mu202 + c1o9 * OORho;
-            real pimpmu022 = mu022 + c1o9 * OORho;
-
-            //5.
-            MzXXYYZ   =    c4o1*vx2y2z-c4o1*vxyz*mu110+c4o1*vxy*mu111+ 
-                           c2o1*(vxz*mu120-vxy2*mu101-vx2y*mu011+vyz*mu210-vy*mu211-vx*mu121)+
-                           vy2*mu201-vx2z*pimpmu020+mu021*vx2-vz*pimpmu220-vy2z*pimpmu200+mu221; 
-            MzXXYZZ   =    c4o1*(vx2yz2-vxyz*mu101+vxz*mu111)+
-                           c2o1*(vxy*mu102-vxz2*mu110-vx2z*mu011-vx*mu112-vz*mu211+vyz*mu201)+
-                           vz2*mu210-vy*pimpmu202-pimpmu002*vx2y+mu012*vx2-vyz2*pimpmu200+mu212;
-            MzXYYZZ   =    c4o1*(vxy2z2-vxyz*mu011+vyz*mu111)+
-                           c2o1*(vxy*mu012-vyz2*mu110-vy*mu112+vxz*mu021-vz*mu121-vy2z*mu101)+
-                           vy2*mu102+vz2*mu120-vxz2*pimpmu020-pimpmu022*vx-pimpmu002*vxy2+mu122;    
-
-            //6.
-            MzXXYYZZ  =   mu222 + pimpmu022*vx2 - c2o1*mu122*vx + pimpmu202*vy2 + pimpmu002*vx2*vy2 - c2o1*mu102*vx*vy2 - c2o1*mu212*vy - c2o1*mu012*vx2*vy + c4o1*mu112*vx*vy + pimpmu220*vz2 + pimpmu020*vx2*vz2 - c2o1*mu120*vx*vz2 + 
-                          pimpmu200*vy2*vz2 - c5o1*vx2*vy2*vz2 - c2o1*mu210*vy*vz2 + c4o1*mu110*vx*vy*vz2 - c2o1*mu221*vz - c2o1*mu021*vx2*vz + c4o1*mu121*vx*vz - c2o1*mu201*vy2*vz + c4o1*mu101*vx*vy2*vz + 
-                          c4o1*mu211*vy*vz + c4o1*mu011*vx2*vy*vz - c8o1*mu111*vx*vy*vz;
-            //MzXXYYZZ  =   -five*vx2y2z2-eight*vxyz*mu111+vy2*pimpmu202+pimpmu002*vx2y2+vy2z2*pimpmu200+vx2z2*pimpmu020+vz2*pimpmu220+mu222+pimpmu022*vx2+
-            //               four*(vx2yz*mu011+vxy2z*mu101+vxyz2*mu110+vxy*mu112+vxz*mu121+vyz*mu211)- 
-            //               two*(vy*mu212-vy2z*mu201-vxz2*mu120-vyz2*mu210-vxy2*mu102-vx2z*mu021-vx2y*mu012-vx*mu122-vz*mu221); 
-         }
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real MXXpMYYpMZZ,MXXmMYY, MXXmMZZ, MXXYpMYZZ,MXXZpMYYZ,MXYYpMXZZ, MXXYmMYZZ,MXXZmMYYZ,MXYYmMXZZ;
-         {
-            //coll faktoren:
-            real w1 =  -omega;
-            real w2 = -c1o1;//-omega;
-            real w3 = -c1o1;
-            real w4 = -c1o1;
-            real w5 = -c1o1;
-            real w6 = -c1o1;
-            real w7 = -c1o1;
-            real w8 = -c1o1;
-            real w9 = -c1o1;
-            real w10= -c1o1;
-
-            ////////lin kombi bilden:
-            MXXpMYYpMZZ = MzXX + MzYY + MzZZ;
-            MXXmMYY     =  MzXX - MzYY;
-            MXXmMZZ     =  MzXX - MzZZ;
-
-            MXXYpMYZZ   =  MzXXY+MzYZZ;
-            MXXYmMYZZ   =  MzXXY-MzYZZ;
-            MXXZpMYYZ   =  MzXXZ+MzYYZ;
-            MXXZmMYYZ   =  MzXXZ-MzYYZ;
-            MXYYpMXZZ   =  MzXYY+MzXZZ;
-            MXYYmMXZZ   =  MzXYY-MzXZZ;
-
-            real MXXYYppp    = MzXXYY + MzXXZZ + MzYYZZ;
-            real MXXYYpm2p   = MzXXYY - c2o1*MzXXZZ + MzYYZZ;
-            real MXXYYppm2   = MzXXYY + MzXXZZ - c2o1*MzYYZZ;
-
-            //relaxation:
-            MXXpMYYpMZZ -= w2*(c1o1-OORho-MXXpMYYpMZZ);
-
-            MzXZ       *=  c1o1+w1;
-            MzYZ       *=  c1o1+w1;
-            MzXY       *=  c1o1+w1;
-
-            MzXYZ      *=  c1o1+w5;
-
-            MXXmMYY    *=  c1o1+w1;
-            MXXmMZZ    *=  c1o1+w1;
-                                       
-            MXXYpMYZZ  *=  c1o1+w3;
-            MXXYmMYZZ  *=  c1o1+w4;
-            MXXZpMYYZ  *=  c1o1+w3;
-            MXXZmMYYZ  *=  c1o1+w4;
-            MXYYpMXZZ  *=  c1o1+w3;
-            MXYYmMXZZ  *=  c1o1+w4;
-
-            ////////von Lin Kombis zurueck:
-            MzXX  =  c1o3 * (       MXXmMYY +       MXXmMZZ + MXXpMYYpMZZ + OORho);
-            MzYY  =  c1o3 * (-c2o1 * MXXmMYY +       MXXmMZZ + MXXpMYYpMZZ + OORho);
-            MzZZ  =  c1o3 * (       MXXmMYY - c2o1 * MXXmMZZ + MXXpMYYpMZZ + OORho);
-
-            MzXXY = (MXXYmMYZZ + MXXYpMYZZ)*c1o2;
-            MzYZZ = (MXXYpMYZZ - MXXYmMYZZ)*c1o2;
-            MzXYY = (MXYYmMXZZ + MXYYpMXZZ)*c1o2;
-            MzXZZ = (MXYYpMXZZ - MXYYmMXZZ)*c1o2;
-            MzXXZ = (MXXZmMYYZ + MXXZpMYYZ)*c1o2;
-            MzYYZ = (MXXZpMYYZ - MXXZmMYYZ)*c1o2;
-
-            //faktorisierte atraktoren:
-            MXXYYppp  -=  w7*MzXX*MzYY + w7*MzXX*MzZZ     + w7*    MzZZ*MzYY - w7*MXXYYppp - w7*c1o3*OORho;
-            MXXYYpm2p -=  w6*MzXX*MzYY - w6*c2o1*MzXX*MzZZ + w6*    MzZZ*MzYY - w6*MXXYYpm2p;
-            MXXYYppm2 -=  w6*MzXX*MzYY + w6*    MzXX*MzZZ - w6*c2o1*MzZZ*MzYY - w6*MXXYYppm2;
-            MzXXYYZZ  -= w10*MzXX*MzYY*MzZZ - w10*c1o27 - w10*MzXXYYZZ;
-            MzXYYZ    -=  w8*MzYY*MzXZ - w8*MzXYYZ;
-            MzXYZZ    -=  w8*MzZZ*MzXY - w8*MzXYZZ;
-            MzXXYZ    -=  w8*MzXX*MzYZ - w8*MzXXYZ;
-
-            MzXXYYZ *= c1o1+w9;
-            MzXXYZZ *= c1o1+w9;
-            MzXYYZZ *= c1o1+w9;
-
-            MzXXYY =  c1o3 * (MXXYYpm2p + MXXYYppm2 + MXXYYppp);
-            MzXXZZ =  c1o3 * (MXXYYppp - MXXYYpm2p);
-            MzYYZZ =  c1o3 * (MXXYYppp-MXXYYppm2);
-         }
-
-         //2.
-         mu200 = vx2 + c1o3 * (MXXmMYY + MXXmMZZ + MXXpMYYpMZZ);
-         mu020 = vy2 + c1o3 * (MXXmMZZ +  MXXpMYYpMZZ - c2o1 * MXXmMYY);
-         mu002 = vz2 + c1o3 * (MXXmMYY - c2o1 * MXXmMZZ + MXXpMYYpMZZ);
-         mu110 = vxy + MzXY;
-         mu101 = vxz + MzXZ;
-         mu011 = vyz + MzYZ;
-
-         //3.
-         mu111 = vxyz +     vx*MzYZ +     vy*MzXZ + vz*MzXY + MzXYZ;
-         mu210 = vx2y + c2o1*vx*MzXY +     vy*MzXX + MzXXY;
-         mu120 = vxy2 +     vx*MzYY + c2o1*vy*MzXY + MzXYY;
-         mu102 = vxz2 +     vx*MzZZ + c2o1*vz*MzXZ + MzXZZ;
-         mu201 = vx2z + c2o1*vx*MzXZ +     vz*MzXX + MzXXZ;
-         mu021 = vy2z + c2o1*vy*MzYZ +     vz*MzYY + MzYYZ;
-         mu012 = vyz2 +     vy*MzZZ + c2o1*vz*MzYZ + MzYZZ;
-
-         //4.
-         mu211 = vx2yz +     vx2*MzYZ + c2o1*vxy*MzXZ + c2o1*vxz*MzXY + c2o1*vx*MzXYZ +     vyz*MzXX +     vy*MzXXZ +     vz*MzXXY + MzXXYZ;
-         mu121 = vxy2z + c2o1*vxy*MzYZ +     vxz*MzYY +     vx*MzYYZ +     vy2*MzXZ + c2o1*vyz*MzXY + c2o1*vy*MzXYZ +     vz*MzXYY + MzXYYZ;
-         mu112 = vxyz2 +     vxy*MzZZ + c2o1*vxz*MzYZ +     vx*MzYZZ + c2o1*vyz*MzXZ +     vy*MzXZZ +     vz2*MzXY + c2o1*vz*MzXYZ + MzXYZZ;
-         mu220 = vx2y2 +     vx2*MzYY + c4o1*vxy*MzXY + c2o1*vx*MzXYY +     vy2*MzXX + c2o1*vy*MzXXY + MzXXYY ;
-         mu202 = vx2z2 +     vx2*MzZZ + c4o1*vxz*MzXZ + c2o1*vx*MzXZZ +     vz2*MzXX + c2o1*vz*MzXXZ + MzXXZZ;
-         mu022 = vy2z2 +     vy2*MzZZ + c4o1*vyz*MzYZ + c2o1*vy*MzYZZ +     vz2*MzYY + c2o1*vz*MzYYZ + MzYYZZ;
-
-         MzXXYY += c1o9 * OORho;
-         MzXXZZ += c1o9 * OORho;
-         MzYYZZ += c1o9 * OORho;
-
-         //5.
-         mu221 = vx2y2z+vx2z*MzYY+vx2*MzYYZ+vy2z*MzXX+vy2*MzXXZ+vz*MzXXYY+MzXXYYZ+
-                  c4o1*(vxyz*MzXY+vxy*MzXYZ)+
-                  c2o1*(vxz*MzXYY+vx*MzXYYZ+vx2y*MzYZ+vyz*MzXXY+vy*MzXXYZ+vxy2*MzXZ);
-         mu212 = vx2yz2 + vx2y*MzZZ + vx2*MzYZZ + vy*MzXXZZ + vz2*MzXXY + vyz2*MzXX+MzXXYZZ+
-                  c4o1*(vxyz*MzXZ + vxz*MzXYZ)+
-                  c2o1*(vxy*MzXZZ + vxz2*MzXY + vx*MzXYZZ + vyz*MzXXZ + vx2z*MzYZ + vz*MzXXYZ);
-         mu122 = vxy2z2 + vxy2*MzZZ + MzXYYZZ + vz2*MzXYY + vy2*MzXZZ + vx*MzYYZZ + vxz2*MzYY+
-                  c4o1*(vxyz*MzYZ + vyz*MzXYZ)+
-                  c2o1*(vxy*MzYZZ + vxz*MzYYZ + vy2z*MzXZ + vyz2*MzXY + vy*MzXYZZ + vz*MzXYYZ);
-
-         //6.
-         mu222 = vx2y2z2 + vx2y2*MzZZ + vx2z2*MzYY + vx2*MzYYZZ + vy2z2*MzXX + vy2*MzXXZZ + vz2*MzXXYY + MzXXYYZZ + c8o1*vxyz*MzXYZ +
-                  c2o1*(vx2y*MzYZZ +  vx*MzXYYZZ + vz*MzXXYYZ + vyz2*MzXXY + vx2z*MzYYZ + vxy2*MzXZZ + vxz2*MzXYY + vy*MzXXYZZ + vy2z*MzXXZ)+ 
-                  c4o1*(vxy2z*MzXZ + vx2yz*MzYZ + vxyz2*MzXY + vxy*MzXYZZ + vxz*MzXYYZ + vyz*MzXXYZ);
-
-         (D.f[ dP00   ])[k   ] =   c1o2*rho*( mu200  - mu220 + mu222 - mu202 +  mu120 - mu122 + mu102 - vx   );   //ke
-         (D.f[ dM00   ])[kw  ] =   c1o2*rho*( mu200  - mu220 + mu222 - mu202 -  mu120 + mu122 - mu102 + vx   );   
-         (D.f[ d0P0   ])[k   ] =   c1o2*rho*( mu210  - mu220 + mu222 - mu212 +  mu020 - mu022 + mu012 - vy   );   //kn
-         (D.f[ d0M0   ])[ks  ] =   c1o2*rho*(-mu210  - mu220 + mu222 + mu212 +  mu020 - mu022 - mu012 + vy   );   
-         (D.f[ d00P   ])[k   ] =   c1o2*rho*(-mu221  + mu222 + mu201 - mu202 +  mu021 - mu022 + mu002 - vz   );   //kt
-         (D.f[ d00M   ])[kb  ] =   c1o2*rho*( mu221  + mu222 - mu201 - mu202 -  mu021 - mu022 + mu002 + vz   );   
-         (D.f[ dPP0  ])[k   ] =  c1o4*rho*(-mu210  + mu220 - mu222 + mu212 +  mu110 - mu120 + mu122 - mu112);   //kne
-         (D.f[ dMM0  ])[ksw ] =  c1o4*rho*( mu210  + mu220 - mu222 - mu212 +  mu110 + mu120 - mu122 - mu112);   
-         (D.f[ dPM0  ])[ks  ] =  c1o4*rho*( mu210  + mu220 - mu222 - mu212 -  mu110 - mu120 + mu122 + mu112);   //kse
-         (D.f[ dMP0  ])[kw  ] =  c1o4*rho*(-mu210  + mu220 - mu222 + mu212 -  mu110 + mu120 - mu122 + mu112);   //knw
-         (D.f[ dP0P  ])[k   ] =  c1o4*rho*( mu221  - mu222 - mu201 + mu202 -  mu121 + mu122 + mu101 - mu102);   //kte
-         (D.f[ dM0M  ])[kbw ] =  c1o4*rho*(-mu221  - mu222 + mu201 + mu202 -  mu121 - mu122 + mu101 + mu102);   
-         (D.f[ dP0M  ])[kb  ] =  c1o4*rho*(-mu221  - mu222 + mu201 + mu202 +  mu121 + mu122 - mu101 - mu102);   //kbe
-         (D.f[ dM0P  ])[kw  ] =  c1o4*rho*( mu221  - mu222 - mu201 + mu202 +  mu121 - mu122 - mu101 + mu102);   //ktw
-         (D.f[ d0PP  ])[k   ] =  c1o4*rho*( mu221  - mu222 - mu211 + mu212 -  mu021 + mu022 + mu011 - mu012);   //ktn
-         (D.f[ d0MM  ])[kbs ] =  c1o4*rho*(-mu221  - mu222 - mu211 - mu212 +  mu021 + mu022 + mu011 + mu012);   
-         (D.f[ d0PM  ])[kb  ] =  c1o4*rho*(-mu221  - mu222 + mu211 + mu212 +  mu021 + mu022 - mu011 - mu012);   //kbn
-         (D.f[ d0MP  ])[ks  ] =  c1o4*rho*( mu221  - mu222 + mu211 - mu212 -  mu021 + mu022 - mu011 + mu012);   //kts
-         (D.f[ d000])[k   ] =       rho*(-mu200  + mu220 - mu222 + mu202 -  mu020 + mu022 - mu002        )+rho0;   //kzero
-         (D.f[ dPPP ])[k   ] = c1o8*rho*(-mu221  + mu222 + mu211 - mu212 +  mu121 - mu122 - mu111 + mu112);   //ktne
-         (D.f[ dPMP ])[ks  ] = c1o8*rho*(-mu221  + mu222 - mu211 + mu212 +  mu121 - mu122 + mu111 - mu112);   //ktse
-         (D.f[ dPPM ])[kb  ] = c1o8*rho*( mu221  + mu222 - mu211 - mu212 -  mu121 - mu122 + mu111 + mu112);   //kbne
-         (D.f[ dPMM ])[kbs ] = c1o8*rho*( mu221  + mu222 + mu211 + mu212 -  mu121 - mu122 - mu111 - mu112);   //kbse
-         (D.f[ dMPP ])[kw  ] = c1o8*rho*(-mu221  + mu222 + mu211 - mu212 -  mu121 + mu122 + mu111 - mu112);   //ktnw
-         (D.f[ dMMP ])[ksw ] = c1o8*rho*(-mu221  + mu222 - mu211 + mu212 -  mu121 + mu122 - mu111 + mu112);   //ktsw
-         (D.f[ dMPM ])[kbw ] = c1o8*rho*( mu221  + mu222 - mu211 - mu212 +  mu121 + mu122 - mu111 - mu112);   //kbnw
-         (D.f[ dMMM ])[kbsw] = c1o8*rho*( mu221  + mu222 + mu211 + mu212 +  mu121 + mu122 + mu111 + mu112);   
-
-
-         //////////////////////////////////////////////////////////////////////////
-         //BGK
-         //////////////////////////////////////////////////////////////////////////
-         //(D.f[ dP00   ])[k   ] = fW    ;
-         //(D.f[ dM00   ])[kw  ] = fE    ;
-         //(D.f[ d0P0   ])[k   ] = fS    ;
-         //(D.f[ d0M0   ])[ks  ] = fN    ;
-         //(D.f[ d00P   ])[k   ] = fB    ;
-         //(D.f[ d00M   ])[kb  ] = fT    ;
-         //(D.f[ dPP0  ])[k   ] = fSW   ;
-         //(D.f[ dMM0  ])[ksw ] = fNE   ;
-         //(D.f[ dPM0  ])[ks  ] = fNW   ;
-         //(D.f[ dMP0  ])[kw  ] = fSE   ;
-         //(D.f[ dP0P  ])[k   ] = fBW   ;
-         //(D.f[ dM0M  ])[kbw ] = fTE   ;
-         //(D.f[ dP0M  ])[kb  ] = fTW   ;
-         //(D.f[ dM0P  ])[kw  ] = fBE   ;
-         //(D.f[ d0PP  ])[k   ] = fBS   ;
-         //(D.f[ d0MM  ])[kbs ] = fTN   ;
-         //(D.f[ d0PM  ])[kb  ] = fTS   ;
-         //(D.f[ d0MP  ])[ks  ] = fBN   ;
-         //(D.f[ d000])[k   ] = fZERO ;
-         //(D.f[ dPPP ])[k   ] = fBSW  ;
-         //(D.f[ dPMP ])[ks  ] = fBNW  ;
-         //(D.f[ dPPM ])[kb  ] = fTSW  ;
-         //(D.f[ dPMM ])[kbs ] = fTNW  ;
-         //(D.f[ dMPP ])[kw  ] = fBSE  ;
-         //(D.f[ dMMP ])[ksw ] = fBNE  ;
-         //(D.f[ dMPM ])[kbw ] = fTSE  ;
-         //(D.f[ dMMM ])[kbsw] = fTNE  ;
-      }                                                                                                                    
-   }
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Casc_SP_MS_Diff_27(real omega,
-                                                        unsigned int* bcMatD,
-                                                        unsigned int* neighborX,
-                                                        unsigned int* neighborY,
-                                                        unsigned int* neighborZ,
-                                                        real* DDStart,
-                                                        unsigned long long numberOfLBnodes,
-                                                        bool EvenOrOdd)
-{
-   ////////////////////////////////////////////////////////////////////////////////
-   const unsigned  x = threadIdx.x;  // Globaler x-Index 
-   const unsigned  y = blockIdx.x;   // Globaler y-Index 
-   const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-   const unsigned nx = blockDim.x;
-   const unsigned ny = gridDim.x;
-
-   const unsigned k = nx*(ny*z + y) + x;
-   //////////////////////////////////////////////////////////////////////////
-
-   if(k<numberOfLBnodes)
-   {
-      ////////////////////////////////////////////////////////////////////////////////
-      unsigned int BC;
-      BC        =   bcMatD[k];
-
-      if( (BC != GEO_SOLID) && (BC != GEO_VOID))
-      {
-         Distributions27 D;
-         if (EvenOrOdd==true)
-         {
-            D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-            D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-            D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-            D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-            D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-            D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-            D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-            D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-            D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-            D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-            D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-            D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-            D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-            D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-            D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-            D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-            D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-            D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-            D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-            D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-            D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-            D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-            D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-            D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-            D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-            D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-            D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-         }
-         else
-         {
-            D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-            D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-            D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-            D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-            D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-            D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-            D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-            D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-            D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-            D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-            D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-            D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-            D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-            D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-            D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-            D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-            D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-            D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-            D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-            D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-            D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-            D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-            D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-            D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-            D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-            D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-            D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-         }
-
-         ////////////////////////////////////////////////////////////////////////////////
-         //index
-         //unsigned int kzero= k;
-         //unsigned int ke   = k;
-         unsigned int kw   = neighborX[k];
-         //unsigned int kn   = k;
-         unsigned int ks   = neighborY[k];
-         //unsigned int kt   = k;
-         unsigned int kb   = neighborZ[k];
-         unsigned int ksw  = neighborY[kw];
-         //unsigned int kne  = k;
-         //unsigned int kse  = ks;
-         //unsigned int knw  = kw;
-         unsigned int kbw  = neighborZ[kw];
-         //unsigned int kte  = k;
-         //unsigned int kbe  = kb;
-         //unsigned int ktw  = kw;
-         unsigned int kbs  = neighborZ[ks];
-         //unsigned int ktn  = k;
-         //unsigned int kbn  = kb;
-         //unsigned int kts  = ks;
-         //unsigned int ktse = ks;
-         //unsigned int kbnw = kbw;
-         //unsigned int ktnw = kw;
-         //unsigned int kbse = kbs;
-         //unsigned int ktsw = ksw;
-         //unsigned int kbne = kb;
-         //unsigned int ktne = k;
-         unsigned int kbsw = neighborZ[ksw];
-         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real fE    =  (D.f[dP00])[k  ];//ke
-         real fW    =  (D.f[dM00])[kw ];
-         real fN    =  (D.f[d0P0])[k  ];//kn
-         real fS    =  (D.f[d0M0])[ks ];
-         real fT    =  (D.f[d00P])[k  ];//kt
-         real fB    =  (D.f[d00M])[kb ];
-         real fNE   =  (D.f[dPP0])[k  ];//kne
-         real fSW   =  (D.f[dMM0])[ksw];
-         real fSE   =  (D.f[dPM0])[ks ];//kse
-         real fNW   =  (D.f[dMP0])[kw ];//knw
-         real fTE   =  (D.f[dP0P])[k  ];//kte
-         real fBW   =  (D.f[dM0M])[kbw];
-         real fBE   =  (D.f[dP0M])[kb ];//kbe
-         real fTW   =  (D.f[dM0P])[kw ];//ktw
-         real fTN   =  (D.f[d0PP])[k  ];//ktn
-         real fBS   =  (D.f[d0MM])[kbs];
-         real fBN   =  (D.f[d0PM])[kb ];//kbn
-         real fTS   =  (D.f[d0MP])[ks ];//kts
-         real fZERO =  (D.f[d000])[k  ];//kzero
-         real fTNE   = (D.f[dPPP])[k  ];//ktne
-         real fTSW   = (D.f[dMMP])[ksw];//ktsw
-         real fTSE   = (D.f[dPMP])[ks ];//ktse
-         real fTNW   = (D.f[dMPP])[kw ];//ktnw
-         real fBNE   = (D.f[dPPM])[kb ];//kbne
-         real fBSW   = (D.f[dMMM])[kbsw];
-         real fBSE   = (D.f[dPMM])[kbs];//kbse
-         real fBNW   = (D.f[dMPM])[kbw];//kbnw
-         ////////////////////////////////////////////////////////////////////////////////
-         real rho0   =  fZERO+fE+fW+fN+fS+fT+fB+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fTSW+fTSE+fTNW+fBNE+fBSW+fBSE+fBNW;
-         real rho    =  rho0 + c1o1;
-         real OORho  =  c1o1/rho;
-         real vx     =  (fE -fW +fNE-fSW+fSE-fNW+fTE-fBW+fBE-fTW+ fTNE-fTSW+fTSE-fTNW+ fBNE-fBSW+fBSE-fBNW) * OORho;
-         real vy     =  (fN -fS +fNE-fSW-fSE+fNW+fTN-fBS+fBN-fTS+ fTNE-fTSW-fTSE+fTNW+ fBNE-fBSW-fBSE+fBNW) * OORho;
-         real vz     =  (fT -fB +fTE-fBW-fBE+fTW+fTN-fBS-fBN+fTS+ fTNE+fTSW+fTSE+fTNW- fBNE-fBSW-fBSE-fBNW) * OORho;
-
-         //////////////////////////////////////////////////////////////////////////
-         //BGK
-         //////////////////////////////////////////////////////////////////////////
-         //real drho   =  fZERO+fE+fW+fN+fS+fT+fB+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fTSW+fTSE+fTNW+fBNE+fBSW+fBSE+fBNW;
-         //real vx1     =  (fE -fW +fNE-fSW+fSE-fNW+fTE-fBW+fBE-fTW+ fTNE-fTSW+fTSE-fTNW+ fBNE-fBSW+fBSE-fBNW);
-         //real vx2     =  (fN -fS +fNE-fSW-fSE+fNW+fTN-fBS+fBN-fTS+ fTNE-fTSW-fTSE+fTNW+ fBNE-fBSW-fBSE+fBNW);
-         //real vx3     =  (fT -fB +fTE-fBW-fBE+fTW+fTN-fBS-fBN+fTS+ fTNE+fTSW+fTSE+fTNW- fBNE-fBSW-fBSE-fBNW);
-
-
-         //real cusq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
-
-         //fZERO = fZERO *(one+(-omega))-(-omega)*   c8over27*  (drho-cusq);
-         //fE    = fE    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*( vx1        )+c9over2*( vx1        )*( vx1        )-cusq);
-         //fW    = fW    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(-vx1        )+c9over2*(-vx1        )*(-vx1        )-cusq);
-         //fN    = fN    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(    vx2     )+c9over2*(     vx2    )*(     vx2    )-cusq);
-         //fS    = fS    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(   -vx2     )+c9over2*(    -vx2    )*(    -vx2    )-cusq);
-         //fT    = fT    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(         vx3)+c9over2*(         vx3)*(         vx3)-cusq);
-         //fB    = fB    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(        -vx3)+c9over2*(        -vx3)*(        -vx3)-cusq);
-         //fNE   = fNE   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*( vx1+vx2    )+c9over2*( vx1+vx2    )*( vx1+vx2    )-cusq);
-         //fSW   = fSW   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*(-vx1-vx2    )+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cusq);
-         //fSE   = fSE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1-vx2    )+c9over2*( vx1-vx2    )*( vx1-vx2    )-cusq);
-         //fNW   = fNW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1+vx2    )+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cusq);
-         //fTE   = fTE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    +vx3)+c9over2*( vx1    +vx3)*( vx1    +vx3)-cusq);
-         //fBW   = fBW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    -vx3)+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cusq);
-         //fBE   = fBE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    -vx3)+c9over2*( vx1    -vx3)*( vx1    -vx3)-cusq);
-         //fTW   = fTW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    +vx3)+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cusq);
-         //fTN   = fTN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2+vx3)+c9over2*(     vx2+vx3)*(     vx2+vx3)-cusq);
-         //fBS   = fBS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2-vx3)+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cusq);
-         //fBN   = fBN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2-vx3)+c9over2*(     vx2-vx3)*(     vx2-vx3)-cusq);
-         //fTS   = fTS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2+vx3)+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cusq);
-         //fTNE  = fTNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq);
-         //fBSW  = fBSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq);
-         //fBNE  = fBNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq);
-         //fTSW  = fTSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq);
-         //fTSE  = fTSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq);
-         //fBNW  = fBNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq);
-         //fBSE  = fBSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq);
-         //fTNW  = fTNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq);
-
-
-         real vx2    = vx*vx;
-         real vy2    = vy*vy;
-         real vz2    = vz*vz;
-         real vxy    = vx*vy;
-         real vxz    = vx*vz;
-         real vyz    = vy*vz;
-         real vx2y   = vx*vx*vy;
-         real vx2z   = vx*vx*vz;
-         real vy2z   = vy*vy*vz;
-         real vxy2   = vx*vy*vy;
-         real vyz2   = vy*vz*vz;
-         real vxz2   = vx*vz*vz;
-         real vxyz   = vx*vy*vz;
-         real vx2y2  = vx*vx*vy*vy;
-         real vx2z2  = vx*vx*vz*vz;
-         real vy2z2  = vy*vy*vz*vz;
-         real vx2yz  = vx*vx*vy*vz;
-         real vxyz2  = vx*vy*vz*vz;
-         real vxy2z  = vx*vy*vy*vz;
-         real vx2y2z = vx*vx*vy*vy*vz;
-         real vx2yz2 = vx*vx*vy*vz*vz;
-         real vxy2z2 = vx*vy*vy*vz*vz;
-         real vx2y2z2= vx*vx*vy*vy*vz*vz;
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real mu200   =(fE+fW+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu020   =(fN+fS+fNE+fSW+fSE+fNW+fTN+fBS+fBN+fTS+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu002   =(fT+fB+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu110   =(fNE-fSE+fSW-fNW+fTNE-fTSE+fBNE-fBSE+fTSW-fTNW+fBSW-fBNW) * OORho;
-         real mu101   =(fTE+fBW-fBE-fTW+fTNE-fBNE+fTSE-fBSE-fTNW+fBNW-fTSW+fBSW) * OORho;
-         real mu011   =(fTN+fBS-fBN-fTS+fTNE-fBNE-fTSE+fBSE+fTNW-fBNW-fTSW+fBSW) * OORho;
-         real mu210   =(fNE-fSW-fSE+fNW+fTNE+fBNE-fTSE-fBSE+fTNW+fBNW-fTSW-fBSW) * OORho;
-         real mu120   =(fNE-fSW+fSE-fNW+fTNE-fTNW+fBNE-fBNW+fTSE-fTSW+fBSE-fBSW) * OORho;
-         real mu102   =(fTE-fBW+fBE-fTW+fTNE-fTNW+fBNE-fBNW+fTSE-fTSW+fBSE-fBSW) * OORho;
-         real mu111   =(fTNE-fBNE-fTSE+fBSE-fTNW+fBNW+fTSW-fBSW) * OORho;
-         real mu201   =(fTE-fBW-fBE+fTW+fTNE-fBNE+fTSE-fBSE+fTNW-fBNW+fTSW-fBSW) * OORho;
-         real mu021   =(fTN-fBS-fBN+fTS+fTNE-fBNE+fTSE-fBSE+fTNW-fBNW+fTSW-fBSW) * OORho;
-         real mu012   =(fTN-fBS+fBN-fTS+fTNE+fBNE-fTSE-fBSE+fTNW+fBNW-fTSW-fBSW) * OORho;
-         real mu220   =(fNE+fSW+fSE+fNW+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu121   =(fTNE-fBNE+fTSE-fBSE-fTNW+fBNW-fTSW+fBSW) * OORho;
-         real mu202   =(fTE+fBW+fBE+fTW+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu211   =(fTNE-fBNE-fTSE+fBSE+fTNW-fBNW-fTSW+fBSW) * OORho;
-         real mu112   =(fTNE+fBNE-fTSE-fBSE-fTNW-fBNW+fTSW+fBSW) * OORho;
-         real mu022   =(fTN+fBS+fBN+fTS+fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         real mu221   =(fTNE-fBNE+fTSE-fBSE+fTNW-fBNW+fTSW-fBSW) * OORho;
-         real mu122   =(fTNE-fTNW+fBNE-fBNW+fTSE-fTSW+fBSE-fBSW) * OORho;
-         real mu212   =(fTNE+fBNE-fTSE-fBSE+fTNW+fBNW-fTSW-fBSW) * OORho;
-         real mu222   =(fTNE+fBNE+fTSE+fBSE+fTNW+fBNW+fTSW+fBSW) * OORho;
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real MzXX,MzYY,MzZZ,MzXY,MzXZ,MzYZ,MzXXY,MzXYY,MzXXZ,MzXZZ,MzYYZ,MzYZZ,MzXYZ,MzXXYY,MzXXZZ,MzYYZZ,MzXXYZ,MzXYYZ,MzXYZZ,MzXXYYZ,MzXXYZZ,MzXYYZZ,MzXXYYZZ;
-         {
-            //2.
-            MzXX      =   mu200-vx2;
-            MzXY      =   mu110-vxy;
-            MzXZ      =   mu101-vxz;
-            MzYY      =   mu020-vy2;
-            MzYZ      =   mu011-vyz;
-            MzZZ      =   mu002-vz2;
-
-            real pimpmu200 = mu200 + c1o3 * OORho;
-            real pimpmu020 = mu020 + c1o3 * OORho;
-            real pimpmu002 = mu002 + c1o3 * OORho;
-
-            //3.
-            MzXXY     =    c2o1*vx2y - c2o1*vx*mu110 - vy*pimpmu200 + mu210; 
-            MzXXZ     =    c2o1*vx2z - c2o1*vx*mu101 - vz*pimpmu200 + mu201; 
-            MzXYY     =    c2o1*vxy2 - pimpmu020*vx - c2o1*vy*mu110 + mu120; 
-            MzXYZ     =    c2o1*vxyz - mu011*vx-vy*mu101 -vz*mu110 + mu111;
-            MzXZZ     =    c2o1*vxz2 - pimpmu002*vx - c2o1*vz*mu101 + mu102; 
-            MzYYZ     =    c2o1*vy2z - c2o1*vy*mu011 - vz*pimpmu020 + mu021; 
-            MzYZZ     =    c2o1*vyz2 - pimpmu002*vy - c2o1*vz*mu011 + mu012; 
-
-            //4.
-            MzXXYY    =   -c3o1*vx2y2+pimpmu020*vx2+c4o1*vxy*mu110-c2o1*vx*mu120+vy2*pimpmu200-c2o1*vy*mu210+mu220; 
-            MzXXYZ    =   -c3o1*vx2yz+mu011*vx2+c2o1*vxy*mu101+c2o1*vxz*mu110-c2o1*vx*mu111+vyz*pimpmu200-vy*mu201-vz*mu210+mu211; 
-            MzXXZZ    =   -c3o1*vx2z2+pimpmu002*vx2+c4o1*vxz*mu101-c2o1*vx*mu102+vz2*pimpmu200-c2o1*vz*mu201+mu202; 
-            MzXYYZ    =   -c3o1*vxy2z+c2o1*vxy*mu011+vxz*pimpmu020-mu021*vx+vy2*mu101+c2o1*vyz*mu110-c2o1*vy*mu111-vz*mu120+mu121; 
-            MzXYZZ    =   -c3o1*vxyz2+pimpmu002*vxy+c2o1*vxz*mu011-mu012*vx+c2o1*vyz*mu101-vy*mu102+vz2*mu110-c2o1*vz*mu111+mu112; 
-            MzYYZZ    =   -c3o1*vy2z2+pimpmu002*vy2+c4o1*vyz*mu011-c2o1*vy*mu012+vz2*pimpmu020-c2o1*vz*mu021+mu022; 
-
-            real pimpmu220 = mu220 + c1o9 * OORho;
-            real pimpmu202 = mu202 + c1o9 * OORho;
-            real pimpmu022 = mu022 + c1o9 * OORho;
-
-            //5.
-            MzXXYYZ   =    c4o1*vx2y2z-c4o1*vxyz*mu110+c4o1*vxy*mu111+ 
-               c2o1*(vxz*mu120-vxy2*mu101-vx2y*mu011+vyz*mu210-vy*mu211-vx*mu121)+
-               vy2*mu201-vx2z*pimpmu020+mu021*vx2-vz*pimpmu220-vy2z*pimpmu200+mu221; 
-            MzXXYZZ   =    c4o1*(vx2yz2-vxyz*mu101+vxz*mu111)+
-               c2o1*(vxy*mu102-vxz2*mu110-vx2z*mu011-vx*mu112-vz*mu211+vyz*mu201)+
-               vz2*mu210-vy*pimpmu202-pimpmu002*vx2y+mu012*vx2-vyz2*pimpmu200+mu212;
-            MzXYYZZ   =    c4o1*(vxy2z2-vxyz*mu011+vyz*mu111)+
-               c2o1*(vxy*mu012-vyz2*mu110-vy*mu112+vxz*mu021-vz*mu121-vy2z*mu101)+
-               vy2*mu102+vz2*mu120-vxz2*pimpmu020-pimpmu022*vx-pimpmu002*vxy2+mu122;    
-
-            //6.
-            MzXXYYZZ  =   -c5o1*vx2y2z2-c8o1*vxyz*mu111+vy2*pimpmu202+pimpmu002*vx2y2+vy2z2*pimpmu200+vx2z2*pimpmu020+vz2*pimpmu220+mu222+pimpmu022*vx2+
-               c4o1*(vx2yz*mu011+vxy2z*mu101+vxyz2*mu110+vxy*mu112+vxz*mu121+vyz*mu211)- 
-               c2o1*(vy*mu212-vy2z*mu201-vxz2*mu120-vyz2*mu210-vxy2*mu102-vx2z*mu021-vx2y*mu012-vx*mu122-vz*mu221); 
-         }
-         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-         real MXXpMYYpMZZ,MXXmMYY, MXXmMZZ, MXXYpMYZZ,MXXZpMYYZ,MXYYpMXZZ, MXXYmMYZZ,MXXZmMYYZ,MXYYmMXZZ;
-         {
-            //coll faktoren:
-            real w1 =  -omega;
-            real w2 = -c1o1;//-omega;
-            real w3 = -c1o1;
-            real w4 = -c1o1;
-            real w5 = -c1o1;
-            real w6 = -c1o1;
-            real w7 = -c1o1;
-            real w8 = -c1o1;
-            real w9 = -c1o1;
-            real w10= -c1o1;
-
-            ////////lin kombi bilden:
-            MXXpMYYpMZZ = MzXX + MzYY + MzZZ;
-            MXXmMYY     =  MzXX - MzYY;
-            MXXmMZZ     =  MzXX - MzZZ;
-
-            MXXYpMYZZ   =  MzXXY+MzYZZ;
-            MXXYmMYZZ   =  MzXXY-MzYZZ;
-            MXXZpMYYZ   =  MzXXZ+MzYYZ;
-            MXXZmMYYZ   =  MzXXZ-MzYYZ;
-            MXYYpMXZZ   =  MzXYY+MzXZZ;
-            MXYYmMXZZ   =  MzXYY-MzXZZ;
-
-            real MXXYYppp    = MzXXYY + MzXXZZ + MzYYZZ;
-            real MXXYYpm2p   = MzXXYY - c2o1*MzXXZZ + MzYYZZ;
-            real MXXYYppm2   = MzXXYY + MzXXZZ - c2o1*MzYYZZ;
-
-            //relaxation:
-            MXXpMYYpMZZ -= w2*(c1o1-OORho-MXXpMYYpMZZ);
-
-            MzXZ       *=  c1o1+w1;
-            MzYZ       *=  c1o1+w1;
-            MzXY       *=  c1o1+w1;
-
-            MzXYZ      *=  c1o1+w5;
-
-            MXXmMYY    *=  c1o1+w1;
-            MXXmMZZ    *=  c1o1+w1;
-
-            MXXYpMYZZ  *=  c1o1+w3;
-            MXXYmMYZZ  *=  c1o1+w4;
-            MXXZpMYYZ  *=  c1o1+w3;
-            MXXZmMYYZ  *=  c1o1+w4;
-            MXYYpMXZZ  *=  c1o1+w3;
-            MXYYmMXZZ  *=  c1o1+w4;
-
-            ////////von Lin Kombis zurueck:
-            MzXX  =  c1o3 * (       MXXmMYY +       MXXmMZZ + MXXpMYYpMZZ + OORho);
-            MzYY  =  c1o3 * (-c2o1 * MXXmMYY +       MXXmMZZ + MXXpMYYpMZZ + OORho);
-            MzZZ  =  c1o3 * (       MXXmMYY - c2o1 * MXXmMZZ + MXXpMYYpMZZ + OORho);
-
-            MzXXY = (MXXYmMYZZ + MXXYpMYZZ)*c1o2;
-            MzYZZ = (MXXYpMYZZ - MXXYmMYZZ)*c1o2;
-            MzXYY = (MXYYmMXZZ + MXYYpMXZZ)*c1o2;
-            MzXZZ = (MXYYpMXZZ - MXYYmMXZZ)*c1o2;
-            MzXXZ = (MXXZmMYYZ + MXXZpMYYZ)*c1o2;
-            MzYYZ = (MXXZpMYYZ - MXXZmMYYZ)*c1o2;
-
-            //faktorisierte atraktoren:
-            MXXYYppp  -=  w7*MzXX*MzYY + w7*MzXX*MzZZ     + w7*    MzZZ*MzYY - w7*MXXYYppp - w7*c1o3;
-            MXXYYpm2p -=  w6*MzXX*MzYY - w6*c2o1*MzXX*MzZZ + w6*    MzZZ*MzYY - w6*MXXYYpm2p;
-            MXXYYppm2 -=  w6*MzXX*MzYY + w6*    MzXX*MzZZ - w6*c2o1*MzZZ*MzYY - w6*MXXYYppm2;
-            MzXXYYZZ  -= w10*MzXX*MzYY*MzZZ - w10*c1o27 - w10*MzXXYYZZ;
-            MzXYYZ    -=  w8*MzYY*MzXZ - w8*MzXYYZ;
-            MzXYZZ    -=  w8*MzZZ*MzXY - w8*MzXYZZ;
-            MzXXYZ    -=  w8*MzXX*MzYZ - w8*MzXXYZ;
-
-            MzXXYYZ *= c1o1+w9;
-            MzXXYZZ *= c1o1+w9;
-            MzXYYZZ *= c1o1+w9;
-
-            MzXXYY =  c1o3 * (MXXYYpm2p + MXXYYppm2 + MXXYYppp);
-            MzXXZZ =  c1o3 * (MXXYYppp - MXXYYpm2p);
-            MzYYZZ =  c1o3 * (MXXYYppp-MXXYYppm2);
-         }
-
-         //2.
-         mu200 -= vx2 + c1o3 * (MXXmMYY + MXXmMZZ + MXXpMYYpMZZ);
-         mu020 -= vy2 + c1o3 * (MXXmMZZ +  MXXpMYYpMZZ - c2o1 * MXXmMYY);
-         mu002 -= vz2 + c1o3 * (MXXmMYY - c2o1 * MXXmMZZ + MXXpMYYpMZZ);
-         mu110 -= vxy + MzXY;
-         mu101 -= vxz + MzXZ;
-         mu011 -= vyz + MzYZ;
-
-         //3.
-         mu111 -= vxyz +     vx*MzYZ +     vy*MzXZ + vz*MzXY + MzXYZ;
-         mu210 -= vx2y + c2o1*vx*MzXY +     vy*MzXX + MzXXY;
-         mu120 -= vxy2 +     vx*MzYY + c2o1*vy*MzXY + MzXYY;
-         mu102 -= vxz2 +     vx*MzZZ + c2o1*vz*MzXZ + MzXZZ;
-         mu201 -= vx2z + c2o1*vx*MzXZ +     vz*MzXX + MzXXZ;
-         mu021 -= vy2z + c2o1*vy*MzYZ +     vz*MzYY + MzYYZ;
-         mu012 -= vyz2 +     vy*MzZZ + c2o1*vz*MzYZ + MzYZZ;
-
-         //4.
-         mu211 -= vx2yz +     vx2*MzYZ + c2o1*vxy*MzXZ + c2o1*vxz*MzXY + c2o1*vx*MzXYZ +     vyz*MzXX +     vy*MzXXZ +     vz*MzXXY + MzXXYZ;
-         mu121 -= vxy2z + c2o1*vxy*MzYZ +     vxz*MzYY +     vx*MzYYZ +     vy2*MzXZ + c2o1*vyz*MzXY + c2o1*vy*MzXYZ +     vz*MzXYY + MzXYYZ;
-         mu112 -= vxyz2 +     vxy*MzZZ + c2o1*vxz*MzYZ +     vx*MzYZZ + c2o1*vyz*MzXZ +     vy*MzXZZ +     vz2*MzXY + c2o1*vz*MzXYZ + MzXYZZ;
-         mu220 -= vx2y2 +     vx2*MzYY + c4o1*vxy*MzXY + c2o1*vx*MzXYY +     vy2*MzXX + c2o1*vy*MzXXY + MzXXYY ;
-         mu202 -= vx2z2 +     vx2*MzZZ + c4o1*vxz*MzXZ + c2o1*vx*MzXZZ +     vz2*MzXX + c2o1*vz*MzXXZ + MzXXZZ;
-         mu022 -= vy2z2 +     vy2*MzZZ + c4o1*vyz*MzYZ + c2o1*vy*MzYZZ +     vz2*MzYY + c2o1*vz*MzYYZ + MzYYZZ;
-
-         MzXXYY += c1o9 * OORho;
-         MzXXZZ += c1o9 * OORho;
-         MzYYZZ += c1o9 * OORho;
-
-         //5.
-         mu221 -= vx2y2z+vx2z*MzYY+vx2*MzYYZ+vy2z*MzXX+vy2*MzXXZ+vz*MzXXYY+MzXXYYZ+
-            c4o1*(vxyz*MzXY+vxy*MzXYZ)+
-            c2o1*(vxz*MzXYY+vx*MzXYYZ+vx2y*MzYZ+vyz*MzXXY+vy*MzXXYZ+vxy2*MzXZ);
-         mu212 -= vx2yz2 + vx2y*MzZZ + vx2*MzYZZ + vy*MzXXZZ + vz2*MzXXY + vyz2*MzXX+MzXXYZZ+
-            c4o1*(vxyz*MzXZ + vxz*MzXYZ)+
-            c2o1*(vxy*MzXZZ + vxz2*MzXY + vx*MzXYZZ + vyz*MzXXZ + vx2z*MzYZ + vz*MzXXYZ);
-         mu122 -= vxy2z2 + vxy2*MzZZ + MzXYYZZ + vz2*MzXYY + vy2*MzXZZ + vx*MzYYZZ + vxz2*MzYY+
-            c4o1*(vxyz*MzYZ + vyz*MzXYZ)+
-            c2o1*(vxy*MzYZZ + vxz*MzYYZ + vy2z*MzXZ + vyz2*MzXY + vy*MzXYZZ + vz*MzXYYZ);
-
-         //6.
-         mu222 -= vx2y2z2 + vx2y2*MzZZ + vx2z2*MzYY + vx2*MzYYZZ + vy2z2*MzXX + vy2*MzXXZZ + vz2*MzXXYY + MzXXYYZZ + c8o1*vxyz*MzXYZ +
-            c2o1*(vx2y*MzYZZ +  vx*MzXYYZZ + vz*MzXXYYZ + vyz2*MzXXY + vx2z*MzYYZ + vxy2*MzXZZ + vxz2*MzXYY + vy*MzXXYZZ + vy2z*MzXXZ)+ 
-            c4o1*(vxy2z*MzXZ + vx2yz*MzYZ + vxyz2*MzXY + vxy*MzXYZZ + vxz*MzXYYZ + vyz*MzXXYZ);
-
-         (D.f[ dP00   ])[k   ] = fW    -   c1o2*rho*( mu200  - mu220 + mu222 - mu202 +  mu120 - mu122 + mu102        );   //ke
-         (D.f[ dM00   ])[kw  ] = fE    -   c1o2*rho*( mu200  - mu220 + mu222 - mu202 -  mu120 + mu122 - mu102        );   
-         (D.f[ d0P0   ])[k   ] = fS    -   c1o2*rho*( mu210  - mu220 + mu222 - mu212 +  mu020 - mu022 + mu012        );   //kn
-         (D.f[ d0M0   ])[ks  ] = fN    -   c1o2*rho*(-mu210  - mu220 + mu222 + mu212 +  mu020 - mu022 - mu012        );   
-         (D.f[ d00P   ])[k   ] = fB    -   c1o2*rho*(-mu221  + mu222 + mu201 - mu202 +  mu021 - mu022 + mu002        );   //kt
-         (D.f[ d00M   ])[kb  ] = fT    -   c1o2*rho*( mu221  + mu222 - mu201 - mu202 -  mu021 - mu022 + mu002        );   
-         (D.f[ dPP0  ])[k   ] = fSW   -  c1o4*rho*(-mu210  + mu220 - mu222 + mu212 +  mu110 - mu120 + mu122 - mu112);   //kne
-         (D.f[ dMM0  ])[ksw ] = fNE   -  c1o4*rho*( mu210  + mu220 - mu222 - mu212 +  mu110 + mu120 - mu122 - mu112);   
-         (D.f[ dPM0  ])[ks  ] = fNW   -  c1o4*rho*( mu210  + mu220 - mu222 - mu212 -  mu110 - mu120 + mu122 + mu112);   //kse
-         (D.f[ dMP0  ])[kw  ] = fSE   -  c1o4*rho*(-mu210  + mu220 - mu222 + mu212 -  mu110 + mu120 - mu122 + mu112);   //knw
-         (D.f[ dP0P  ])[k   ] = fBW   -  c1o4*rho*( mu221  - mu222 - mu201 + mu202 -  mu121 + mu122 + mu101 - mu102);   //kte
-         (D.f[ dM0M  ])[kbw ] = fTE   -  c1o4*rho*(-mu221  - mu222 + mu201 + mu202 -  mu121 - mu122 + mu101 + mu102);   
-         (D.f[ dP0M  ])[kb  ] = fTW   -  c1o4*rho*(-mu221  - mu222 + mu201 + mu202 +  mu121 + mu122 - mu101 - mu102);   //kbe
-         (D.f[ dM0P  ])[kw  ] = fBE   -  c1o4*rho*( mu221  - mu222 - mu201 + mu202 +  mu121 - mu122 - mu101 + mu102);   //ktw
-         (D.f[ d0PP  ])[k   ] = fBS   -  c1o4*rho*( mu221  - mu222 - mu211 + mu212 -  mu021 + mu022 + mu011 - mu012);   //ktn
-         (D.f[ d0MM  ])[kbs ] = fTN   -  c1o4*rho*(-mu221  - mu222 - mu211 - mu212 +  mu021 + mu022 + mu011 + mu012);   
-         (D.f[ d0PM  ])[kb  ] = fTS   -  c1o4*rho*(-mu221  - mu222 + mu211 + mu212 +  mu021 + mu022 - mu011 - mu012);   //kbn
-         (D.f[ d0MP  ])[ks  ] = fBN   -  c1o4*rho*( mu221  - mu222 + mu211 - mu212 -  mu021 + mu022 - mu011 + mu012);   //kts
-         (D.f[ d000])[k   ] = fZERO -       rho*(-mu200  + mu220 - mu222 + mu202 -  mu020 + mu022 - mu002        );   //kzero
-         (D.f[ dPPP ])[k   ] = fBSW  - c1o8*rho*(-mu221  + mu222 + mu211 - mu212 +  mu121 - mu122 - mu111 + mu112);   //ktne
-         (D.f[ dPMP ])[ks  ] = fBNW  - c1o8*rho*(-mu221  + mu222 - mu211 + mu212 +  mu121 - mu122 + mu111 - mu112);   //ktse
-         (D.f[ dPPM ])[kb  ] = fTSW  - c1o8*rho*( mu221  + mu222 - mu211 - mu212 -  mu121 - mu122 + mu111 + mu112);   //kbne
-         (D.f[ dPMM ])[kbs ] = fTNW  - c1o8*rho*( mu221  + mu222 + mu211 + mu212 -  mu121 - mu122 - mu111 - mu112);   //kbse
-         (D.f[ dMPP ])[kw  ] = fBSE  - c1o8*rho*(-mu221  + mu222 + mu211 - mu212 -  mu121 + mu122 + mu111 - mu112);   //ktnw
-         (D.f[ dMMP ])[ksw ] = fBNE  - c1o8*rho*(-mu221  + mu222 - mu211 + mu212 -  mu121 + mu122 - mu111 + mu112);   //ktsw
-         (D.f[ dMPM ])[kbw ] = fTSE  - c1o8*rho*( mu221  + mu222 - mu211 - mu212 +  mu121 + mu122 - mu111 - mu112);   //kbnw
-         (D.f[ dMMM ])[kbsw] = fTNE  - c1o8*rho*( mu221  + mu222 + mu211 + mu212 +  mu121 + mu122 + mu111 + mu112);   
-
-
-         //////////////////////////////////////////////////////////////////////////
-         //BGK
-         //////////////////////////////////////////////////////////////////////////
-         //(D.f[ dP00   ])[k   ] = fW    ;
-         //(D.f[ dM00   ])[kw  ] = fE    ;
-         //(D.f[ d0P0   ])[k   ] = fS    ;
-         //(D.f[ d0M0   ])[ks  ] = fN    ;
-         //(D.f[ d00P   ])[k   ] = fB    ;
-         //(D.f[ d00M   ])[kb  ] = fT    ;
-         //(D.f[ dPP0  ])[k   ] = fSW   ;
-         //(D.f[ dMM0  ])[ksw ] = fNE   ;
-         //(D.f[ dPM0  ])[ks  ] = fNW   ;
-         //(D.f[ dMP0  ])[kw  ] = fSE   ;
-         //(D.f[ dP0P  ])[k   ] = fBW   ;
-         //(D.f[ dM0M  ])[kbw ] = fTE   ;
-         //(D.f[ dP0M  ])[kb  ] = fTW   ;
-         //(D.f[ dM0P  ])[kw  ] = fBE   ;
-         //(D.f[ d0PP  ])[k   ] = fBS   ;
-         //(D.f[ d0MM  ])[kbs ] = fTN   ;
-         //(D.f[ d0PM  ])[kb  ] = fTS   ;
-         //(D.f[ d0MP  ])[ks  ] = fBN   ;
-         //(D.f[ d000])[k   ] = fZERO ;
-         //(D.f[ dPPP ])[k   ] = fBSW  ;
-         //(D.f[ dPMP ])[ks  ] = fBNW  ;
-         //(D.f[ dPPM ])[kb  ] = fTSW  ;
-         //(D.f[ dPMM ])[kbs ] = fTNW  ;
-         //(D.f[ dMPP ])[kw  ] = fBSE  ;
-         //(D.f[ dMMP ])[ksw ] = fBNE  ;
-         //(D.f[ dMPM ])[kbw ] = fTSE  ;
-         //(D.f[ dMMM ])[kbsw] = fTNE  ;
-      }                                                                                                                    
-   }
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Casc_SP_27(  real omega,
-                                                  unsigned int* bcMatD,
-                                                  unsigned int* neighborX,
-                                                  unsigned int* neighborY,
-                                                  unsigned int* neighborZ,
-                                                  real* DDStart,
-                                                  unsigned long long numberOfLBnodes,
-                                                  bool EvenOrOdd)
-{
-   ////////////////////////////////////////////////////////////////////////////////
-   const unsigned  x = threadIdx.x;  // Globaler x-Index 
-   const unsigned  y = blockIdx.x;   // Globaler y-Index 
-   const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-   const unsigned nx = blockDim.x;
-   const unsigned ny = gridDim.x;
-
-   const unsigned k = nx*(ny*z + y) + x;
-   //////////////////////////////////////////////////////////////////////////
-
-   if(k<numberOfLBnodes)
-   {
-      ////////////////////////////////////////////////////////////////////////////////
-      unsigned int BC;
-      BC        =   bcMatD[k];
-
-      if( (BC != GEO_SOLID) && (BC != GEO_VOID))
-      {
-       Distributions27 D;
-       if (EvenOrOdd==true)
-       {
-          D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-          D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-          D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-          D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-          D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-          D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-          D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-          D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-          D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-          D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-          D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-          D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-          D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-          D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-          D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-          D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-          D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-          D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-          D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-          D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-          D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-          D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-          D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-          D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-          D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-          D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-          D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-       }
-       else
-       {
-          D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-          D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-          D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-          D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-          D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-          D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-          D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-          D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-          D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-          D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-          D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-          D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-          D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-          D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-          D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-          D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-          D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-          D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-          D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-          D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-          D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-          D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-          D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-          D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-          D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-          D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-          D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-       }
-
-       ////////////////////////////////////////////////////////////////////////////////
-       //index
-       unsigned int kzero= k;
-       unsigned int ke   = k;
-       unsigned int kw   = neighborX[k];
-       unsigned int kn   = k;
-       unsigned int ks   = neighborY[k];
-       unsigned int kt   = k;
-       unsigned int kb   = neighborZ[k];
-       unsigned int ksw  = neighborY[kw];
-       unsigned int kne  = k;
-       unsigned int kse  = ks;
-       unsigned int knw  = kw;
-       unsigned int kbw  = neighborZ[kw];
-       unsigned int kte  = k;
-       unsigned int kbe  = kb;
-       unsigned int ktw  = kw;
-       unsigned int kbs  = neighborZ[ks];
-       unsigned int ktn  = k;
-       unsigned int kbn  = kb;
-       unsigned int kts  = ks;
-       unsigned int ktse = ks;
-       unsigned int kbnw = kbw;
-       unsigned int ktnw = kw;
-       unsigned int kbse = kbs;
-       unsigned int ktsw = ksw;
-       unsigned int kbne = kb;
-       unsigned int ktne = k;
-       unsigned int kbsw = neighborZ[ksw];
-       //unsigned int nxny = nx*ny;
-       //unsigned int kzero= k;
-       //unsigned int ke   = k;
-       //unsigned int kw   = k + 1;
-       //unsigned int kn   = k;
-       //unsigned int ks   = k + nx;
-       //unsigned int kt   = k;
-       //unsigned int kb   = k + nxny;
-       //unsigned int ksw  = k + nx + 1;
-       //unsigned int kne  = k;
-       //unsigned int kse  = k + nx;
-       //unsigned int knw  = k + 1;
-       //unsigned int kbw  = k + nxny + 1;
-       //unsigned int kte  = k;
-       //unsigned int kbe  = k + nxny;
-       //unsigned int ktw  = k + 1;
-       //unsigned int kbs  = k + nxny + nx;
-       //unsigned int ktn  = k;
-       //unsigned int kbn  = k + nxny;
-       //unsigned int kts  = k + nx;
-       //unsigned int ktse = k + nx;
-       //unsigned int kbnw = k + nxny + 1;
-       //unsigned int ktnw = k + 1;
-       //unsigned int kbse = k + nxny + nx;
-       //unsigned int ktsw = k + nx + 1;
-       //unsigned int kbne = k + nxny;
-       //unsigned int ktne = k;
-       //unsigned int kbsw = k + nxny + nx + 1;
-       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-       real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO, f_TNE,f_TNW,f_TSE,f_TSW, f_BNE,f_BNW,f_BSE,f_BSW;
-       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-       f_E    =  (D.f[dP00])[ke]+c2o27;
-       f_W    =  (D.f[dM00])[kw]+c2o27;
-       f_N    =  (D.f[d0P0])[kn]+c2o27;
-       f_S    =  (D.f[d0M0])[ks]+c2o27;
-       f_T    =  (D.f[d00P])[kt]+c2o27;
-       f_B    =  (D.f[d00M])[kb]+c2o27;
-       f_NE   =  (D.f[dPP0])[kne]+c1o54;
-       f_SW   =  (D.f[dMM0])[ksw]+c1o54;
-       f_SE   =  (D.f[dPM0])[kse]+c1o54;
-       f_NW   =  (D.f[dMP0])[knw]+c1o54;
-       f_TE   =  (D.f[dP0P])[kte]+c1o54;
-       f_BW   =  (D.f[dM0M])[kbw]+c1o54;
-       f_BE   =  (D.f[dP0M])[kbe]+c1o54;
-       f_TW   =  (D.f[dM0P])[ktw]+c1o54;
-       f_TN   =  (D.f[d0PP])[ktn]+c1o54;
-       f_BS   =  (D.f[d0MM])[kbs]+c1o54;
-       f_BN   =  (D.f[d0PM])[kbn]+c1o54;
-       f_TS   =  (D.f[d0MP])[kts]+c1o54;
-       f_ZERO =  (D.f[d000])[kzero]+c8o27;
-       f_TNE   = (D.f[dPPP])[ktne]+c1o216;
-       f_TSW   = (D.f[dMMP])[ktsw]+c1o216;
-       f_TSE   = (D.f[dPMP])[ktse]+c1o216;
-       f_TNW   = (D.f[dMPP])[ktnw]+c1o216;
-       f_BNE   = (D.f[dPPM])[kbne]+c1o216;
-       f_BSW   = (D.f[dMMM])[kbsw]+c1o216;
-       f_BSE   = (D.f[dPMM])[kbse]+c1o216;
-       f_BNW   = (D.f[dMPM])[kbnw]+c1o216;
-       ////////////////////////////////////////////////////////////////////////////////
-
-       if( BC == GEO_FLUID || BC == GEO_VELO)
-       {
-          {
-         //    /////////////////////////version 13.04.
-         //   real drho     = f_ZERO+f_E +f_W +f_N +f_S +f_T +f_B +f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+ f_TNE+f_TSW+f_TSE+f_TNW+ f_BNE+f_BSW+f_BSE+f_BNW;
-         //   real vx1     =  f_E -f_W +f_NE-f_SW+f_SE-f_NW+f_TE-f_BW+f_BE-f_TW+ f_TNE-f_TSW+f_TSE-f_TNW+ f_BNE-f_BSW+f_BSE-f_BNW;
-         //   real vx2     =  f_N -f_S +f_NE-f_SW-f_SE+f_NW+f_TN-f_BS+f_BN-f_TS+ f_TNE-f_TSW-f_TSE+f_TNW+ f_BNE-f_BSW-f_BSE+f_BNW;
-         //   real vx3     =  f_T -f_B +f_TE-f_BW-f_BE+f_TW+f_TN-f_BS-f_BN+f_TS+ f_TNE+f_TSW+f_TSE+f_TNW- f_BNE-f_BSW-f_BSE-f_BNW;
-         ////   vx1=vx1/(drho); vx2=vx2/(drho); vx3=vx3/(drho);
-         //   //////////////////////////////////////////////////////////////////////////
-         //   //BGK
-         //   //////////////////////////////////////////////////////////////////////////
-
-
-         //   real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
-
-         //   f_ZERO = f_ZERO *(one+(-omega))-(-omega)*   c8over27*  (drho-cu_sq);
-         //   f_E    = f_E    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*( vx1        )+c9over2*( vx1        )*( vx1        )-cu_sq);
-         //   f_W    = f_W    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(-vx1        )+c9over2*(-vx1        )*(-vx1        )-cu_sq);
-         //   f_N    = f_N    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(    vx2     )+c9over2*(     vx2    )*(     vx2    )-cu_sq);
-         //   f_S    = f_S    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(   -vx2     )+c9over2*(    -vx2    )*(    -vx2    )-cu_sq);
-         //   f_T    = f_T    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(         vx3)+c9over2*(         vx3)*(         vx3)-cu_sq);
-         //   f_B    = f_B    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(        -vx3)+c9over2*(        -vx3)*(        -vx3)-cu_sq);
-         //   f_NE   = f_NE   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*( vx1+vx2    )+c9over2*( vx1+vx2    )*( vx1+vx2    )-cu_sq);
-         //   f_SW   = f_SW   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*(-vx1-vx2    )+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cu_sq);
-         //   f_SE   = f_SE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1-vx2    )+c9over2*( vx1-vx2    )*( vx1-vx2    )-cu_sq);
-         //   f_NW   = f_NW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1+vx2    )+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cu_sq);
-         //   f_TE   = f_TE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    +vx3)+c9over2*( vx1    +vx3)*( vx1    +vx3)-cu_sq);
-         //   f_BW   = f_BW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    -vx3)+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cu_sq);
-         //   f_BE   = f_BE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    -vx3)+c9over2*( vx1    -vx3)*( vx1    -vx3)-cu_sq);
-         //   f_TW   = f_TW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    +vx3)+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cu_sq);
-         //   f_TN   = f_TN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2+vx3)+c9over2*(     vx2+vx3)*(     vx2+vx3)-cu_sq);
-         //   f_BS   = f_BS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2-vx3)+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cu_sq);
-         //   f_BN   = f_BN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2-vx3)+c9over2*(     vx2-vx3)*(     vx2-vx3)-cu_sq);
-         //   f_TS   = f_TS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2+vx3)+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cu_sq);
-         //   f_TNE  = f_TNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq);
-         //   f_BSW  = f_BSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq);
-         //   f_BNE  = f_BNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq);
-         //   f_TSW  = f_TSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq);
-         //   f_TSE  = f_TSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq);
-         //   f_BNW  = f_BNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq);
-         //   f_BSE  = f_BSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq);
-         //   f_TNW  = f_TNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq);
-
-            ///////////////////////version 13.04.
-            real rho   =  f_ZERO+f_E +f_W +f_N +f_S +f_T +f_B +f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+ f_TNE+f_TSW+f_TSE+f_TNW+ f_BNE+f_BSW+f_BSE+f_BNW;
-            //real rho    =  rho0 + one;
-            real vx     =  f_E -f_W +f_NE-f_SW+f_SE-f_NW+f_TE-f_BW+f_BE-f_TW+ f_TNE-f_TSW+f_TSE-f_TNW+ f_BNE-f_BSW+f_BSE-f_BNW;
-            real vy     =  f_N -f_S +f_NE-f_SW-f_SE+f_NW+f_TN-f_BS+f_BN-f_TS+ f_TNE-f_TSW-f_TSE+f_TNW+ f_BNE-f_BSW-f_BSE+f_BNW;
-            real vz     =  f_T -f_B +f_TE-f_BW-f_BE+f_TW+f_TN-f_BS-f_BN+f_TS+ f_TNE+f_TSW+f_TSE+f_TNW- f_BNE-f_BSW-f_BSE-f_BNW;
-            vx=vx/(rho); vy=vy/(rho); vz=vz/(rho);
-
-            real mu[3][3][3];
-
-            mu[2][0][0]=(f_E+f_W+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o3);
-            mu[0][2][0]=(f_N+f_S+f_NE+f_SW+f_SE+f_NW+f_TN+f_BS+f_BN+f_TS+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o3);
-            mu[0][0][2]=(f_T+f_B+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o3);
-            mu[1][1][0]=(f_NE-f_SE+f_SW-f_NW+f_TNE-f_TSE+f_BNE-f_BSE+f_TSW-f_TNW+f_BSW-f_BNW)/(rho);
-            mu[1][0][1]=(f_TE+f_BW-f_BE-f_TW+f_TNE-f_BNE+f_TSE-f_BSE-f_TNW+f_BNW-f_TSW+f_BSW)/(rho);
-            mu[0][1][1]=(f_TN+f_BS-f_BN-f_TS+f_TNE-f_BNE-f_TSE+f_BSE+f_TNW-f_BNW-f_TSW+f_BSW)/(rho);
-            mu[2][1][0]=(f_NE-f_SW-f_SE+f_NW+f_TNE+f_BNE-f_TSE-f_BSE+f_TNW+f_BNW-f_TSW-f_BSW)/(rho);
-            mu[1][2][0]=(f_NE-f_SW+f_SE-f_NW+f_TNE-f_TNW+f_BNE-f_BNW+f_TSE-f_TSW+f_BSE-f_BSW)/(rho);
-            mu[1][0][2]=(f_TE-f_BW+f_BE-f_TW+f_TNE-f_TNW+f_BNE-f_BNW+f_TSE-f_TSW+f_BSE-f_BSW)/(rho);
-            mu[1][1][1]=(f_TNE-f_BNE-f_TSE+f_BSE-f_TNW+f_BNW+f_TSW-f_BSW)/(rho);
-            mu[2][0][1]=(f_TE-f_BW-f_BE+f_TW+f_TNE-f_BNE+f_TSE-f_BSE+f_TNW-f_BNW+f_TSW-f_BSW)/(rho);
-            mu[0][2][1]=(f_TN-f_BS-f_BN+f_TS+f_TNE-f_BNE+f_TSE-f_BSE+f_TNW-f_BNW+f_TSW-f_BSW)/(rho);
-            mu[0][1][2]=(f_TN-f_BS+f_BN-f_TS+f_TNE+f_BNE-f_TSE-f_BSE+f_TNW+f_BNW-f_TSW-f_BSW)/(rho);
-            mu[2][2][0]=(f_NE+f_SW+f_SE+f_NW+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o9);
-            mu[1][2][1]=(f_TNE-f_BNE+f_TSE-f_BSE-f_TNW+f_BNW-f_TSW+f_BSW)/(rho);
-            mu[2][0][2]=(f_TE+f_BW+f_BE+f_TW+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o9);
-            mu[2][1][1]=(f_TNE-f_BNE-f_TSE+f_BSE+f_TNW-f_BNW-f_TSW+f_BSW)/(rho);
-            mu[1][1][2]=(f_TNE+f_BNE-f_TSE-f_BSE-f_TNW-f_BNW+f_TSW+f_BSW)/(rho);
-            mu[0][2][2]=(f_TN+f_BS+f_BN+f_TS+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o9);
-            mu[2][2][1]=(f_TNE-f_BNE+f_TSE-f_BSE+f_TNW-f_BNW+f_TSW-f_BSW)/(rho);
-            mu[1][2][2]=(f_TNE-f_TNW+f_BNE-f_BNW+f_TSE-f_TSW+f_BSE-f_BSW)/(rho);
-            mu[2][1][2]=(f_TNE+f_BNE-f_TSE-f_BSE+f_TNW+f_BNW-f_TSW-f_BSW)/(rho);
-            mu[2][2][2]=(f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o27);
-            mu[0][0][0]=c1o1;
-            mu[1][0][0]=vx;
-            mu[0][1][0]=vy;
-            mu[0][0][1]=vz;
-
-            real M_zXX=c0o1;      real M_zYY=c0o1;      real M_zZZ=c0o1;      real M_zXY=c0o1;     real M_zXZ=c0o1;   real M_zYZ=c0o1;
-            real M_zXXY=c0o1;     real M_zXYY=c0o1;     real M_zXXZ=c0o1;     real M_zXZZ=c0o1;    real M_zYYZ=c0o1;  real M_zYZZ=c0o1;  real M_zXYZ=c0o1;
-            real M_zXXYY=c0o1;    real M_zXXZZ=c0o1;    real M_zYYZZ=c0o1;    real M_zXXYZ=c0o1;   real M_zXYYZ=c0o1; real M_zXYZZ=c0o1;
-            real M_zXXYYZ=c0o1;   real M_zXXYZZ=c0o1;   real M_zXYYZZ=c0o1;   real M_zXXYYZZ=c0o1;
-            real M_zXYeq=c0o1;    real M_zXZeq=c0o1;    real M_zYZeq=c0o1;    real M_zXYZeq=c0o1;
-            real M_zXXYZeq=c0o1;  real M_zXYYZeq=c0o1;  real M_zXYZZeq=c0o1;
-            real M_zXXYYZeq=c0o1; real M_zXXYZZeq=c0o1; real M_zXYYZZeq=c0o1; real M_zXXYYZZeq=c0o1;
-
-            M_zXXYYZZ= -c5o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] * 
-                             mu[1][0][0] +     mu[0][0][2] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] * 
-                             mu[1][0][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][1] *     mu[1][0][0] * 
-                             mu[1][0][0] - c2o1*mu[0][1][0] *     mu[0][1][2] *     mu[1][0][0] *     mu[1][0][0] + 
-                             mu[0][0][1] *     mu[0][0][1] *     mu[0][2][0] *     mu[1][0][0] *     mu[1][0][0] -
-                         c2o1*mu[0][0][1] *     mu[0][2][1] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][2][2] *
-                             mu[1][0][0] *     mu[1][0][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *
-                             mu[1][0][0] *     mu[1][0][1] - c2o1*mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] *
-                             mu[1][0][2] + c4o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *
-                             mu[1][1][0] - c8o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][1][1] +
-                        c4o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][1][2] - c2o1*mu[0][0][1] *     mu[0][0][1] *
-                             mu[1][0][0] *     mu[1][2][0] + c4o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][2][1] -
-                         c2o1*mu[1][0][0] *     mu[1][2][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *
-                             mu[0][1][0] *     mu[2][0][0] - c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *
-                             mu[2][0][1] +     mu[0][1][0] *     mu[0][1][0] *     mu[2][0][2] - c2o1*mu[0][0][1] *
-                             mu[0][0][1] *     mu[0][1][0] *     mu[2][1][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *
-                             mu[2][1][1] - c2o1*mu[0][1][0] *     mu[2][1][2] +     mu[0][0][1] *     mu[0][0][1] *
-                             mu[2][2][0] - c2o1*mu[0][0][1] *     mu[2][2][1] +     mu[2][2][2];  //5
-            M_zXXYYZ=   c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] - 
-                         c2o1*mu[0][1][0] *     mu[0][1][1] *     mu[1][0][0] *     mu[1][0][0] -     mu[0][0][1] *
-                             mu[0][2][0] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][2][1] *     mu[1][0][0] *
-                             mu[1][0][0] - c2o1*mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][1] -
-                        c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][1][0] + c4o1*mu[0][1][0] *
-                             mu[1][0][0] *     mu[1][1][1] + c2o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][2][0] - 
-                         c2o1*mu[1][0][0] *     mu[1][2][1] -     mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *
-                             mu[2][0][0] +     mu[0][1][0] *     mu[0][1][0] *     mu[2][0][1] + c2o1*mu[0][0][1] *
-                             mu[0][1][0] *     mu[2][1][0] - c2o1*mu[0][1][0] *     mu[2][1][1] -     mu[0][0][1] *
-                             mu[2][2][0] +     mu[2][2][1]; //6
-            M_zXXYY=  -c3o1*mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][2][0] *
-                             mu[1][0][0] *     mu[1][0][0] + c4o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][1][0] -
-                         c2o1*mu[1][0][0] *     mu[1][2][0] +     mu[0][1][0] *     mu[0][1][0] *     mu[2][0][0] -
-                         c2o1*mu[0][1][0] *     mu[2][1][0] +     mu[2][2][0]; //7
-            M_zXXYZZ=   c4o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] -
-                             mu[0][0][2] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] - c2o1*mu[0][0][1] *
-                             mu[0][1][1] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][1][2] *     mu[1][0][0] *
-                             mu[1][0][0] - c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][1] +
-                         c2o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][0][2] - c2o1*mu[0][0][1] *     mu[0][0][1] *
-                             mu[1][0][0] *     mu[1][1][0] + c4o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][1][1] -
-                         c2o1*mu[1][0][0] *     mu[1][1][2] -     mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *
-                             mu[2][0][0] + c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[2][0][1] -     mu[0][1][0] *
-                             mu[2][0][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[2][1][0] - c2o1*mu[0][0][1] *
-                             mu[2][1][1] +     mu[2][1][2]; //8
-            M_zXXYZ=  -c3o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][1][1] *
-                             mu[1][0][0] *     mu[1][0][0] + c2o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][0][1] +
-                         c2o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][1][0] - c2o1*mu[1][0][0] *     mu[1][1][1] +
-                             mu[0][0][1] *     mu[0][1][0] *     mu[2][0][0] -     mu[0][1][0] *     mu[2][0][1] - 
-                             mu[0][0][1] *     mu[2][1][0] +     mu[2][1][1]; //9
-            M_zXXY=      c2o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] - c2o1*mu[1][0][0] *     mu[1][1][0] -
-                             mu[0][1][0] *     mu[2][0][0] +     mu[2][1][0]; //10
-            M_zXXZZ=  -c3o1*mu[0][0][1] *     mu[0][0][1] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][0][2] *
-                             mu[1][0][0] *     mu[1][0][0] + c4o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][0][1] -
-                         c2o1*mu[1][0][0] *     mu[1][0][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[2][0][0] -
-                         c2o1*mu[0][0][1] *     mu[2][0][1] +     mu[2][0][2]; //11
-            M_zXXZ=      c2o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][0][0] - c2o1*mu[1][0][0] *     mu[1][0][1] -
-                             mu[0][0][1] *     mu[2][0][0] +     mu[2][0][1]; //12
-            M_zXX=-          mu[1][0][0] *     mu[1][0][0] +     mu[2][0][0]; //13
-            M_zXYYZZ=   c4o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] -
-                             mu[0][0][2] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] - c4o1*mu[0][0][1] * 
-                             mu[0][1][0] *     mu[0][1][1] *     mu[1][0][0] + c2o1*mu[0][1][0] *     mu[0][1][2] *
-                             mu[1][0][0] -     mu[0][0][1] *     mu[0][0][1] *     mu[0][2][0] *     mu[1][0][0] +
-                         c2o1*mu[0][0][1] *     mu[0][2][1] *     mu[1][0][0] -     mu[0][2][2] *     mu[1][0][0] -
-                         c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][1] +     mu[0][1][0] *
-                             mu[0][1][0] *     mu[1][0][2] - c2o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *
-                             mu[1][1][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][1][1] - c2o1*mu[0][1][0] *
-                             mu[1][1][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[1][2][0] - c2o1*mu[0][0][1] *
-                             mu[1][2][1] +     mu[1][2][2];    //14
-            M_zXYYZ=  -c3o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] + c2o1*mu[0][1][0] *
-                             mu[0][1][1] *     mu[1][0][0] +     mu[0][0][1] *     mu[0][2][0] *     mu[1][0][0] - 
-                             mu[0][2][1] *     mu[1][0][0] +     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][1] + 
-                         c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][1][0] - c2o1*mu[0][1][0] *     mu[1][1][1] - 
-                             mu[0][0][1] *     mu[1][2][0] +     mu[1][2][1]; //15
-            M_zXYY=      c2o1*mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] -     mu[0][2][0] *     mu[1][0][0] -
-                         c2o1*mu[0][1][0] *     mu[1][1][0] +     mu[1][2][0]; //16
-            M_zXYZZ=  -c3o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] +     mu[0][0][2] *
-                             mu[0][1][0] *     mu[1][0][0] + c2o1*mu[0][0][1] *     mu[0][1][1] *     mu[1][0][0] -     
-                             mu[0][1][2] *     mu[1][0][0] + c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][1] -     
-                             mu[0][1][0] *     mu[1][0][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[1][1][0] - 
-                         c2o1*mu[0][0][1] *     mu[1][1][1] +     mu[1][1][2]; //17
-            M_zXYZ=      c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] -     mu[0][1][1] *     mu[1][0][0] -
-                             mu[0][1][0] *     mu[1][0][1] -     mu[0][0][1] *     mu[1][1][0] +     mu[1][ 1][ 1]; //18
-            M_zXY =         -mu[0][1][0] *     mu[1][0][0] +     mu[1][1][0]; //19
-            M_zXZZ=      c2o1*mu[0][0][1] *     mu[0][0][1] *     mu[1][0][0] -     mu[0][0][2] *     mu[1][0][0] -
-                         c2o1*mu[0][0][1] *     mu[1][0][1] +     mu[1][0][2]; //20
-            M_zXZ =         -mu[0][0][1] *     mu[1][0][0] +     mu[1][0][1]; //21
-            M_zYYZZ=  -c3o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] +     mu[0][0][2] *
-                             mu[0][1][0] *     mu[0][1][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][1] -
-                         c2o1*mu[0][1][0] *     mu[0][1][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[0][2][0] -
-                         c2o1*mu[0][0][1] *     mu[0][2][1] +     mu[0][2][2]; //22
-            M_zYYZ=      c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] - c2o1*mu[0][1][0] *     mu[0][1][1] -
-                             mu[0][0][1] *     mu[0][2][0] +     mu[0][2][1]; //23
-            M_zYY  =        -mu[0][1][0] *     mu[0][1][0] +     mu[0][2][0]; //24
-            M_zYZZ =     c2o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] -     mu[0][0][2] *     mu[0][1][0] -  
-                         c2o1*mu[0][0][1] *     mu[0][1][1] +     mu[0][1][2]; //25
-            M_zYZ  =        -mu[0][0][1] *     mu[0][1][0] +     mu[0][1][1]; //26
-            M_zZZ  =        -mu[0][0][1] *     mu[0][0][1] +     mu[0][0][2]; //27
-
-            M_zXXYYZZeq=c1o27;
-            M_zXXYYZeq=c0o1;
-            M_zXXYZZeq=c0o1;
-            M_zXXYZeq=c0o1;
-            M_zXYYZZeq=c0o1;
-            M_zXYYZeq=c0o1;
-            M_zXYZZeq=c0o1;
-
-            real MXXpMYYpMZZ,MXXmMYY, MXXmMZZ, MXXYpMYZZ,MXXZpMYYZ,MXYYpMXZZ, MXXYmMYZZ,MXXZmMYYZ,MXYYmMXZZ, MXXYYppp,MXXYYpm2p, MXXYYppm2;
-            real MXXpMYYpMZZeq,MXXmMYYeq, MXXmMZZeq, MXXYpMYZZeq,MXXZpMYYZeq,MXYYpMXZZeq, MXXYmMYZZeq,MXXZmMYYZeq,MXYYmMXZZeq, MXXYYpppeq,MXXYYpm2peq, MXXYYppm2eq;
-
-            //coll faktoren:
-            real w1,w2,w3,w4,w5,w6,w7,w8,w9,w10;
-            w2=-c1o1;//-omega;
-            w7=-c1o1;
-            w9=-c1o1;
-            w10=-c1o1;
-            w1=-omega;
-            w3=-c1o1;
-            w4=-c1o1;
-            w5=-c1o1;
-            w6=-c1o1;
-            w8=-c1o1;
-            ////////lin kombi bilden:
-            MXXpMYYpMZZ = M_zXX + M_zYY + M_zZZ;
-            MXXmMYY = M_zXX - M_zYY;
-            MXXmMZZ = M_zXX - M_zZZ;
-
-            MXXYpMYZZ  =  M_zXXY+M_zYZZ;
-            MXXYmMYZZ  =  M_zXXY-M_zYZZ;
-            MXXZpMYYZ  =  M_zXXZ+M_zYYZ;
-            MXXZmMYYZ  =  M_zXXZ-M_zYYZ;
-            MXYYpMXZZ  =  M_zXYY+M_zXZZ;
-            MXYYmMXZZ  =  M_zXYY-M_zXZZ;
-
-            MXXYYppp  = M_zXXYY + M_zXXZZ + M_zYYZZ;
-            MXXYYpm2p = M_zXXYY - 2.0*M_zXXZZ + M_zYYZZ;
-            MXXYYppm2 = M_zXXYY + M_zXXZZ - 2.0*M_zYYZZ;
-            bool casc=false;
-            bool factorCasc=true;
-            if(casc)
-            {
-              MXXpMYYpMZZeq = c1o1;
-              MXXmMYYeq     = c0o1;
-              MXXmMZZeq     = c0o1;
-
-              MXXYpMYZZeq  =  c0o1;
-              MXXYmMYZZeq  =  c0o1;
-              MXXZpMYYZeq  =  c0o1;
-              MXXZmMYYZeq  =  c0o1;
-              MXYYpMXZZeq  =  c0o1;
-              MXYYmMXZZeq  =  c0o1;
-
-              MXXYYpppeq  = c1o3;
-              MXXYYpm2peq = c0o1;
-              MXXYYppm2eq = c0o1;
-
-              //relaxation:
-              MXXpMYYpMZZ -= w2*(MXXpMYYpMZZeq-MXXpMYYpMZZ);
-              MXXmMYY -=     w1*(MXXmMYYeq    -MXXmMYY);
-              MXXmMZZ -=     w1*(MXXmMZZeq    -MXXmMZZ);
-
-              MXXYpMYZZ  -=  w3*(MXXYpMYZZeq-MXXYpMYZZ);
-              MXXYmMYZZ  -=  w4*(MXXYmMYZZeq-MXXYmMYZZ);
-              MXXZpMYYZ  -=  w3*(MXXZpMYYZeq-MXXZpMYYZ);
-              MXXZmMYYZ  -=  w4*(MXXZmMYYZeq-MXXZmMYYZ);
-              MXYYpMXZZ  -=  w3*(MXYYpMXZZeq-MXYYpMXZZ);
-              MXYYmMXZZ  -=  w4*(MXYYmMXZZeq-MXYYmMXZZ);
-
-              MXXYYppp  -= w7*(MXXYYpppeq -MXXYYppp );
-              MXXYYpm2p -= w6*(MXXYYpm2peq-MXXYYpm2p);
-              MXXYYppm2 -= w6*(MXXYYppm2eq-MXXYYppm2);
-
-              M_zXXYYZZ=M_zXXYYZZ-w10*(M_zXXYYZZeq-M_zXXYYZZ);
-              M_zXZ=    M_zXZ-    w1*(M_zXZeq   - M_zXZ    );
-              M_zYZ=    M_zYZ-    w1*(M_zYZeq   - M_zYZ    );
-              M_zXY=    M_zXY-    w1*(M_zXYeq   - M_zXY    );
-
-              M_zXYZ=   M_zXYZ-   w5*(M_zXYZeq  - M_zXYZ   );
-
-              M_zXYYZ=  M_zXYYZ-  w8*(M_zXYYZeq - M_zXYYZ  );
-              M_zXYZZ=  M_zXYZZ-  w8*(M_zXYZZeq - M_zXYZZ  );
-              M_zXXYZ=  M_zXXYZ-  w8*(M_zXXYZeq - M_zXXYZ  );
-
-              M_zXXYYZ= M_zXXYYZ- w9*(M_zXXYYZeq- M_zXXYYZ );
-              M_zXXYZZ= M_zXXYZZ- w9*(M_zXXYZZeq- M_zXXYZZ );
-              M_zXYYZZ= M_zXYYZZ- w9*(M_zXYYZZeq- M_zXYYZZ );
-
-              ////////von Lin Kombis zurueck:
-              M_zXX = c1o3 * MXXmMYY + c1o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-              M_zYY =-c2o3 * MXXmMYY + c1o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-              M_zZZ = c1o3 * MXXmMYY - c2o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-
-              M_zXXY = (MXXYmMYZZ + MXXYpMYZZ)*c1o2;
-              M_zYZZ = c1o2*(-MXXYmMYZZ + MXXYpMYZZ);
-              M_zXYY =(MXYYmMXZZ + MXYYpMXZZ)*c1o2;
-              M_zXZZ = c1o2*(-MXYYmMXZZ + MXYYpMXZZ);
-              M_zXXZ = (MXXZmMYYZ + MXXZpMYYZ)*c1o2;
-              M_zYYZ = c1o2*(-MXXZmMYYZ + MXXZpMYYZ);
-
-			  M_zXXYY =  c1o3* MXXYYpm2p + c1o3* MXXYYppm2 + c1o3*MXXYYppp;
-			  M_zXXZZ = -c1o3* MXXYYpm2p + c1o3* MXXYYppp;
-			  M_zYYZZ = -c1o3* MXXYYppm2 + c1o3* MXXYYppp;
-            }
-            else if (factorCasc)
-            {
-              MXXpMYYpMZZeq = c1o1;
-              MXXmMYYeq     = c0o1;
-              MXXmMZZeq     = c0o1;
-
-              MXXYpMYZZeq  =  c0o1;
-              MXXYmMYZZeq  =  c0o1;
-              MXXZpMYYZeq  =  c0o1;
-              MXXZmMYYZeq  =  c0o1;
-              MXYYpMXZZeq  =  c0o1;
-              MXYYmMXZZeq  =  c0o1;
-
-              MXXYYpppeq  = c1o3;
-              MXXYYpm2peq = c0o1;
-              MXXYYppm2eq = c0o1;
-
-              //relaxation:
-              MXXpMYYpMZZ -= w2*(MXXpMYYpMZZeq-MXXpMYYpMZZ);
-              MXXmMYY -=     w1*(MXXmMYYeq    -MXXmMYY);
-              MXXmMZZ -=     w1*(MXXmMZZeq    -MXXmMZZ);
-
-              MXXYpMYZZ  -=  w3*(MXXYpMYZZeq-MXXYpMYZZ);
-              MXXYmMYZZ  -=  w4*(MXXYmMYZZeq-MXXYmMYZZ);
-              MXXZpMYYZ  -=  w3*(MXXZpMYYZeq-MXXZpMYYZ);
-              MXXZmMYYZ  -=  w4*(MXXZmMYYZeq-MXXZmMYYZ);
-              MXYYpMXZZ  -=  w3*(MXYYpMXZZeq-MXYYpMXZZ);
-              MXYYmMXZZ  -=  w4*(MXYYmMXZZeq-MXYYmMXZZ);
-
-              M_zXZ=    M_zXZ-    w1*(M_zXZeq   - M_zXZ    );
-              M_zYZ=    M_zYZ-    w1*(M_zYZeq   - M_zYZ    );
-              M_zXY=    M_zXY-    w1*(M_zXYeq   - M_zXY    );
-              M_zXYZ=   M_zXYZ-   w5*(M_zXYZeq  - M_zXYZ   );
-
-              ////////von Lin Kombis zurueck:
-              M_zXX = c1o3 * MXXmMYY + c1o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-              M_zYY =-c2o3 * MXXmMYY + c1o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-              M_zZZ = c1o3 * MXXmMYY - c2o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-
-              M_zXXY = (MXXYmMYZZ + MXXYpMYZZ)*c1o2;
-              M_zYZZ = c1o2*(-MXXYmMYZZ + MXXYpMYZZ);
-              M_zXYY =(MXYYmMXZZ + MXYYpMXZZ)*c1o2;
-              M_zXZZ = c1o2*(-MXYYmMXZZ + MXYYpMXZZ);
-              M_zXXZ = (MXXZmMYYZ + MXXZpMYYZ)*c1o2;
-              M_zYYZ = c1o2*(-MXXZmMYYZ + MXXZpMYYZ);
-
-              //faktorisierte atraktoren:
-              MXXYYpppeq=M_zXX*M_zYY+M_zXX*M_zZZ+M_zZZ*M_zYY;    
-              MXXYYpm2peq=M_zXX*M_zYY-c2o1*M_zXX*M_zZZ+M_zZZ*M_zYY; 
-              MXXYYppm2eq=M_zXX*M_zYY+M_zXX*M_zZZ-c2o1*M_zZZ*M_zYY; 
-              M_zXYYZeq=M_zYY*M_zXZ;
-              M_zXYZZeq=M_zZZ*M_zXY;
-              M_zXXYZeq=M_zXX*M_zYZ;
-
-              M_zXXYYZeq=c0o1;
-              M_zXXYZZeq=c0o1;
-              M_zXYYZZeq=c0o1;
-
-              M_zXXYYZZeq=M_zXX*M_zYY*M_zZZ;
-
-              MXXYYppp  -= w7*(MXXYYpppeq -MXXYYppp );
-              MXXYYpm2p -= w6*(MXXYYpm2peq-MXXYYpm2p);
-              MXXYYppm2 -= w6*(MXXYYppm2eq-MXXYYppm2);
-              M_zXXYYZZ=M_zXXYYZZ-w10*(M_zXXYYZZeq-M_zXXYYZZ);
-              M_zXYYZ=  M_zXYYZ-  w8*(M_zXYYZeq - M_zXYYZ  );
-              M_zXYZZ=  M_zXYZZ-  w8*(M_zXYZZeq - M_zXYZZ  );
-              M_zXXYZ=  M_zXXYZ-  w8*(M_zXXYZeq - M_zXXYZ  );
-
-              M_zXXYYZ= M_zXXYYZ- w9*(M_zXXYYZeq- M_zXXYYZ );
-              M_zXXYZZ= M_zXXYZZ- w9*(M_zXXYZZeq- M_zXXYZZ );
-              M_zXYYZZ= M_zXYYZZ- w9*(M_zXYYZZeq- M_zXYYZZ );
-
-              M_zXXYY =  c1o3* MXXYYpm2p + c1o3* MXXYYppm2 + c1o3*MXXYYppp;
-              M_zXXZZ = -c1o3* MXXYYpm2p + c1o3* MXXYYppp;
-              M_zYYZZ = -c1o3* MXXYYppm2 + c1o3* MXXYYppp;
-            }
-            //real forcingX1=1.11986e-8;//1.41342e-8;//5.48288e-9;//<-96//1.03093e-8;//1.59178e-8;//1.6256e-8; 
-
-            //mu[1][0][0]+=forcingX1;
-
-            mu[2][ 2][ 2]= vx*vx*vy*vy*vz*vz + vx*vx*vy*vy*M_zZZ + c4o1*vx*vx*vy*vz*M_zYZ + c2o1* vx*vx*vy*M_zYZZ +
-                           vx*vx*vz*vz*M_zYY + c2o1* vx*vx*vz*M_zYYZ +vx*vx*M_zYYZZ + c4o1*vx*vy*vy*vz*M_zXZ   +
-                           c2o1* vx*vy*vy*M_zXZZ + c4o1* vx*vy*vz*vz*M_zXY+   c8o1* vx*vy*vz*M_zXYZ + c4o1* vx*vy*M_zXYZZ +
-                           c2o1* vx*vz*vz*M_zXYY + c4o1* vx*vz*M_zXYYZ + c2o1*vx*M_zXYYZZ +   vy*vy*vz*vz*M_zXX + c2o1* vy*vy*vz*M_zXXZ  +
-                           vy*vy*M_zXXZZ     + c2o1* vy*vz*vz*M_zXXY  + c4o1*vy*vz*M_zXXYZ +  c2o1* vy*M_zXXYZZ + vz*vz*M_zXXYY +c2o1* vz*M_zXXYYZ + M_zXXYYZZ;//-(c1o27);
-            mu[2][ 2][ 1]= vx*vx*vy*vy*vz + c2o1*vx*vx*vy*M_zYZ + vx*vx*vz*M_zYY +  vx*vx*M_zYYZ + c2o1*vx*vy*vy*M_zXZ +c4o1*vx*vy*vz*M_zXY +c4o1*vx*vy*M_zXYZ+
-                           c2o1*vx*vz*M_zXYY + c2o1*vx*M_zXYYZ + vy*vy*vz*M_zXX +  vy*vy*M_zXXZ + c2o1* vy*vz*M_zXXY + c2o1*vy*M_zXXYZ +  vz*M_zXXYY + M_zXXYYZ;
-            mu[2][ 2][ 0]= vx*vx*vy*vy + vx*vx*M_zYY + c4o1*vx*vy*M_zXY +   c2o1*vx*M_zXYY + vy*vy*M_zXX + c2o1*vy*M_zXXY +  M_zXXYY ;//-(c1o9);
-            mu[2][ 1][ 2]= vx*vx*vy*vz*vz + vx*vx*vy*M_zZZ + c2o1*vx*vx*vz*M_zYZ +   vx*vx*M_zYZZ + c4o1*vx*vy*vz*M_zXZ+ //vy->vz
-                           c2o1*vx*vy*M_zXZZ + c2o1*vx*vz*vz*M_zXY +   c4o1*vx*vz*M_zXYZ + c2o1*vx*M_zXYZZ + vy*vz*vz*M_zXX +
-                           c2o1*vy*vz*M_zXXZ + vy*M_zXXZZ + vz*vz*M_zXXY +  c2o1*vz*M_zXXYZ + M_zXXYZZ;
-            mu[2][ 1][ 1]= vx*vx*vy*vz + vx*vx*M_zYZ + c2o1*vx*vy*M_zXZ + c2o1*vx*vz*M_zXY + c2o1*vx*M_zXYZ + vy*vz*M_zXX+  vy*M_zXXZ + vz*M_zXXY + M_zXXYZ;
-            mu[2][ 1][ 0]= vx*vx*vy + c2o1*vx*M_zXY + vy*M_zXX + M_zXXY;
-            mu[2][ 0][ 2]= vx*vx*vz*vz + vx*vx*M_zZZ + c4o1*vx*vz*M_zXZ+ c2o1*vx*M_zXZZ + vz*vz*M_zXX+ c2o1*vz*M_zXXZ + M_zXXZZ;//-(c1o9);
-            mu[2][ 0][ 1]= vx*vx*vz + c2o1*vx*M_zXZ + vz*M_zXX + M_zXXZ;
-            mu[2][ 0][ 0]= vx*vx + M_zXX ;//-(c1o3);
-            mu[1][ 2][ 2]= vx*vy*vy*vz*vz + vx*vy*vy*M_zZZ + c4o1*vx*vy*vz*M_zYZ +   c2o1*vx*vy*M_zYZZ + vx*vz*vz*M_zYY + c2o1*vx*vz*M_zYYZ +vx*M_zYYZZ + c2o1*vy*vy*vz*M_zXZ + vy*vy*M_zXZZ +
-                           c2o1*vy*vz*vz*M_zXY + c4o1*vy*vz*M_zXYZ + c2o1*vy*M_zXYZZ +vz*vz*M_zXYY + c2o1*vz*M_zXYYZ + M_zXYYZZ;
-            mu[1][ 2][ 1]= vx*vy*vy*vz + c2o1*vx*vy*M_zYZ + vx*vz*M_zYY +   vx*M_zYYZ + vy*vy*M_zXZ + c2o1*vy*vz*M_zXY +   c2o1*vy*M_zXYZ + vz*M_zXYY + M_zXYYZ;
-            mu[1][ 2][ 0]= vx*vy*vy + vx*M_zYY + c2o1*vy*M_zXY + M_zXYY;
-            mu[1][ 1][ 2]= vx*vy*vz*vz+vx*vy*M_zZZ+c2o1*vx*vz*M_zYZ+vx*M_zYZZ+c2o1*vy*vz*M_zXZ+vy*M_zXZZ+vz*vz*M_zXY+c2o1*vz*M_zXYZ+M_zXYZZ;
-            mu[1][ 1][ 1]= vx*vy*vz + vx*M_zYZ + vy*M_zXZ + vz*M_zXY+M_zXYZ;
-            mu[1][ 1][ 0]= vx*vy+ M_zXY;
-            mu[1][ 0][ 2]= vx*vz*vz + vx*M_zZZ + c2o1*vz*M_zXZ + M_zXZZ;
-            mu[1][ 0][ 1]= vx*vz + M_zXZ;
-            //mu[1][ 0][ 0]= vx;
-            mu[0][ 2][ 2]= vy*vy*vz*vz + vy*vy*M_zZZ + c4o1*vy*vz*M_zYZ +c2o1*vy*M_zYZZ + vz*vz*M_zYY + c2o1*vz*M_zYYZ +  M_zYYZZ;//-(c1o9);
-            mu[0][ 2][ 1]= vy*vy*vz + c2o1*vy*M_zYZ + vz*M_zYY + M_zYYZ;
-            mu[0][ 2][ 0]= vy*vy + M_zYY ;//-(c1o3);
-            mu[0][ 1][ 2]= vy*vz*vz+ vy*M_zZZ + c2o1*vz*M_zYZ + M_zYZZ;
-            mu[0][ 1][ 1]= vy*vz + M_zYZ;
-            //mu[0][ 1][ 0]= vy ;                     //richtig?
-            mu[0][ 0][ 2]= vz*vz + M_zZZ;// -(c1o3);
-            //mu[0][ 0][ 1]= vz;
-            //mu[0][ 0][ 0]=rho0 ;
-
-            f_E =c1o2* (mu[2][0][0] -  mu[2][2][0] + mu[2][2][2] - mu[2][0][2] -   mu[1][2][0] + mu[1][2][2] - mu[1][0][2] +mu[1][0][0]) *(rho);
-            f_W =c1o2* (mu[2][0][0] - mu[2][2][0] + mu[2][2][2] - mu[2][0][2] +    mu[1][2][0] - mu[1][2][2] + mu[1][0][2] -mu[1][0][0])*  (rho);
-            f_N =c1o2* (-mu[2][1][0] - mu[2][2][0] + mu[2][2][2] + mu[2][1][2] +   mu[0][2][0] - mu[0][2][2] - mu[0][1][2] +mu[0][1][0])* (rho);
-            f_S =c1o2* (mu[2][1][0] -  mu[2][2][0] + mu[2][2][2] - mu[2][1][2] +   mu[0][2][0] - mu[0][2][2] + mu[0][1][2] -mu[0][1][0])* (rho);
-            f_T =c1o2* (mu[2][2][1] +  mu[2][2][2] - mu[2][0][1] - mu[2][0][2] -   mu[0][2][1] - mu[0][2][2] + mu[0][0][2] +mu[0][0][1])* (rho);
-            f_B =c1o2* (-mu[2][2][1] + mu[2][2][2] + mu[2][0][1]  - mu[2][0][2] +  mu[0][2][1] - mu[0][2][2] + mu[0][0][2]-mu[0][0][1])* (rho);
-            f_NE =c1o4*( mu[2][1][0]  + mu[2][2][0]- mu[2][2][2] - mu[2][1][2] +  mu[1][1][0]+ mu[1][2][0]- mu[1][2][2] -mu[1][1][2])*  (rho);
-            f_SW =c1o4*(-mu[2][1][0] + mu[2][2 ][0]- mu[2][2][2] + mu[2][1][2] +  mu[1][1][0]- mu[1][2][0]+ mu[1][2][2] -mu[1][1][2])*  (rho);
-            f_SE =c1o4*(-mu[2][1][0] + mu[2][2 ][0]- mu[2][2][2] + mu[2][1][2] -  mu[1][1][0]+ mu[1][2][0]- mu[1][2][2] +mu[1][1][2])*  (rho);
-            f_NW =c1o4*( mu[2][1][0]  + mu[2][2][0]- mu[2][2][2] - mu[2][1][2] -  mu[1][1][0]- mu[1][2][0]+ mu[1][2][2] + mu[1][1][2])* (rho);
-            f_TE=c1o4*(-mu[2][2][1] - mu[2][2][2] + mu[2][0][1] + mu[2][0][2] -   mu[1][2][1] - mu[1][2][2] + mu[1][0][1] + mu[1][0][2])*(rho);
-            f_BW=c1o4*( mu[2][2][1]  -mu[2][2][2] - mu[2][0][1] + mu[2][0][2] -   mu[1][2][1] + mu[1][2][2] + mu[1][0][1] - mu[1][0][2])*(rho);
-            f_BE=c1o4*(mu[2][2][1] - mu[2][2][2] - mu[2][0][1] + mu[2][0][2] +    mu[1][2][1] - mu[1][2][2] - mu[1][0][1] +mu[1][0][2])*  (rho);
-            f_TW=c1o4*(-mu[2][2][1] - mu[2][2][2] + mu[2][0][1] + mu[2][0][2] +   mu[1][2][1] + mu[1][2][2] - mu[1][0][1] -mu[1][0][2])* (rho);
-            f_TN=c1o4*(-mu[2][2][1] - mu[2][2][2] - mu[2][1][1] - mu[2][1][2] +   mu[0][2][1] + mu[0][2][2] + mu[0][1][1]+mu[0][1][2])*  (rho);
-            f_BS=c1o4*( mu[2][2][1] - mu[2][2][2] - mu[2][1][1] + mu[2][1][2] -   mu[0][2][1] + mu[0][2][2] + mu[0][1][1] - mu[0][1][2])*(rho);
-            f_BN=c1o4*( mu[2][2][1] - mu[2][2][2] + mu[2][1][1] - mu[2][1][2] -   mu[0][2][1] + mu[0][2][2] - mu[0][1][1] + mu[0][1][2])*(rho);
-            f_TS=c1o4*(-mu[2][2][1] - mu[2][2][2] + mu[2][1][1] + mu[2][1][2] +   mu[0][2][1] + mu[0][2][2] - mu[0][1][1] -mu[0][1][2])* (rho);
-            f_ZERO=     (-mu[2][0][0] + mu[2][2][0] - mu[2][2][2] + mu[2][0][2] - mu[0][2][0] + mu[0][2][2] - mu[0][0][2] + mu[0][0][0])*(rho);
-            f_TNE=c1o8*( mu[2][2][1] + mu[2][2][2] + mu[2][1][1] + mu[2][1][2] + mu[1][2][1] + mu[1][2][2] + mu[1][1][1] + mu[1][1][2])*  (rho);
-            f_BNE=c1o8*(-mu[2][2][1] + mu[2][2][2] -mu[2][1][1] + mu[2][1][2]  - mu[1][2][1] + mu[1][2][2] -mu[1][1][1] + mu[1][1][2])*     (rho);
-            f_TSE=c1o8*( mu[2][2][1] + mu[2][2][2] - mu[2][1][1] - mu[2][1][2] + mu[1][2][1] + mu[1][2][2] - mu[1][1][1] - mu[1][1][2])*  (rho);
-            f_BSE=c1o8*(-mu[2][2][1] + mu[2][2][2] +mu[2][1][1] - mu[2][1][2]  - mu[1][2][1] + mu[1][2][2] +mu[1][1][1] - mu[1][1][2])*     (rho);
-            f_TNW=c1o8*( mu[2][2][1] + mu[2][2][2] + mu[2][1][1] + mu[2][1][2] - mu[1][2][1] - mu[1][2][2] - mu[1][1][1] - mu[1][1][2])*  (rho);
-            f_BNW=c1o8*(-mu[2][2][1] + mu[2][2][2] -mu[2][1][1] + mu[2][1][2] +  mu[1][2][1] - mu[1][2][2] +mu[1][1][1] - mu[1][1][2])*     (rho);
-            f_TSW=c1o8*( mu[2][2][1] + mu[2][2][2] - mu[2][1][1] - mu[2][1][2] - mu[1][2][1] - mu[1][2][2] + mu[1][1][1] + mu[1][1][2])*  (rho);
-            f_BSW=c1o8*(-mu[2][2][1] + mu[2][2][2]+mu[2][1][1] - mu[2][1][2]+    mu[1][2][1] - mu[1][2][2]-mu[1][1][1] + mu[1][1][2])*(rho);
-          }
-        }
-
-       (D.f[ dP00  ])[ke ] = f_W-c2o27;
-       (D.f[ dM00  ])[kw ] = f_E-c2o27;
-
-       (D.f[ d0P0  ])[kn ] = f_S-c2o27;
-       (D.f[ d0M0  ])[ks ] = f_N-c2o27;
-       (D.f[ d00P  ])[kt ] = f_B-c2o27;
-       (D.f[ d00M  ])[kb ] = f_T-c2o27;
-
-       (D.f[ dPP0 ])[kne] = f_SW-c1o54;
-       (D.f[ dMM0 ])[ksw] = f_NE-c1o54;
-       (D.f[ dPM0 ])[kse] = f_NW-c1o54;
-       (D.f[ dMP0 ])[knw] = f_SE-c1o54;
-       (D.f[ dP0P ])[kte] = f_BW-c1o54;
-       (D.f[ dM0M ])[kbw] = f_TE-c1o54;
-       (D.f[ dP0M ])[kbe] = f_TW-c1o54;
-       (D.f[ dM0P ])[ktw] = f_BE-c1o54;
-
-       (D.f[ d0PP ])[ktn] = f_BS-c1o54;
-       (D.f[ d0MM ])[kbs] = f_TN-c1o54;
-       (D.f[ d0PM ])[kbn] = f_TS-c1o54;
-       (D.f[ d0MP ])[kts] = f_BN-c1o54;
-
-       (D.f[ d000])[k] = f_ZERO-c8o27;
-
-       (D.f[ dPPP ])[ktne] = f_BSW-c1o216;
-       (D.f[ dPMP ])[ktse] = f_BNW-c1o216;
-       (D.f[ dPPM ])[kbne] = f_TSW-c1o216;
-       (D.f[ dPMM ])[kbse] = f_TNW-c1o216;
-       (D.f[ dMPP ])[ktnw] = f_BSE-c1o216;
-       (D.f[ dMMP ])[ktsw] = f_BNE-c1o216;
-       (D.f[ dMPM ])[kbnw] = f_TSE-c1o216;
-       (D.f[ dMMM ])[kbsw] = f_TNE-c1o216;
-      }
-     __syncthreads();
-     }
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Casc27(real omega,
-                                            unsigned int* bcMatD,
-                                            unsigned int* neighborX,
-                                            unsigned int* neighborY,
-                                            unsigned int* neighborZ,
-                                            real* DDStart,
-                                            unsigned long long numberOfLBnodes,
-                                            bool EvenOrOdd)
-{
-   ////////////////////////////////////////////////////////////////////////////////
-   int  k;                   // Zugriff auf arrays im device
-   //
-   int tx = threadIdx.x;     // Thread index = lokaler i index
-   int by = blockIdx.x;      // Block index x
-   int bz = blockIdx.y;      // Block index y
-   int  x = tx + STARTOFFX;  // Globaler x-Index
-   int  y = by + STARTOFFY;  // Globaler y-Index
-   int  z = bz + STARTOFFZ;  // Globaler z-Index
-   //vom 10.06.:
-   const unsigned sizeX = blockDim.x;
-   const unsigned sizeY = gridDim.x;
-
-   const unsigned nx = sizeX + 2 * STARTOFFX;
-   const unsigned ny = sizeY + 2 * STARTOFFY;
-
-   k = nx*(ny*z + y) + x;
-   ////////////////////////////////////////////////////////////////////////////////
-   unsigned int BC;
-   BC        =   bcMatD[k];
-
-   if( (BC != GEO_SOLID) && (BC != GEO_VOID))
-   {
-      Distributions27 D;
-      if (EvenOrOdd==true)
-      {
-         D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-         D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-         D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-         D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-         D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-         D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-         D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-         D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-         D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-         D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-         D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-         D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-         D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-         D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-         D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-         D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-         D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-         D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-         D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-         D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-         D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-         D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-         D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-         D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-         D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-         D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-         D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-      }
-      else
-      {
-         D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-         D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-         D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-         D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-         D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-         D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-         D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-         D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-         D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-         D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-         D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-         D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-         D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-         D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-         D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-         D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-         D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-         D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-         D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-         D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-         D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-         D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-         D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-         D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-         D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-         D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-         D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-      }
-
-      ////////////////////////////////////////////////////////////////////////////////
-      //index
-      unsigned int kzero= k;
-      unsigned int ke   = k;
-      unsigned int kw   = neighborX[k];
-      unsigned int kn   = k;
-      unsigned int ks   = neighborY[k];
-      unsigned int kt   = k;
-      unsigned int kb   = neighborZ[k];
-      unsigned int ksw  = neighborY[kw];
-      unsigned int kne  = k;
-      unsigned int kse  = ks;
-      unsigned int knw  = kw;
-      unsigned int kbw  = neighborZ[kw];
-      unsigned int kte  = k;
-      unsigned int kbe  = kb;
-      unsigned int ktw  = kw;
-      unsigned int kbs  = neighborZ[ks];
-      unsigned int ktn  = k;
-      unsigned int kbn  = kb;
-      unsigned int kts  = ks;
-      unsigned int ktse = ks;
-      unsigned int kbnw = kbw;
-      unsigned int ktnw = kw;
-      unsigned int kbse = kbs;
-      unsigned int ktsw = ksw;
-      unsigned int kbne = kb;
-      unsigned int ktne = k;
-      unsigned int kbsw = neighborZ[ksw];
-      //unsigned int nxny = nx*ny;
-      //unsigned int kzero= k;
-      //unsigned int ke   = k;
-      //unsigned int kw   = k + 1;
-      //unsigned int kn   = k;
-      //unsigned int ks   = k + nx;
-      //unsigned int kt   = k;
-      //unsigned int kb   = k + nxny;
-      //unsigned int ksw  = k + nx + 1;
-      //unsigned int kne  = k;
-      //unsigned int kse  = k + nx;
-      //unsigned int knw  = k + 1;
-      //unsigned int kbw  = k + nxny + 1;
-      //unsigned int kte  = k;
-      //unsigned int kbe  = k + nxny;
-      //unsigned int ktw  = k + 1;
-      //unsigned int kbs  = k + nxny + nx;
-      //unsigned int ktn  = k;
-      //unsigned int kbn  = k + nxny;
-      //unsigned int kts  = k + nx;
-      //unsigned int ktse = k + nx;
-      //unsigned int kbnw = k + nxny + 1;
-      //unsigned int ktnw = k + 1;
-      //unsigned int kbse = k + nxny + nx;
-      //unsigned int ktsw = k + nx + 1;
-      //unsigned int kbne = k + nxny;
-      //unsigned int ktne = k;
-      //unsigned int kbsw = k + nxny + nx + 1;
-      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-      real f_E,f_W,f_N,f_S,f_T,f_B,f_NE,f_SW,f_SE,f_NW,f_TE,f_BW,f_BE,f_TW,f_TN,f_BS,f_BN,f_TS,f_ZERO, f_TNE,f_TNW,f_TSE,f_TSW, f_BNE,f_BNW,f_BSE,f_BSW;
-      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-      f_E    =  (D.f[dP00])[ke]+c2o27;
-      f_W    =  (D.f[dM00])[kw]+c2o27;
-      f_N    =  (D.f[d0P0])[kn]+c2o27;
-      f_S    =  (D.f[d0M0])[ks]+c2o27;
-      f_T    =  (D.f[d00P])[kt]+c2o27;
-      f_B    =  (D.f[d00M])[kb]+c2o27;
-      f_NE   =  (D.f[dPP0])[kne]+c1o54;
-      f_SW   =  (D.f[dMM0])[ksw]+c1o54;
-      f_SE   =  (D.f[dPM0])[kse]+c1o54;
-      f_NW   =  (D.f[dMP0])[knw]+c1o54;
-      f_TE   =  (D.f[dP0P])[kte]+c1o54;
-      f_BW   =  (D.f[dM0M])[kbw]+c1o54;
-      f_BE   =  (D.f[dP0M])[kbe]+c1o54;
-      f_TW   =  (D.f[dM0P])[ktw]+c1o54;
-      f_TN   =  (D.f[d0PP])[ktn]+c1o54;
-      f_BS   =  (D.f[d0MM])[kbs]+c1o54;
-      f_BN   =  (D.f[d0PM])[kbn]+c1o54;
-      f_TS   =  (D.f[d0MP])[kts]+c1o54;
-      f_ZERO =  (D.f[d000])[kzero]+c8o27;
-      f_TNE   = (D.f[dPPP])[ktne]+c1o216;
-      f_TSW   = (D.f[dMMP])[ktsw]+c1o216;
-      f_TSE   = (D.f[dPMP])[ktse]+c1o216;
-      f_TNW   = (D.f[dMPP])[ktnw]+c1o216;
-      f_BNE   = (D.f[dPPM])[kbne]+c1o216;
-      f_BSW   = (D.f[dMMM])[kbsw]+c1o216;
-      f_BSE   = (D.f[dPMM])[kbse]+c1o216;
-      f_BNW   = (D.f[dMPM])[kbnw]+c1o216;
-      ////////////////////////////////////////////////////////////////////////////////
-
-      if( BC == GEO_FLUID || BC == GEO_VELO)
-      {
-         {
-            //    /////////////////////////version 13.04.
-            //   real drho     = f_ZERO+f_E +f_W +f_N +f_S +f_T +f_B +f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+ f_TNE+f_TSW+f_TSE+f_TNW+ f_BNE+f_BSW+f_BSE+f_BNW;
-            //   real vx1     =  f_E -f_W +f_NE-f_SW+f_SE-f_NW+f_TE-f_BW+f_BE-f_TW+ f_TNE-f_TSW+f_TSE-f_TNW+ f_BNE-f_BSW+f_BSE-f_BNW;
-            //   real vx2     =  f_N -f_S +f_NE-f_SW-f_SE+f_NW+f_TN-f_BS+f_BN-f_TS+ f_TNE-f_TSW-f_TSE+f_TNW+ f_BNE-f_BSW-f_BSE+f_BNW;
-            //   real vx3     =  f_T -f_B +f_TE-f_BW-f_BE+f_TW+f_TN-f_BS-f_BN+f_TS+ f_TNE+f_TSW+f_TSE+f_TNW- f_BNE-f_BSW-f_BSE-f_BNW;
-            ////   vx1=vx1/(drho); vx2=vx2/(drho); vx3=vx3/(drho);
-            //   //////////////////////////////////////////////////////////////////////////
-            //   //BGK
-            //   //////////////////////////////////////////////////////////////////////////
-
-
-            //   real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
-
-            //   f_ZERO = f_ZERO *(one+(-omega))-(-omega)*   c8over27*  (drho-cu_sq);
-            //   f_E    = f_E    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*( vx1        )+c9over2*( vx1        )*( vx1        )-cu_sq);
-            //   f_W    = f_W    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(-vx1        )+c9over2*(-vx1        )*(-vx1        )-cu_sq);
-            //   f_N    = f_N    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(    vx2     )+c9over2*(     vx2    )*(     vx2    )-cu_sq);
-            //   f_S    = f_S    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(   -vx2     )+c9over2*(    -vx2    )*(    -vx2    )-cu_sq);
-            //   f_T    = f_T    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(         vx3)+c9over2*(         vx3)*(         vx3)-cu_sq);
-            //   f_B    = f_B    *(one+(-omega))-(-omega)*   c2over27*  (drho+three*(        -vx3)+c9over2*(        -vx3)*(        -vx3)-cu_sq);
-            //   f_NE   = f_NE   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*( vx1+vx2    )+c9over2*( vx1+vx2    )*( vx1+vx2    )-cu_sq);
-            //   f_SW   = f_SW   *(one+(-omega))-(-omega)*   c1over54*  (drho+three*(-vx1-vx2    )+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cu_sq);
-            //   f_SE   = f_SE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1-vx2    )+c9over2*( vx1-vx2    )*( vx1-vx2    )-cu_sq);
-            //   f_NW   = f_NW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1+vx2    )+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cu_sq);
-            //   f_TE   = f_TE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    +vx3)+c9over2*( vx1    +vx3)*( vx1    +vx3)-cu_sq);
-            //   f_BW   = f_BW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    -vx3)+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cu_sq);
-            //   f_BE   = f_BE   *(one+(-omega))-(-omega)*    c1over54* (drho+three*( vx1    -vx3)+c9over2*( vx1    -vx3)*( vx1    -vx3)-cu_sq);
-            //   f_TW   = f_TW   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(-vx1    +vx3)+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cu_sq);
-            //   f_TN   = f_TN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2+vx3)+c9over2*(     vx2+vx3)*(     vx2+vx3)-cu_sq);
-            //   f_BS   = f_BS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2-vx3)+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cu_sq);
-            //   f_BN   = f_BN   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(     vx2-vx3)+c9over2*(     vx2-vx3)*(     vx2-vx3)-cu_sq);
-            //   f_TS   = f_TS   *(one+(-omega))-(-omega)*    c1over54* (drho+three*(    -vx2+vx3)+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cu_sq);
-            //   f_TNE  = f_TNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq);
-            //   f_BSW  = f_BSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq);
-            //   f_BNE  = f_BNE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq);
-            //   f_TSW  = f_TSW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq);
-            //   f_TSE  = f_TSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq);
-            //   f_BNW  = f_BNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq);
-            //   f_BSE  = f_BSE  *(one+(-omega))-(-omega)*    c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq);
-            //   f_TNW  = f_TNW  *(one+(-omega))-(-omega)*    c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq);
-
-            ///////////////////////version 13.04.
-            real rho   =  f_ZERO+f_E +f_W +f_N +f_S +f_T +f_B +f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+ f_TNE+f_TSW+f_TSE+f_TNW+ f_BNE+f_BSW+f_BSE+f_BNW;
-            //real rho    =  rho0 + one;
-            real vx     =  f_E -f_W +f_NE-f_SW+f_SE-f_NW+f_TE-f_BW+f_BE-f_TW+ f_TNE-f_TSW+f_TSE-f_TNW+ f_BNE-f_BSW+f_BSE-f_BNW;
-            real vy     =  f_N -f_S +f_NE-f_SW-f_SE+f_NW+f_TN-f_BS+f_BN-f_TS+ f_TNE-f_TSW-f_TSE+f_TNW+ f_BNE-f_BSW-f_BSE+f_BNW;
-            real vz     =  f_T -f_B +f_TE-f_BW-f_BE+f_TW+f_TN-f_BS-f_BN+f_TS+ f_TNE+f_TSW+f_TSE+f_TNW- f_BNE-f_BSW-f_BSE-f_BNW;
-            vx=vx/(rho); vy=vy/(rho); vz=vz/(rho);
-
-            real mu[3][3][3];
-
-            mu[2][0][0]=(f_E+f_W+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o3);
-            mu[0][2][0]=(f_N+f_S+f_NE+f_SW+f_SE+f_NW+f_TN+f_BS+f_BN+f_TS+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o3);
-            mu[0][0][2]=(f_T+f_B+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o3);
-            mu[1][1][0]=(f_NE-f_SE+f_SW-f_NW+f_TNE-f_TSE+f_BNE-f_BSE+f_TSW-f_TNW+f_BSW-f_BNW)/(rho);
-            mu[1][0][1]=(f_TE+f_BW-f_BE-f_TW+f_TNE-f_BNE+f_TSE-f_BSE-f_TNW+f_BNW-f_TSW+f_BSW)/(rho);
-            mu[0][1][1]=(f_TN+f_BS-f_BN-f_TS+f_TNE-f_BNE-f_TSE+f_BSE+f_TNW-f_BNW-f_TSW+f_BSW)/(rho);
-            mu[2][1][0]=(f_NE-f_SW-f_SE+f_NW+f_TNE+f_BNE-f_TSE-f_BSE+f_TNW+f_BNW-f_TSW-f_BSW)/(rho);
-            mu[1][2][0]=(f_NE-f_SW+f_SE-f_NW+f_TNE-f_TNW+f_BNE-f_BNW+f_TSE-f_TSW+f_BSE-f_BSW)/(rho);
-            mu[1][0][2]=(f_TE-f_BW+f_BE-f_TW+f_TNE-f_TNW+f_BNE-f_BNW+f_TSE-f_TSW+f_BSE-f_BSW)/(rho);
-            mu[1][1][1]=(f_TNE-f_BNE-f_TSE+f_BSE-f_TNW+f_BNW+f_TSW-f_BSW)/(rho);
-            mu[2][0][1]=(f_TE-f_BW-f_BE+f_TW+f_TNE-f_BNE+f_TSE-f_BSE+f_TNW-f_BNW+f_TSW-f_BSW)/(rho);
-            mu[0][2][1]=(f_TN-f_BS-f_BN+f_TS+f_TNE-f_BNE+f_TSE-f_BSE+f_TNW-f_BNW+f_TSW-f_BSW)/(rho);
-            mu[0][1][2]=(f_TN-f_BS+f_BN-f_TS+f_TNE+f_BNE-f_TSE-f_BSE+f_TNW+f_BNW-f_TSW-f_BSW)/(rho);
-            mu[2][2][0]=(f_NE+f_SW+f_SE+f_NW+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o9);
-            mu[1][2][1]=(f_TNE-f_BNE+f_TSE-f_BSE-f_TNW+f_BNW-f_TSW+f_BSW)/(rho);
-            mu[2][0][2]=(f_TE+f_BW+f_BE+f_TW+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o9);
-            mu[2][1][1]=(f_TNE-f_BNE-f_TSE+f_BSE+f_TNW-f_BNW-f_TSW+f_BSW)/(rho);
-            mu[1][1][2]=(f_TNE+f_BNE-f_TSE-f_BSE-f_TNW-f_BNW+f_TSW+f_BSW)/(rho);
-            mu[0][2][2]=(f_TN+f_BS+f_BN+f_TS+f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o9);
-            mu[2][2][1]=(f_TNE-f_BNE+f_TSE-f_BSE+f_TNW-f_BNW+f_TSW-f_BSW)/(rho);
-            mu[1][2][2]=(f_TNE-f_TNW+f_BNE-f_BNW+f_TSE-f_TSW+f_BSE-f_BSW)/(rho);
-            mu[2][1][2]=(f_TNE+f_BNE-f_TSE-f_BSE+f_TNW+f_BNW-f_TSW-f_BSW)/(rho);
-            mu[2][2][2]=(f_TNE+f_BNE+f_TSE+f_BSE+f_TNW+f_BNW+f_TSW+f_BSW)/(rho);//+(c1o27);
-            mu[0][0][0]=c1o1;
-            mu[1][0][0]=vx;
-            mu[0][1][0]=vy;
-            mu[0][0][1]=vz;
-
-            real M_zXX=c0o1;      real M_zYY=c0o1;      real M_zZZ=c0o1;      real M_zXY=c0o1;     real M_zXZ=c0o1;   real M_zYZ=c0o1;
-            real M_zXXY=c0o1;     real M_zXYY=c0o1;     real M_zXXZ=c0o1;     real M_zXZZ=c0o1;    real M_zYYZ=c0o1;  real M_zYZZ=c0o1;  real M_zXYZ=c0o1;
-            real M_zXXYY=c0o1;    real M_zXXZZ=c0o1;    real M_zYYZZ=c0o1;    real M_zXXYZ=c0o1;   real M_zXYYZ=c0o1; real M_zXYZZ=c0o1;
-            real M_zXXYYZ=c0o1;   real M_zXXYZZ=c0o1;   real M_zXYYZZ=c0o1;   real M_zXXYYZZ=c0o1;
-            real M_zXYeq=c0o1;    real M_zXZeq=c0o1;    real M_zYZeq=c0o1;    real M_zXYZeq=c0o1;
-            real M_zXXYZeq=c0o1;  real M_zXYYZeq=c0o1;  real M_zXYZZeq=c0o1;
-            real M_zXXYYZeq=c0o1; real M_zXXYZZeq=c0o1; real M_zXYYZZeq=c0o1; real M_zXXYYZZeq=c0o1;
-
-            M_zXXYYZZ=  -c5o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] * 
-               mu[1][0][0] +     mu[0][0][2] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] * 
-               mu[1][0][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][1] *     mu[1][0][0] * 
-               mu[1][0][0] - c2o1*mu[0][1][0] *     mu[0][1][2] *     mu[1][0][0] *     mu[1][0][0] + 
-               mu[0][0][1] *     mu[0][0][1] *     mu[0][2][0] *     mu[1][0][0] *     mu[1][0][0] -
-               c2o1*mu[0][0][1] *     mu[0][2][1] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][2][2] *
-               mu[1][0][0] *     mu[1][0][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *
-               mu[1][0][0] *     mu[1][0][1] - c2o1*mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] *
-               mu[1][0][2] + c4o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *
-               mu[1][1][0] - c8o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][1][1] +
-               c4o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][1][2] - c2o1*mu[0][0][1] *     mu[0][0][1] *
-               mu[1][0][0] *     mu[1][2][0] + c4o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][2][1] -
-               c2o1*mu[1][0][0] *     mu[1][2][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *
-               mu[0][1][0] *     mu[2][0][0] - c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *
-               mu[2][0][1] +     mu[0][1][0] *     mu[0][1][0] *     mu[2][0][2] - c2o1*mu[0][0][1] *
-               mu[0][0][1] *     mu[0][1][0] *     mu[2][1][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *
-               mu[2][1][1] - c2o1*mu[0][1][0] *     mu[2][1][2] +     mu[0][0][1] *     mu[0][0][1] *
-               mu[2][2][0] - c2o1*mu[0][0][1] *     mu[2][2][1] +     mu[2][2][2];  //5
-            M_zXXYYZ=    c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] - 
-               c2o1*mu[0][1][0] *     mu[0][1][1] *     mu[1][0][0] *     mu[1][0][0] -     mu[0][0][1] *
-               mu[0][2][0] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][2][1] *     mu[1][0][0] *
-               mu[1][0][0] - c2o1*mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][1] -
-               c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][1][0] + c4o1*mu[0][1][0] *
-               mu[1][0][0] *     mu[1][1][1] + c2o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][2][0] - 
-               c2o1*mu[1][0][0] *     mu[1][2][1] -     mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *
-               mu[2][0][0] +     mu[0][1][0] *     mu[0][1][0] *     mu[2][0][1] + c2o1*mu[0][0][1] *
-               mu[0][1][0] *     mu[2][1][0] - c2o1*mu[0][1][0] *     mu[2][1][1] -     mu[0][0][1] *
-               mu[2][2][0] +     mu[2][2][1]; //6
-            M_zXXYY=    -c3o1*mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][2][0] *
-               mu[1][0][0] *     mu[1][0][0] + c4o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][1][0] -
-               c2o1*mu[1][0][0] *     mu[1][2][0] +     mu[0][1][0] *     mu[0][1][0] *     mu[2][0][0] -
-               c2o1*mu[0][1][0] *     mu[2][1][0] +     mu[2][2][0]; //7
-            M_zXXYZZ=    c4o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] -
-               mu[0][0][2] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] - c2o1*mu[0][0][1] *
-               mu[0][1][1] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][1][2] *     mu[1][0][0] *
-               mu[1][0][0] - c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][1] +
-               c2o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][0][2] - c2o1*mu[0][0][1] *     mu[0][0][1] *
-               mu[1][0][0] *     mu[1][1][0] + c4o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][1][1] -
-               c2o1*mu[1][0][0] *     mu[1][1][2] -     mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *
-               mu[2][0][0] + c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[2][0][1] -     mu[0][1][0] *
-               mu[2][0][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[2][1][0] - c2o1*mu[0][0][1] *
-               mu[2][1][1] +     mu[2][1][2]; //8
-            M_zXXYZ=    -c3o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][1][1] *
-               mu[1][0][0] *     mu[1][0][0] + c2o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][0][1] +
-               c2o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][1][0] - c2o1*mu[1][0][0] *     mu[1][1][1] +
-               mu[0][0][1] *     mu[0][1][0] *     mu[2][0][0] -     mu[0][1][0] *     mu[2][0][1] - 
-               mu[0][0][1] *     mu[2][1][0] +     mu[2][1][1]; //9
-            M_zXXY=      c2o1*mu[0][1][0] *     mu[1][0][0] *     mu[1][0][0] - c2o1*mu[1][0][0] *     mu[1][1][0] -
-               mu[0][1][0] *     mu[2][0][0] +     mu[2][1][0]; //10
-            M_zXXZZ=    -c3o1*mu[0][0][1] *     mu[0][0][1] *     mu[1][0][0] *     mu[1][0][0] +     mu[0][0][2] *
-               mu[1][0][0] *     mu[1][0][0] + c4o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][0][1] -
-               c2o1*mu[1][0][0] *     mu[1][0][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[2][0][0] -
-               c2o1*mu[0][0][1] *     mu[2][0][1] +     mu[2][0][2]; //11
-            M_zXXZ=      c2o1*mu[0][0][1] *     mu[1][0][0] *     mu[1][0][0] - c2o1*mu[1][0][0] *     mu[1][0][1] -
-               mu[0][0][1] *     mu[2][0][0] +     mu[2][0][1]; //12
-            M_zXX=-          mu[1][0][0] *     mu[1][0][0] +     mu[2][0][0]; //13
-            M_zXYYZZ=    c4o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] -
-               mu[0][0][2] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] - c4o1*mu[0][0][1] * 
-               mu[0][1][0] *     mu[0][1][1] *     mu[1][0][0] + c2o1*mu[0][1][0] *     mu[0][1][2] *
-               mu[1][0][0] -     mu[0][0][1] *     mu[0][0][1] *     mu[0][2][0] *     mu[1][0][0] +
-               c2o1*mu[0][0][1] *     mu[0][2][1] *     mu[1][0][0] -     mu[0][2][2] *     mu[1][0][0] -
-               c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][1] +     mu[0][1][0] *
-               mu[0][1][0] *     mu[1][0][2] - c2o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *
-               mu[1][1][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][1][1] - c2o1*mu[0][1][0] *
-               mu[1][1][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[1][2][0] - c2o1*mu[0][0][1] *
-               mu[1][2][1] +     mu[1][2][2];    //14
-            M_zXYYZ=    -c3o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] + c2o1*mu[0][1][0] *
-               mu[0][1][1] *     mu[1][0][0] +     mu[0][0][1] *     mu[0][2][0] *     mu[1][0][0] - 
-               mu[0][2][1] *     mu[1][0][0] +     mu[0][1][0] *     mu[0][1][0] *     mu[1][0][1] + 
-               c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][1][0] - c2o1*mu[0][1][0] *     mu[1][1][1] - 
-               mu[0][0][1] *     mu[1][2][0] +     mu[1][2][1]; //15
-            M_zXYY=      c2o1*mu[0][1][0] *     mu[0][1][0] *     mu[1][0][0] -     mu[0][2][0] *     mu[1][0][0] -
-               c2o1*mu[0][1][0] *     mu[1][1][0] +     mu[1][2][0]; //16
-            M_zXYZZ=    -c3o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] +     mu[0][0][2] *
-               mu[0][1][0] *     mu[1][0][0] + c2o1*mu[0][0][1] *     mu[0][1][1] *     mu[1][0][0] -     
-               mu[0][1][2] *     mu[1][0][0] + c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][1] -     
-               mu[0][1][0] *     mu[1][0][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[1][1][0] - 
-               c2o1*mu[0][0][1] *     mu[1][1][1] +     mu[1][1][2]; //17
-            M_zXYZ=      c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[1][0][0] -     mu[0][1][1] *     mu[1][0][0] -
-               mu[0][1][0] *     mu[1][0][1] -     mu[0][0][1] *     mu[1][1][0] +     mu[1][ 1][ 1]; //18
-            M_zXY =         -mu[0][1][0] *     mu[1][0][0] +     mu[1][1][0]; //19
-            M_zXZZ=      c2o1*mu[0][0][1] *     mu[0][0][1] *     mu[1][0][0] -     mu[0][0][2] *     mu[1][0][0] -
-               c2o1*mu[0][0][1] *     mu[1][0][1] +     mu[1][0][2]; //20
-            M_zXZ =         -mu[0][0][1] *     mu[1][0][0] +     mu[1][0][1]; //21
-            M_zYYZZ=    -c3o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] +     mu[0][0][2] *
-               mu[0][1][0] *     mu[0][1][0] + c4o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][1] -
-               c2o1*mu[0][1][0] *     mu[0][1][2] +     mu[0][0][1] *     mu[0][0][1] *     mu[0][2][0] -
-               c2o1*mu[0][0][1] *     mu[0][2][1] +     mu[0][2][2]; //22
-            M_zYYZ=      c2o1*mu[0][0][1] *     mu[0][1][0] *     mu[0][1][0] - c2o1*mu[0][1][0] *     mu[0][1][1] -
-               mu[0][0][1] *     mu[0][2][0] +     mu[0][2][1]; //23
-            M_zYY  =        -mu[0][1][0] *     mu[0][1][0] +     mu[0][2][0]; //24
-            M_zYZZ =     c2o1*mu[0][0][1] *     mu[0][0][1] *     mu[0][1][0] -     mu[0][0][2] *     mu[0][1][0] -  
-               c2o1*mu[0][0][1] *     mu[0][1][1] +     mu[0][1][2]; //25
-            M_zYZ  =        -mu[0][0][1] *     mu[0][1][0] +     mu[0][1][1]; //26
-            M_zZZ  =        -mu[0][0][1] *     mu[0][0][1] +     mu[0][0][2]; //27
-
-            M_zXXYYZZeq=c1o27;
-            M_zXXYYZeq=c0o1;
-            M_zXXYZZeq=c0o1;
-            M_zXXYZeq=c0o1;
-            M_zXYYZZeq=c0o1;
-            M_zXYYZeq=c0o1;
-            M_zXYZZeq=c0o1;
-
-            real MXXpMYYpMZZ,MXXmMYY, MXXmMZZ, MXXYpMYZZ,MXXZpMYYZ,MXYYpMXZZ, MXXYmMYZZ,MXXZmMYYZ,MXYYmMXZZ, MXXYYppp,MXXYYpm2p, MXXYYppm2;
-            real MXXpMYYpMZZeq,MXXmMYYeq, MXXmMZZeq, MXXYpMYZZeq,MXXZpMYYZeq,MXYYpMXZZeq, MXXYmMYZZeq,MXXZmMYYZeq,MXYYmMXZZeq, MXXYYpppeq,MXXYYpm2peq, MXXYYppm2eq;
-
-            //coll faktoren:
-            real w1,w2,w3,w4,w5,w6,w7,w8,w9,w10;
-            w2=-c1o1;//-omega;
-            w7=-c1o1;
-            w9=-c1o1;
-            w10=-c1o1;
-            w1=-omega;
-            w3=-c1o1;
-            w4=-c1o1;
-            w5=-c1o1;
-            w6=-c1o1;
-            w8=-c1o1;
-            ////////lin kombi bilden:
-            MXXpMYYpMZZ = M_zXX + M_zYY + M_zZZ;
-            MXXmMYY = M_zXX - M_zYY;
-            MXXmMZZ = M_zXX - M_zZZ;
-
-            MXXYpMYZZ  =  M_zXXY+M_zYZZ;
-            MXXYmMYZZ  =  M_zXXY-M_zYZZ;
-            MXXZpMYYZ  =  M_zXXZ+M_zYYZ;
-            MXXZmMYYZ  =  M_zXXZ-M_zYYZ;
-            MXYYpMXZZ  =  M_zXYY+M_zXZZ;
-            MXYYmMXZZ  =  M_zXYY-M_zXZZ;
-
-            MXXYYppp  = M_zXXYY + M_zXXZZ + M_zYYZZ;
-            MXXYYpm2p = M_zXXYY - 2.0*M_zXXZZ + M_zYYZZ;
-            MXXYYppm2 = M_zXXYY + M_zXXZZ - 2.0*M_zYYZZ;
-            bool casc=false;
-            bool factorCasc=true;
-            if(casc)
-            {
-               MXXpMYYpMZZeq = c1o1;
-               MXXmMYYeq     = c2o1;
-               MXXmMZZeq     = c2o1;
-
-               MXXYpMYZZeq  =  c2o1;
-               MXXYmMYZZeq  =  c2o1;
-               MXXZpMYYZeq  =  c2o1;
-               MXXZmMYYZeq  =  c2o1;
-               MXYYpMXZZeq  =  c2o1;
-               MXYYmMXZZeq  =  c2o1;
-
-               MXXYYpppeq  = c1o3;
-               MXXYYpm2peq = c2o1;
-               MXXYYppm2eq = c2o1;
-
-               //relaxation:
-               MXXpMYYpMZZ -= w2*(MXXpMYYpMZZeq-MXXpMYYpMZZ);
-               MXXmMYY -=     w1*(MXXmMYYeq    -MXXmMYY);
-               MXXmMZZ -=     w1*(MXXmMZZeq    -MXXmMZZ);
-
-               MXXYpMYZZ  -=  w3*(MXXYpMYZZeq-MXXYpMYZZ);
-               MXXYmMYZZ  -=  w4*(MXXYmMYZZeq-MXXYmMYZZ);
-               MXXZpMYYZ  -=  w3*(MXXZpMYYZeq-MXXZpMYYZ);
-               MXXZmMYYZ  -=  w4*(MXXZmMYYZeq-MXXZmMYYZ);
-               MXYYpMXZZ  -=  w3*(MXYYpMXZZeq-MXYYpMXZZ);
-               MXYYmMXZZ  -=  w4*(MXYYmMXZZeq-MXYYmMXZZ);
-
-               MXXYYppp  -= w7*(MXXYYpppeq -MXXYYppp );
-               MXXYYpm2p -= w6*(MXXYYpm2peq-MXXYYpm2p);
-               MXXYYppm2 -= w6*(MXXYYppm2eq-MXXYYppm2);
-
-               M_zXXYYZZ=M_zXXYYZZ-w10*(M_zXXYYZZeq-M_zXXYYZZ);
-               M_zXZ=    M_zXZ-    w1*(M_zXZeq   - M_zXZ    );
-               M_zYZ=    M_zYZ-    w1*(M_zYZeq   - M_zYZ    );
-               M_zXY=    M_zXY-    w1*(M_zXYeq   - M_zXY    );
-
-               M_zXYZ=   M_zXYZ-   w5*(M_zXYZeq  - M_zXYZ   );
-
-               M_zXYYZ=  M_zXYYZ-  w8*(M_zXYYZeq - M_zXYYZ  );
-               M_zXYZZ=  M_zXYZZ-  w8*(M_zXYZZeq - M_zXYZZ  );
-               M_zXXYZ=  M_zXXYZ-  w8*(M_zXXYZeq - M_zXXYZ  );
-
-               M_zXXYYZ= M_zXXYYZ- w9*(M_zXXYYZeq- M_zXXYYZ );
-               M_zXXYZZ= M_zXXYZZ- w9*(M_zXXYZZeq- M_zXXYZZ );
-               M_zXYYZZ= M_zXYYZZ- w9*(M_zXYYZZeq- M_zXYYZZ );
-
-               ////////von Lin Kombis zurueck:
-               M_zXX =  c1o3 * MXXmMYY + c1o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-               M_zYY = -c2o3 * MXXmMYY + c1o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-               M_zZZ =  c1o3 * MXXmMYY - c2o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-
-               M_zXXY = (MXXYmMYZZ + MXXYpMYZZ)*c1o2;
-               M_zYZZ = c1o2*(-MXXYmMYZZ + MXXYpMYZZ);
-               M_zXYY =(MXYYmMXZZ + MXYYpMXZZ)*c1o2;
-               M_zXZZ = c1o2*(-MXYYmMXZZ + MXYYpMXZZ);
-               M_zXXZ = (MXXZmMYYZ + MXXZpMYYZ)*c1o2;
-               M_zYYZ = c1o2*(-MXXZmMYYZ + MXXZpMYYZ);
-
-               M_zXXYY =  c1o3* MXXYYpm2p + c1o3* MXXYYppm2 + c1o3*MXXYYppp;
-               M_zXXZZ = -c1o3* MXXYYpm2p + c1o3* MXXYYppp;
-               M_zYYZZ = -c1o3* MXXYYppm2 + c1o3* MXXYYppp;
-            }
-            else if (factorCasc)
-            {
-               MXXpMYYpMZZeq = c1o1;
-               MXXmMYYeq     = c2o1;
-               MXXmMZZeq     = c2o1;
-
-               MXXYpMYZZeq  =  c2o1;
-               MXXYmMYZZeq  =  c2o1;
-               MXXZpMYYZeq  =  c2o1;
-               MXXZmMYYZeq  =  c2o1;
-               MXYYpMXZZeq  =  c2o1;
-               MXYYmMXZZeq  =  c2o1;
-
-               MXXYYpppeq  =c1o3;
-               MXXYYpm2peq = c2o1;
-               MXXYYppm2eq = c2o1;
-
-               //relaxation:
-               MXXpMYYpMZZ -= w2*(MXXpMYYpMZZeq-MXXpMYYpMZZ);
-               MXXmMYY -=     w1*(MXXmMYYeq    -MXXmMYY);
-               MXXmMZZ -=     w1*(MXXmMZZeq    -MXXmMZZ);
-
-               MXXYpMYZZ  -=  w3*(MXXYpMYZZeq-MXXYpMYZZ);
-               MXXYmMYZZ  -=  w4*(MXXYmMYZZeq-MXXYmMYZZ);
-               MXXZpMYYZ  -=  w3*(MXXZpMYYZeq-MXXZpMYYZ);
-               MXXZmMYYZ  -=  w4*(MXXZmMYYZeq-MXXZmMYYZ);
-               MXYYpMXZZ  -=  w3*(MXYYpMXZZeq-MXYYpMXZZ);
-               MXYYmMXZZ  -=  w4*(MXYYmMXZZeq-MXYYmMXZZ);
-
-               M_zXZ=    M_zXZ-    w1*(M_zXZeq   - M_zXZ    );
-               M_zYZ=    M_zYZ-    w1*(M_zYZeq   - M_zYZ    );
-               M_zXY=    M_zXY-    w1*(M_zXYeq   - M_zXY    );
-               M_zXYZ=   M_zXYZ-   w5*(M_zXYZeq  - M_zXYZ   );
-
-               ////////von Lin Kombis zurueck:
-               M_zXX =  c1o3 * MXXmMYY + c1o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-               M_zYY = -c2o3 * MXXmMYY + c1o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-               M_zZZ =  c1o3 * MXXmMYY - c2o3 * MXXmMZZ +  c1o3 * MXXpMYYpMZZ;
-
-               M_zXXY = (MXXYmMYZZ + MXXYpMYZZ)*c1o2;
-               M_zYZZ = c1o2*(-MXXYmMYZZ + MXXYpMYZZ);
-               M_zXYY =(MXYYmMXZZ + MXYYpMXZZ)*c1o2;
-               M_zXZZ = c1o2*(-MXYYmMXZZ + MXYYpMXZZ);
-               M_zXXZ = (MXXZmMYYZ + MXXZpMYYZ)*c1o2;
-               M_zYYZ = c1o2*(-MXXZmMYYZ + MXXZpMYYZ);
-
-               //faktorisierte atraktoren:
-               MXXYYpppeq=M_zXX*M_zYY+M_zXX*M_zZZ+M_zZZ*M_zYY;    
-               MXXYYpm2peq=M_zXX*M_zYY-2.0*M_zXX*M_zZZ+M_zZZ*M_zYY; 
-               MXXYYppm2eq=M_zXX*M_zYY+M_zXX*M_zZZ-2.0*M_zZZ*M_zYY; 
-               M_zXYYZeq=M_zYY*M_zXZ;
-               M_zXYZZeq=M_zZZ*M_zXY;
-               M_zXXYZeq=M_zXX*M_zYZ;
-
-               M_zXXYYZeq=c0o1;
-               M_zXXYZZeq=c0o1;
-               M_zXYYZZeq=c0o1;
-
-               M_zXXYYZZeq=M_zXX*M_zYY*M_zZZ;
-
-               MXXYYppp  -= w7*(MXXYYpppeq -MXXYYppp );
-               MXXYYpm2p -= w6*(MXXYYpm2peq-MXXYYpm2p);
-               MXXYYppm2 -= w6*(MXXYYppm2eq-MXXYYppm2);
-               M_zXXYYZZ=M_zXXYYZZ-w10*(M_zXXYYZZeq-M_zXXYYZZ);
-               M_zXYYZ=  M_zXYYZ-  w8*(M_zXYYZeq - M_zXYYZ  );
-               M_zXYZZ=  M_zXYZZ-  w8*(M_zXYZZeq - M_zXYZZ  );
-               M_zXXYZ=  M_zXXYZ-  w8*(M_zXXYZeq - M_zXXYZ  );
-
-               M_zXXYYZ= M_zXXYYZ- w9*(M_zXXYYZeq- M_zXXYYZ );
-               M_zXXYZZ= M_zXXYZZ- w9*(M_zXXYZZeq- M_zXXYZZ );
-               M_zXYYZZ= M_zXYYZZ- w9*(M_zXYYZZeq- M_zXYYZZ );
-
-               M_zXXYY =  c1o3* MXXYYpm2p + c1o3* MXXYYppm2 + c1o3*MXXYYppp;
-               M_zXXZZ = -c1o3* MXXYYpm2p + c1o3* MXXYYppp;
-               M_zYYZZ = -c1o3* MXXYYppm2 + c1o3* MXXYYppp;
-            }
-            //real forcingX1=1.11986e-8;//1.41342e-8;//5.48288e-9;//<-96//1.03093e-8;//1.59178e-8;//1.6256e-8; 
-
-            //mu[1][0][0]+=forcingX1;
-
-            mu[2][ 2][ 2]= vx*vx*vy*vy*vz*vz + vx*vx*vy*vy*M_zZZ + c4o1*vx*vx*vy*vz*M_zYZ + c2o1* vx*vx*vy*M_zYZZ +
-               vx*vx*vz*vz*M_zYY + c2o1* vx*vx*vz*M_zYYZ +vx*vx*M_zYYZZ + c4o1*vx*vy*vy*vz*M_zXZ   +
-               c2o1* vx*vy*vy*M_zXZZ + c4o1* vx*vy*vz*vz*M_zXY+   c8o1* vx*vy*vz*M_zXYZ + c4o1* vx*vy*M_zXYZZ +
-               c2o1* vx*vz*vz*M_zXYY + c4o1* vx*vz*M_zXYYZ + c2o1*vx*M_zXYYZZ +   vy*vy*vz*vz*M_zXX + c2o1* vy*vy*vz*M_zXXZ  +
-               vy*vy*M_zXXZZ     + c2o1* vy*vz*vz*M_zXXY  + c4o1*vy*vz*M_zXXYZ +  c2o1* vy*M_zXXYZZ + vz*vz*M_zXXYY +c2o1* vz*M_zXXYYZ + M_zXXYYZZ;//-(c1o27);
-            mu[2][ 2][ 1]= vx*vx*vy*vy*vz + c2o1*vx*vx*vy*M_zYZ + vx*vx*vz*M_zYY +  vx*vx*M_zYYZ + c2o1*vx*vy*vy*M_zXZ +c4o1*vx*vy*vz*M_zXY +c4o1*vx*vy*M_zXYZ+
-               c2o1*vx*vz*M_zXYY + c2o1*vx*M_zXYYZ + vy*vy*vz*M_zXX +  vy*vy*M_zXXZ + c2o1* vy*vz*M_zXXY + c2o1*vy*M_zXXYZ +  vz*M_zXXYY + M_zXXYYZ;
-            mu[2][ 2][ 0]= vx*vx*vy*vy + vx*vx*M_zYY + c4o1*vx*vy*M_zXY +   c2o1*vx*M_zXYY + vy*vy*M_zXX + c2o1*vy*M_zXXY +  M_zXXYY ;//-(c1o9);
-            mu[2][ 1][ 2]= vx*vx*vy*vz*vz + vx*vx*vy*M_zZZ + c2o1*vx*vx*vz*M_zYZ +   vx*vx*M_zYZZ + c4o1*vx*vy*vz*M_zXZ+ //vy->vz
-               c2o1*vx*vy*M_zXZZ + c2o1*vx*vz*vz*M_zXY +   c4o1*vx*vz*M_zXYZ + c2o1*vx*M_zXYZZ + vy*vz*vz*M_zXX +
-               c2o1*vy*vz*M_zXXZ + vy*M_zXXZZ + vz*vz*M_zXXY +  c2o1*vz*M_zXXYZ + M_zXXYZZ;
-            mu[2][ 1][ 1]= vx*vx*vy*vz + vx*vx*M_zYZ + c2o1*vx*vy*M_zXZ + c2o1*vx*vz*M_zXY + c2o1*vx*M_zXYZ + vy*vz*M_zXX+  vy*M_zXXZ + vz*M_zXXY + M_zXXYZ;
-            mu[2][ 1][ 0]= vx*vx*vy + c2o1*vx*M_zXY + vy*M_zXX + M_zXXY;
-            mu[2][ 0][ 2]= vx*vx*vz*vz + vx*vx*M_zZZ + c4o1*vx*vz*M_zXZ+ c2o1*vx*M_zXZZ + vz*vz*M_zXX+ c2o1*vz*M_zXXZ + M_zXXZZ;//-(c1o9);
-            mu[2][ 0][ 1]= vx*vx*vz + c2o1*vx*M_zXZ + vz*M_zXX + M_zXXZ;
-            mu[2][ 0][ 0]= vx*vx + M_zXX ;//-(c1o3);
-            mu[1][ 2][ 2]= vx*vy*vy*vz*vz + vx*vy*vy*M_zZZ + c4o1*vx*vy*vz*M_zYZ +   c2o1*vx*vy*M_zYZZ + vx*vz*vz*M_zYY + c2o1*vx*vz*M_zYYZ +vx*M_zYYZZ + c2o1*vy*vy*vz*M_zXZ + vy*vy*M_zXZZ +
-               c2o1*vy*vz*vz*M_zXY + c4o1*vy*vz*M_zXYZ + c2o1*vy*M_zXYZZ +vz*vz*M_zXYY + c2o1*vz*M_zXYYZ + M_zXYYZZ;
-            mu[1][ 2][ 1]= vx*vy*vy*vz + c2o1*vx*vy*M_zYZ + vx*vz*M_zYY +   vx*M_zYYZ + vy*vy*M_zXZ + c2o1*vy*vz*M_zXY +   c2o1*vy*M_zXYZ + vz*M_zXYY + M_zXYYZ;
-            mu[1][ 2][ 0]= vx*vy*vy + vx*M_zYY + c2o1*vy*M_zXY + M_zXYY;
-            mu[1][ 1][ 2]= vx*vy*vz*vz+vx*vy*M_zZZ+c2o1*vx*vz*M_zYZ+vx*M_zYZZ+c2o1*vy*vz*M_zXZ+vy*M_zXZZ+vz*vz*M_zXY+c2o1*vz*M_zXYZ+M_zXYZZ;
-            mu[1][ 1][ 1]= vx*vy*vz + vx*M_zYZ + vy*M_zXZ + vz*M_zXY+M_zXYZ;
-            mu[1][ 1][ 0]= vx*vy+ M_zXY;
-            mu[1][ 0][ 2]= vx*vz*vz + vx*M_zZZ + c2o1*vz*M_zXZ + M_zXZZ;
-            mu[1][ 0][ 1]= vx*vz + M_zXZ;
-            //mu[1][ 0][ 0]= vx;
-            mu[0][ 2][ 2]= vy*vy*vz*vz + vy*vy*M_zZZ + c4o1*vy*vz*M_zYZ +c2o1*vy*M_zYZZ + vz*vz*M_zYY + c2o1*vz*M_zYYZ +  M_zYYZZ;//-(c1o9);
-            mu[0][ 2][ 1]= vy*vy*vz + c2o1*vy*M_zYZ + vz*M_zYY + M_zYYZ;
-            mu[0][ 2][ 0]= vy*vy + M_zYY ;//-(c1o3);
-            mu[0][ 1][ 2]= vy*vz*vz+ vy*M_zZZ + c2o1*vz*M_zYZ + M_zYZZ;
-            mu[0][ 1][ 1]= vy*vz + M_zYZ;
-            //mu[0][ 1][ 0]= vy ;                     //richtig?
-            mu[0][ 0][ 2]= vz*vz + M_zZZ;// -(c1o3);
-            //mu[0][ 0][ 1]= vz;
-            //mu[0][ 0][ 0]=rho0 ;
-
-            f_E =c1o2* (mu[2][0][0] -  mu[2][2][0] + mu[2][2][2] - mu[2][0][2] -   mu[1][2][0] + mu[1][2][2] - mu[1][0][2] +mu[1][0][0]) *(rho);
-            f_W =c1o2* (mu[2][0][0] - mu[2][2][0] + mu[2][2][2] - mu[2][0][2] +    mu[1][2][0] - mu[1][2][2] + mu[1][0][2] -mu[1][0][0])*  (rho);
-            f_N =c1o2* (-mu[2][1][0] - mu[2][2][0] + mu[2][2][2] + mu[2][1][2] +   mu[0][2][0] - mu[0][2][2] - mu[0][1][2] +mu[0][1][0])* (rho);
-            f_S =c1o2* (mu[2][1][0] -  mu[2][2][0] + mu[2][2][2] - mu[2][1][2] +   mu[0][2][0] - mu[0][2][2] + mu[0][1][2] -mu[0][1][0])* (rho);
-            f_T =c1o2* (mu[2][2][1] +  mu[2][2][2] - mu[2][0][1] - mu[2][0][2] -   mu[0][2][1] - mu[0][2][2] + mu[0][0][2] +mu[0][0][1])* (rho);
-            f_B =c1o2* (-mu[2][2][1] + mu[2][2][2] + mu[2][0][1]  - mu[2][0][2] +  mu[0][2][1] - mu[0][2][2] + mu[0][0][2]-mu[0][0][1])* (rho);
-            f_NE =c1o4*( mu[2][1][0]  + mu[2][2][0]- mu[2][2][2] - mu[2][1][2] +  mu[1][1][0]+ mu[1][2][0]- mu[1][2][2] -mu[1][1][2])*  (rho);
-            f_SW =c1o4*(-mu[2][1][0] + mu[2][2 ][0]- mu[2][2][2] + mu[2][1][2] +  mu[1][1][0]- mu[1][2][0]+ mu[1][2][2] -mu[1][1][2])*  (rho);
-            f_SE =c1o4*(-mu[2][1][0] + mu[2][2 ][0]- mu[2][2][2] + mu[2][1][2] -  mu[1][1][0]+ mu[1][2][0]- mu[1][2][2] +mu[1][1][2])*  (rho);
-            f_NW =c1o4*( mu[2][1][0]  + mu[2][2][0]- mu[2][2][2] - mu[2][1][2] -  mu[1][1][0]- mu[1][2][0]+ mu[1][2][2] + mu[1][1][2])* (rho);
-            f_TE=c1o4*(-mu[2][2][1] - mu[2][2][2] + mu[2][0][1] + mu[2][0][2] -   mu[1][2][1] - mu[1][2][2] + mu[1][0][1] + mu[1][0][2])*(rho);
-            f_BW=c1o4*( mu[2][2][1]  -mu[2][2][2] - mu[2][0][1] + mu[2][0][2] -   mu[1][2][1] + mu[1][2][2] + mu[1][0][1] - mu[1][0][2])*(rho);
-            f_BE=c1o4*(mu[2][2][1] - mu[2][2][2] - mu[2][0][1] + mu[2][0][2] +    mu[1][2][1] - mu[1][2][2] - mu[1][0][1] +mu[1][0][2])*  (rho);
-            f_TW=c1o4*(-mu[2][2][1] - mu[2][2][2] + mu[2][0][1] + mu[2][0][2] +   mu[1][2][1] + mu[1][2][2] - mu[1][0][1] -mu[1][0][2])* (rho);
-            f_TN=c1o4*(-mu[2][2][1] - mu[2][2][2] - mu[2][1][1] - mu[2][1][2] +   mu[0][2][1] + mu[0][2][2] + mu[0][1][1]+mu[0][1][2])*  (rho);
-            f_BS=c1o4*( mu[2][2][1] - mu[2][2][2] - mu[2][1][1] + mu[2][1][2] -   mu[0][2][1] + mu[0][2][2] + mu[0][1][1] - mu[0][1][2])*(rho);
-            f_BN=c1o4*( mu[2][2][1] - mu[2][2][2] + mu[2][1][1] - mu[2][1][2] -   mu[0][2][1] + mu[0][2][2] - mu[0][1][1] + mu[0][1][2])*(rho);
-            f_TS=c1o4*(-mu[2][2][1] - mu[2][2][2] + mu[2][1][1] + mu[2][1][2] +   mu[0][2][1] + mu[0][2][2] - mu[0][1][1] -mu[0][1][2])* (rho);
-            f_ZERO=     (-mu[2][0][0] + mu[2][2][0] - mu[2][2][2] + mu[2][0][2] - mu[0][2][0] + mu[0][2][2] - mu[0][0][2] + mu[0][0][0])*(rho);
-            f_TNE=c1o8*( mu[2][2][1] + mu[2][2][2] + mu[2][1][1] + mu[2][1][2] + mu[1][2][1] + mu[1][2][2] + mu[1][1][1] + mu[1][1][2])*  (rho);
-            f_BNE=c1o8*(-mu[2][2][1] + mu[2][2][2] -mu[2][1][1] + mu[2][1][2]  - mu[1][2][1] + mu[1][2][2] -mu[1][1][1] + mu[1][1][2])*     (rho);
-            f_TSE=c1o8*( mu[2][2][1] + mu[2][2][2] - mu[2][1][1] - mu[2][1][2] + mu[1][2][1] + mu[1][2][2] - mu[1][1][1] - mu[1][1][2])*  (rho);
-            f_BSE=c1o8*(-mu[2][2][1] + mu[2][2][2] +mu[2][1][1] - mu[2][1][2]  - mu[1][2][1] + mu[1][2][2] +mu[1][1][1] - mu[1][1][2])*     (rho);
-            f_TNW=c1o8*( mu[2][2][1] + mu[2][2][2] + mu[2][1][1] + mu[2][1][2] - mu[1][2][1] - mu[1][2][2] - mu[1][1][1] - mu[1][1][2])*  (rho);
-            f_BNW=c1o8*(-mu[2][2][1] + mu[2][2][2] -mu[2][1][1] + mu[2][1][2] +  mu[1][2][1] - mu[1][2][2] +mu[1][1][1] - mu[1][1][2])*     (rho);
-            f_TSW=c1o8*( mu[2][2][1] + mu[2][2][2] - mu[2][1][1] - mu[2][1][2] - mu[1][2][1] - mu[1][2][2] + mu[1][1][1] + mu[1][1][2])*  (rho);
-            f_BSW=c1o8*(-mu[2][2][1] + mu[2][2][2]+mu[2][1][1] - mu[2][1][2]+    mu[1][2][1] - mu[1][2][2]-mu[1][1][1] + mu[1][1][2])*(rho);
-         }
-      }
-
-      (D.f[ dP00  ])[ke ] = f_W-c2o27;
-      (D.f[ dM00  ])[kw ] = f_E-c2o27;
-
-      (D.f[ d0P0  ])[kn ] = f_S-c2o27;
-      (D.f[ d0M0  ])[ks ] = f_N-c2o27;
-      (D.f[ d00P  ])[kt ] = f_B-c2o27;
-      (D.f[ d00M  ])[kb ] = f_T-c2o27;
-
-      (D.f[ dPP0 ])[kne] = f_SW-c1o54;
-      (D.f[ dMM0 ])[ksw] = f_NE-c1o54;
-      (D.f[ dPM0 ])[kse] = f_NW-c1o54;
-      (D.f[ dMP0 ])[knw] = f_SE-c1o54;
-      (D.f[ dP0P ])[kte] = f_BW-c1o54;
-      (D.f[ dM0M ])[kbw] = f_TE-c1o54;
-      (D.f[ dP0M ])[kbe] = f_TW-c1o54;
-      (D.f[ dM0P ])[ktw] = f_BE-c1o54;
-
-      (D.f[ d0PP ])[ktn] = f_BS-c1o54;
-      (D.f[ d0MM ])[kbs] = f_TN-c1o54;
-      (D.f[ d0PM ])[kbn] = f_TS-c1o54;
-      (D.f[ d0MP ])[kts] = f_BN-c1o54;
-
-      (D.f[ d000])[k] = f_ZERO-c8o27;
-
-      (D.f[ dPPP ])[ktne] = f_BSW-c1o216;
-      (D.f[ dPMP ])[ktse] = f_BNW-c1o216;
-      (D.f[ dPPM ])[kbne] = f_TSW-c1o216;
-      (D.f[ dPMM ])[kbse] = f_TNW-c1o216;
-      (D.f[ dMPP ])[ktnw] = f_BSE-c1o216;
-      (D.f[ dMMP ])[ktsw] = f_BNE-c1o216;
-      (D.f[ dMPM ])[kbnw] = f_TSE-c1o216;
-      (D.f[ dMMM ])[kbsw] = f_TNE-c1o216;
-   }
-   __syncthreads();
-}
diff --git a/src/gpu/core/GPU/CudaMemoryManager.cpp b/src/gpu/core/GPU/CudaMemoryManager.cpp
index 1989bbbd225fc43554a21eaf61d192a2401b64c5..a3941bd4d8b7d76aade383ac32ea2bc9ff393f91 100644
--- a/src/gpu/core/GPU/CudaMemoryManager.cpp
+++ b/src/gpu/core/GPU/CudaMemoryManager.cpp
@@ -12,8 +12,6 @@
 #include "PreCollisionInteractor/Probes/Probe.h"
 #include <PreCollisionInteractor/PrecursorWriter.h>
 
-#include "Calculation/PorousMedia.h"
-
 #include "basics/constants/NumericConstants.h"
 
 
@@ -118,93 +116,94 @@ void CudaMemoryManager::cudaFreeCoordRotation(int lev)
 void CudaMemoryManager::cudaAllocBodyForce(int lev)
 {
     //Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->forceX_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->forceY_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->forceZ_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->forceX_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->forceY_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->forceZ_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
-	//////////////////////////////////////////////////////////////////////////
-	double tmp = 3. * (double)parameter->getParH(lev)->memSizeRealLBnodes;
-	setMemsizeGPU(tmp, false);
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->forceX_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->forceY_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->forceZ_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->forceX_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->forceY_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->forceZ_SP      ), parameter->getParH(lev)->memSizeRealLBnodes  ));
+    //////////////////////////////////////////////////////////////////////////
+    double tmp = 3. * (double)parameter->getParH(lev)->memSizeRealLBnodes;
+    setMemsizeGPU(tmp, false);
+
 }
 void CudaMemoryManager::cudaCopyBodyForce(int lev)
 {
-   	//copy host to device
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->forceX_SP,  parameter->getParH(lev)->forceX_SP,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->forceY_SP,  parameter->getParH(lev)->forceY_SP,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->forceZ_SP,  parameter->getParH(lev)->forceZ_SP,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
+       //copy host to device
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->forceX_SP,  parameter->getParH(lev)->forceX_SP,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->forceY_SP,  parameter->getParH(lev)->forceY_SP,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->forceZ_SP,  parameter->getParH(lev)->forceZ_SP,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
 
 }
 void CudaMemoryManager::cudaFreeBodyForce(int lev)
 {
-   	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->forceX_SP   ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->forceY_SP   ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->forceZ_SP   ));
+       checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->forceX_SP   ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->forceY_SP   ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->forceZ_SP   ));
 
 }
 //print
 void CudaMemoryManager::cudaCopyDataToHost(int lev)
 {
-	checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->velocityX   , parameter->getParD(lev)->velocityX   , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
-	checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->velocityY   , parameter->getParD(lev)->velocityY   , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
-	checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->velocityZ   , parameter->getParD(lev)->velocityZ   , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
-	checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->rho         , parameter->getParD(lev)->rho         , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
-	checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->pressure    , parameter->getParD(lev)->pressure    , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
+    checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->velocityX   , parameter->getParD(lev)->velocityX   , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
+    checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->velocityY   , parameter->getParD(lev)->velocityY   , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
+    checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->velocityZ   , parameter->getParD(lev)->velocityZ   , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
+    checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->rho         , parameter->getParD(lev)->rho         , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
+    checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->pressure    , parameter->getParD(lev)->pressure    , parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
 }
 //sparse
 void CudaMemoryManager::cudaAllocSP(int lev)
 {
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->typeOfGridNode), parameter->getParH(lev)->memSizeLonglongLBnodes));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->neighborX     ), parameter->getParH(lev)->memSizeLonglongLBnodes));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->neighborY     ), parameter->getParH(lev)->memSizeLonglongLBnodes));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->neighborZ     ), parameter->getParH(lev)->memSizeLonglongLBnodes));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->rho           ), parameter->getParH(lev)->memSizeRealLBnodes    ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityX     ), parameter->getParH(lev)->memSizeRealLBnodes    ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityY     ), parameter->getParH(lev)->memSizeRealLBnodes    ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityZ     ), parameter->getParH(lev)->memSizeRealLBnodes    ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressure      ), parameter->getParH(lev)->memSizeRealLBnodes    ));
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->typeOfGridNode    ), parameter->getParD(lev)->memSizeLonglongLBnodes));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->neighborX         ), parameter->getParD(lev)->memSizeLonglongLBnodes));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->neighborY         ), parameter->getParD(lev)->memSizeLonglongLBnodes));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->neighborZ         ), parameter->getParD(lev)->memSizeLonglongLBnodes));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->rho               ), parameter->getParD(lev)->memSizeRealLBnodes    ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityX         ), parameter->getParD(lev)->memSizeRealLBnodes    ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityY         ), parameter->getParD(lev)->memSizeRealLBnodes    ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityZ         ), parameter->getParD(lev)->memSizeRealLBnodes    ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressure          ), parameter->getParD(lev)->memSizeRealLBnodes    ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->distributions.f[0]), (unsigned long long)parameter->getD3Qxx()*(unsigned long long)parameter->getParD(lev)->memSizeRealLBnodes));
-	//////////////////////////////////////////////////////////////////////////
-	double tmp = 4. * (double)parameter->getParH(lev)->memSizeLonglongLBnodes + 5. * (double)parameter->getParH(lev)->memSizeRealLBnodes + (double)parameter->getD3Qxx() * (double)parameter->getParH(lev)->memSizeRealLBnodes;
-	setMemsizeGPU(tmp, false);
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->typeOfGridNode), parameter->getParH(lev)->memSizeLonglongLBnodes));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->neighborX     ), parameter->getParH(lev)->memSizeLonglongLBnodes));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->neighborY     ), parameter->getParH(lev)->memSizeLonglongLBnodes));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->neighborZ     ), parameter->getParH(lev)->memSizeLonglongLBnodes));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->rho           ), parameter->getParH(lev)->memSizeRealLBnodes    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityX     ), parameter->getParH(lev)->memSizeRealLBnodes    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityY     ), parameter->getParH(lev)->memSizeRealLBnodes    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityZ     ), parameter->getParH(lev)->memSizeRealLBnodes    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressure      ), parameter->getParH(lev)->memSizeRealLBnodes    ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->typeOfGridNode    ), parameter->getParD(lev)->memSizeLonglongLBnodes));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->neighborX         ), parameter->getParD(lev)->memSizeLonglongLBnodes));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->neighborY         ), parameter->getParD(lev)->memSizeLonglongLBnodes));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->neighborZ         ), parameter->getParD(lev)->memSizeLonglongLBnodes));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->rho               ), parameter->getParD(lev)->memSizeRealLBnodes    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityX         ), parameter->getParD(lev)->memSizeRealLBnodes    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityY         ), parameter->getParD(lev)->memSizeRealLBnodes    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityZ         ), parameter->getParD(lev)->memSizeRealLBnodes    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressure          ), parameter->getParD(lev)->memSizeRealLBnodes    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->distributions.f[0]), (unsigned long long)parameter->getD3Qxx()*(unsigned long long)parameter->getParD(lev)->memSizeRealLBnodes));
+    //////////////////////////////////////////////////////////////////////////
+    double tmp = 4. * (double)parameter->getParH(lev)->memSizeLonglongLBnodes + 5. * (double)parameter->getParH(lev)->memSizeRealLBnodes + (double)parameter->getD3Qxx() * (double)parameter->getParH(lev)->memSizeRealLBnodes;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopySP(int lev)
 {
-	//copy host to device
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->typeOfGridNode, parameter->getParH(lev)->typeOfGridNode,  parameter->getParH(lev)->memSizeLonglongLBnodes , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->neighborX     , parameter->getParH(lev)->neighborX     ,  parameter->getParH(lev)->memSizeLonglongLBnodes , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->neighborY     , parameter->getParH(lev)->neighborY     ,  parameter->getParH(lev)->memSizeLonglongLBnodes , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->neighborZ     , parameter->getParH(lev)->neighborZ     ,  parameter->getParH(lev)->memSizeLonglongLBnodes , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->rho           , parameter->getParH(lev)->rho           ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityX     , parameter->getParH(lev)->velocityX     ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityY     , parameter->getParH(lev)->velocityY     ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityZ     , parameter->getParH(lev)->velocityZ     ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressure      , parameter->getParH(lev)->pressure      ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
+    //copy host to device
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->typeOfGridNode, parameter->getParH(lev)->typeOfGridNode,  parameter->getParH(lev)->memSizeLonglongLBnodes , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->neighborX     , parameter->getParH(lev)->neighborX     ,  parameter->getParH(lev)->memSizeLonglongLBnodes , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->neighborY     , parameter->getParH(lev)->neighborY     ,  parameter->getParH(lev)->memSizeLonglongLBnodes , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->neighborZ     , parameter->getParH(lev)->neighborZ     ,  parameter->getParH(lev)->memSizeLonglongLBnodes , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->rho           , parameter->getParH(lev)->rho           ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityX     , parameter->getParH(lev)->velocityX     ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityY     , parameter->getParH(lev)->velocityY     ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityZ     , parameter->getParH(lev)->velocityZ     ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressure      , parameter->getParH(lev)->pressure      ,  parameter->getParH(lev)->memSizeRealLBnodes     , cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaFreeSP(int lev)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->typeOfGridNode ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityX      ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityY      ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityZ      ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->rho            ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressure       ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->neighborX      ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->neighborY      ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->neighborZ      ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->typeOfGridNode ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityX      ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityY      ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityZ      ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->rho            ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressure       ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->neighborX      ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->neighborY      ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->neighborZ      ));
 }
 void CudaMemoryManager::cudaAllocF3SP(int lev)
 {
@@ -238,227 +237,227 @@ void CudaMemoryManager::cudaAllocF3SP(int lev)
 //Velo
 void CudaMemoryManager::cudaAllocVeloBC(int lev)
 {
-	unsigned int mem_size_inflow_Q_k = sizeof(int)*parameter->getParH(lev)->velocityBC.numberOfBCnodes;
-	unsigned int mem_size_inflow_Q_q = sizeof(real)*parameter->getParH(lev)->velocityBC.numberOfBCnodes;
+    unsigned int mem_size_inflow_Q_k = sizeof(int)*parameter->getParH(lev)->velocityBC.numberOfBCnodes;
+    unsigned int mem_size_inflow_Q_q = sizeof(real)*parameter->getParH(lev)->velocityBC.numberOfBCnodes;
 
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.q27[0]),  parameter->getD3Qxx()*mem_size_inflow_Q_q ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.k),                             mem_size_inflow_Q_k ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.Vx),                            mem_size_inflow_Q_q ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.Vy),                            mem_size_inflow_Q_q ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.Vz),                            mem_size_inflow_Q_q ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.deltaVz),                       mem_size_inflow_Q_q ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.RhoBC),                         mem_size_inflow_Q_q ));
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.q27[0]),  parameter->getD3Qxx()*mem_size_inflow_Q_q ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.k),                             mem_size_inflow_Q_k ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.Vx),                            mem_size_inflow_Q_q ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.Vy),                            mem_size_inflow_Q_q ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.Vz),                            mem_size_inflow_Q_q ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.deltaVz),                       mem_size_inflow_Q_q ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->velocityBC.RhoBC),                         mem_size_inflow_Q_q ));
 
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.q27[0]),      parameter->getD3Qxx()*mem_size_inflow_Q_q ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.k),                                 mem_size_inflow_Q_k ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.Vx),                                mem_size_inflow_Q_q ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.Vy),                                mem_size_inflow_Q_q ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.Vz),                                mem_size_inflow_Q_q ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.deltaVz),                           mem_size_inflow_Q_q ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.q27[0]),      parameter->getD3Qxx()*mem_size_inflow_Q_q ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.k),                                 mem_size_inflow_Q_k ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.Vx),                                mem_size_inflow_Q_q ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.Vy),                                mem_size_inflow_Q_q ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.Vz),                                mem_size_inflow_Q_q ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->velocityBC.deltaVz),                           mem_size_inflow_Q_q ));
 
-	//////////////////////////////////////////////////////////////////////////
-	double tmp = (double)mem_size_inflow_Q_k + 4. * (double)mem_size_inflow_Q_q + (double)parameter->getD3Qxx() * (double)mem_size_inflow_Q_q;
+    //////////////////////////////////////////////////////////////////////////
+    double tmp = (double)mem_size_inflow_Q_k + 4. * (double)mem_size_inflow_Q_q + (double)parameter->getD3Qxx() * (double)mem_size_inflow_Q_q;
     setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyVeloBC(int lev)
 {
-	unsigned int mem_size_inflow_Q_k = sizeof(int)*parameter->getParH(lev)->velocityBC.numberOfBCnodes;
-	unsigned int mem_size_inflow_Q_q = sizeof(real)*parameter->getParH(lev)->velocityBC.numberOfBCnodes;
+    unsigned int mem_size_inflow_Q_k = sizeof(int)*parameter->getParH(lev)->velocityBC.numberOfBCnodes;
+    unsigned int mem_size_inflow_Q_q = sizeof(real)*parameter->getParH(lev)->velocityBC.numberOfBCnodes;
 
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.q27[0],  parameter->getParH(lev)->velocityBC.q27[0], parameter->getD3Qxx()* mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.k,       parameter->getParH(lev)->velocityBC.k,                             mem_size_inflow_Q_k,  cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.Vx,      parameter->getParH(lev)->velocityBC.Vx,                            mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.Vy,      parameter->getParH(lev)->velocityBC.Vy,                            mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.Vz,      parameter->getParH(lev)->velocityBC.Vz,                            mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.deltaVz, parameter->getParH(lev)->velocityBC.deltaVz,                       mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.q27[0],  parameter->getParH(lev)->velocityBC.q27[0], parameter->getD3Qxx()* mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.k,       parameter->getParH(lev)->velocityBC.k,                             mem_size_inflow_Q_k,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.Vx,      parameter->getParH(lev)->velocityBC.Vx,                            mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.Vy,      parameter->getParH(lev)->velocityBC.Vy,                            mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.Vz,      parameter->getParH(lev)->velocityBC.Vz,                            mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->velocityBC.deltaVz, parameter->getParH(lev)->velocityBC.deltaVz,                       mem_size_inflow_Q_q,  cudaMemcpyHostToDevice));
 
 }
 
 void CudaMemoryManager::cudaFreeVeloBC(int lev)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.q27[0] ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.k      ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.Vx     ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.Vy     ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.Vz     ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.deltaVz));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.q27[0] ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.k      ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.Vx     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.Vy     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.Vz     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->velocityBC.deltaVz));
 }
 //Press
 void CudaMemoryManager::cudaAllocOutflowBC(int lev)
 {
-	unsigned int mem_size_outflow_Q_k = sizeof(int)*parameter->getParH(lev)->outflowBC.numberOfBCnodes;
-	unsigned int mem_size_outflow_Q_q = sizeof(real)*parameter->getParH(lev)->outflowBC.numberOfBCnodes;
+    unsigned int mem_size_outflow_Q_k = sizeof(int)*parameter->getParH(lev)->outflowBC.numberOfBCnodes;
+    unsigned int mem_size_outflow_Q_q = sizeof(real)*parameter->getParH(lev)->outflowBC.numberOfBCnodes;
 
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->outflowBC.q27[0]), parameter->getD3Qxx()*mem_size_outflow_Q_q ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->outflowBC.k),                            mem_size_outflow_Q_k ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->outflowBC.kN),                           mem_size_outflow_Q_k ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->outflowBC.RhoBC),                        mem_size_outflow_Q_q ));
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->outflowBC.q27[0]), parameter->getD3Qxx()*mem_size_outflow_Q_q ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->outflowBC.k),                            mem_size_outflow_Q_k ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->outflowBC.kN),                           mem_size_outflow_Q_k ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->outflowBC.RhoBC),                        mem_size_outflow_Q_q ));
 
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->outflowBC.q27[0]),     parameter->getD3Qxx()* mem_size_outflow_Q_q ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->outflowBC.k),                                 mem_size_outflow_Q_k ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->outflowBC.kN),                                mem_size_outflow_Q_k ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->outflowBC.RhoBC),                             mem_size_outflow_Q_q ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->outflowBC.q27[0]),     parameter->getD3Qxx()* mem_size_outflow_Q_q ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->outflowBC.k),                                 mem_size_outflow_Q_k ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->outflowBC.kN),                                mem_size_outflow_Q_k ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->outflowBC.RhoBC),                             mem_size_outflow_Q_q ));
 
-	//////////////////////////////////////////////////////////////////////////
-	double tmp = (double)mem_size_outflow_Q_q + 2. * (double)mem_size_outflow_Q_k + (double)parameter->getD3Qxx()*(double)mem_size_outflow_Q_q;
-	setMemsizeGPU(tmp, false);
+    //////////////////////////////////////////////////////////////////////////
+    double tmp = (double)mem_size_outflow_Q_q + 2. * (double)mem_size_outflow_Q_k + (double)parameter->getD3Qxx()*(double)mem_size_outflow_Q_q;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyOutflowBC(int lev)
 {
-	unsigned int mem_size_outflow_Q_k = sizeof(int)*parameter->getParH(lev)->outflowBC.numberOfBCnodes;
-	unsigned int mem_size_outflow_Q_q = sizeof(real)*parameter->getParH(lev)->outflowBC.numberOfBCnodes;
+    unsigned int mem_size_outflow_Q_k = sizeof(int)*parameter->getParH(lev)->outflowBC.numberOfBCnodes;
+    unsigned int mem_size_outflow_Q_q = sizeof(real)*parameter->getParH(lev)->outflowBC.numberOfBCnodes;
 
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->outflowBC.q27[0],  parameter->getParH(lev)->outflowBC.q27[0], parameter->getD3Qxx()* mem_size_outflow_Q_q,  cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->outflowBC.k,       parameter->getParH(lev)->outflowBC.k,                             mem_size_outflow_Q_k,  cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->outflowBC.kN,      parameter->getParH(lev)->outflowBC.kN,                            mem_size_outflow_Q_k,  cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->outflowBC.RhoBC,   parameter->getParH(lev)->outflowBC.RhoBC,                         mem_size_outflow_Q_q,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->outflowBC.q27[0],  parameter->getParH(lev)->outflowBC.q27[0], parameter->getD3Qxx()* mem_size_outflow_Q_q,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->outflowBC.k,       parameter->getParH(lev)->outflowBC.k,                             mem_size_outflow_Q_k,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->outflowBC.kN,      parameter->getParH(lev)->outflowBC.kN,                            mem_size_outflow_Q_k,  cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->outflowBC.RhoBC,   parameter->getParH(lev)->outflowBC.RhoBC,                         mem_size_outflow_Q_q,  cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaFreeOutflowBC(int lev)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->outflowBC.q27[0] ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->outflowBC.k      ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->outflowBC.kN     ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->outflowBC.RhoBC  ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->outflowBC.q27[0] ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->outflowBC.k      ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->outflowBC.kN     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->outflowBC.RhoBC  ));
 }
 //No-Slip
 void CudaMemoryManager::cudaAllocNoSlipBC(int lev)
 {
-	unsigned int mem_size_Q_k      = sizeof(int)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes;
-	unsigned int mem_size_Q_q      = sizeof(real)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes;
-	unsigned int mem_size_Q_value  = sizeof(long long)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes; //Geller
-	unsigned int mem_size_Q_q_read = sizeof(real)*parameter->getParH(lev)->numberOfNoSlipBCnodesRead;     //Geller
+    unsigned int mem_size_Q_k      = sizeof(int)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes;
+    unsigned int mem_size_Q_q      = sizeof(real)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes;
+    unsigned int mem_size_Q_value  = sizeof(long long)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes; //Geller
+    unsigned int mem_size_Q_q_read = sizeof(real)*parameter->getParH(lev)->numberOfNoSlipBCnodesRead;     //Geller
 
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->noSlipBC.q27[0]), parameter->getD3Qxx()*mem_size_Q_q      ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->noSlipBC.k),                            mem_size_Q_k      ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->noSlipBC.qread),                        mem_size_Q_q_read ));//Geller
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->noSlipBC.valueQ),                       mem_size_Q_value  ));//Geller
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->noSlipBC.q27[0]), parameter->getD3Qxx()*mem_size_Q_q      ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->noSlipBC.k),                            mem_size_Q_k      ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->noSlipBC.qread),                        mem_size_Q_q_read ));//Geller
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->noSlipBC.valueQ),                       mem_size_Q_value  ));//Geller
 
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->noSlipBC.q27[0]),     parameter->getD3Qxx()* mem_size_Q_q     ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->noSlipBC.k),                                 mem_size_Q_k     ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->noSlipBC.q27[0]),     parameter->getD3Qxx()* mem_size_Q_q     ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->noSlipBC.k),                                 mem_size_Q_k     ));
 
-	//////////////////////////////////////////////////////////////////////////
-	double tmp = (double)mem_size_Q_k + (double)parameter->getD3Qxx()*(double)mem_size_Q_q;
-	setMemsizeGPU(tmp, false);
+    //////////////////////////////////////////////////////////////////////////
+    double tmp = (double)mem_size_Q_k + (double)parameter->getD3Qxx()*(double)mem_size_Q_q;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyNoSlipBC(int lev)
 {
-	unsigned int mem_size_Q_k = sizeof(int)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes;
-	unsigned int mem_size_Q_q = sizeof(real)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes;
+    unsigned int mem_size_Q_k = sizeof(int)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes;
+    unsigned int mem_size_Q_q = sizeof(real)*parameter->getParH(lev)->noSlipBC.numberOfBCnodes;
 
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->noSlipBC.q27[0], parameter->getParH(lev)->noSlipBC.q27[0], parameter->getD3Qxx()* mem_size_Q_q,       cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->noSlipBC.k,      parameter->getParH(lev)->noSlipBC.k,                             mem_size_Q_k,       cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->noSlipBC.q27[0], parameter->getParH(lev)->noSlipBC.q27[0], parameter->getD3Qxx()* mem_size_Q_q,       cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->noSlipBC.k,      parameter->getParH(lev)->noSlipBC.k,                             mem_size_Q_k,       cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaFreeNoSlipBC(int lev)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->noSlipBC.q27[0]));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->noSlipBC.k));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->noSlipBC.valueQ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->noSlipBC.qread));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->noSlipBC.q27[0]));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->noSlipBC.k));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->noSlipBC.valueQ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->noSlipBC.qread));
 }
 //Geometrie
 void CudaMemoryManager::cudaAllocGeomBC(int lev)
 {
-	unsigned int mem_size_Q_k      = sizeof(int)*parameter->getParH(lev)->geometryBC.numberOfBCnodes;
-	unsigned int mem_size_Q_q      = sizeof(real)*parameter->getParH(lev)->geometryBC.numberOfBCnodes;
+    unsigned int mem_size_Q_k      = sizeof(int)*parameter->getParH(lev)->geometryBC.numberOfBCnodes;
+    unsigned int mem_size_Q_q      = sizeof(real)*parameter->getParH(lev)->geometryBC.numberOfBCnodes;
 
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->geometryBC.q27[0]), parameter->getD3Qxx()*mem_size_Q_q      ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->geometryBC.k),                            mem_size_Q_k      ));
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->geometryBC.q27[0]), parameter->getD3Qxx()*mem_size_Q_q      ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->geometryBC.k),                            mem_size_Q_k      ));
 
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->geometryBC.q27[0]),     parameter->getD3Qxx()* mem_size_Q_q     ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->geometryBC.k),                                 mem_size_Q_k     ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->geometryBC.q27[0]),     parameter->getD3Qxx()* mem_size_Q_q     ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->geometryBC.k),                                 mem_size_Q_k     ));
 
-	//////////////////////////////////////////////////////////////////////////
-	double tmp = (double)mem_size_Q_k + (double)parameter->getD3Qxx()*(double)mem_size_Q_q;
-	setMemsizeGPU(tmp, false);
+    //////////////////////////////////////////////////////////////////////////
+    double tmp = (double)mem_size_Q_k + (double)parameter->getD3Qxx()*(double)mem_size_Q_q;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyGeomBC(int lev)
 {
-	unsigned int mem_size_Q_k = sizeof(int)*parameter->getParH(lev)->geometryBC.numberOfBCnodes;
-	unsigned int mem_size_Q_q = sizeof(real)*parameter->getParH(lev)->geometryBC.numberOfBCnodes;
+    unsigned int mem_size_Q_k = sizeof(int)*parameter->getParH(lev)->geometryBC.numberOfBCnodes;
+    unsigned int mem_size_Q_q = sizeof(real)*parameter->getParH(lev)->geometryBC.numberOfBCnodes;
 
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->geometryBC.q27[0], parameter->getParH(lev)->geometryBC.q27[0], parameter->getD3Qxx()* mem_size_Q_q,       cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->geometryBC.k,      parameter->getParH(lev)->geometryBC.k,                             mem_size_Q_k,       cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->geometryBC.q27[0], parameter->getParH(lev)->geometryBC.q27[0], parameter->getD3Qxx()* mem_size_Q_q,       cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->geometryBC.k,      parameter->getParH(lev)->geometryBC.k,                             mem_size_Q_k,       cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaFreeGeomBC(int lev)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->geometryBC.q27[0]));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->geometryBC.k));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->geometryBC.q27[0]));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->geometryBC.k));
 }
 //Press
 void CudaMemoryManager::cudaAllocPress(int lev)
 {
-	unsigned int mem_size_Q_k      = sizeof(int)*parameter->getParH(lev)->pressureBC.numberOfBCnodes;
-	unsigned int mem_size_Q_q      = sizeof(real)*parameter->getParH(lev)->pressureBC.numberOfBCnodes;
+    unsigned int mem_size_Q_k      = sizeof(int)*parameter->getParH(lev)->pressureBC.numberOfBCnodes;
+    unsigned int mem_size_Q_q      = sizeof(real)*parameter->getParH(lev)->pressureBC.numberOfBCnodes;
 
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressureBC.q27[0]), parameter->getD3Qxx()*mem_size_Q_q      ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressureBC.k),                            mem_size_Q_k      ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressureBC.kN),                           mem_size_Q_k      ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressureBC.RhoBC),                        mem_size_Q_q      ));
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressureBC.q27[0]), parameter->getD3Qxx()*mem_size_Q_q      ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressureBC.k),                            mem_size_Q_k      ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressureBC.kN),                           mem_size_Q_k      ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->pressureBC.RhoBC),                        mem_size_Q_q      ));
 
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressureBC.q27[0]),     parameter->getD3Qxx()* mem_size_Q_q     ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressureBC.k),                                 mem_size_Q_k     ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressureBC.kN),                                mem_size_Q_k     ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressureBC.RhoBC),                             mem_size_Q_q     ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressureBC.q27[0]),     parameter->getD3Qxx()* mem_size_Q_q     ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressureBC.k),                                 mem_size_Q_k     ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressureBC.kN),                                mem_size_Q_k     ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->pressureBC.RhoBC),                             mem_size_Q_q     ));
 
-	//////////////////////////////////////////////////////////////////////////
-	double tmp = 2. * (double)mem_size_Q_k + (double)mem_size_Q_q + (double)parameter->getD3Qxx()*(double)mem_size_Q_q;
-	setMemsizeGPU(tmp, false);
+    //////////////////////////////////////////////////////////////////////////
+    double tmp = 2. * (double)mem_size_Q_k + (double)mem_size_Q_q + (double)parameter->getD3Qxx()*(double)mem_size_Q_q;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyPress(int lev)
 {
-	unsigned int mem_size_Q_k = sizeof(int)*parameter->getParH(lev)->pressureBC.numberOfBCnodes;
-	unsigned int mem_size_Q_q = sizeof(real)*parameter->getParH(lev)->pressureBC.numberOfBCnodes;
+    unsigned int mem_size_Q_k = sizeof(int)*parameter->getParH(lev)->pressureBC.numberOfBCnodes;
+    unsigned int mem_size_Q_q = sizeof(real)*parameter->getParH(lev)->pressureBC.numberOfBCnodes;
 
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressureBC.q27[0], parameter->getParH(lev)->pressureBC.q27[0], parameter->getD3Qxx()* mem_size_Q_q,       cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressureBC.k,      parameter->getParH(lev)->pressureBC.k,                  mem_size_Q_k,       cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressureBC.kN,     parameter->getParH(lev)->pressureBC.kN,                 mem_size_Q_k,       cudaMemcpyHostToDevice));
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressureBC.RhoBC,  parameter->getParH(lev)->pressureBC.RhoBC,              mem_size_Q_q,       cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressureBC.q27[0], parameter->getParH(lev)->pressureBC.q27[0], parameter->getD3Qxx()* mem_size_Q_q,       cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressureBC.k,      parameter->getParH(lev)->pressureBC.k,                  mem_size_Q_k,       cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressureBC.kN,     parameter->getParH(lev)->pressureBC.kN,                 mem_size_Q_k,       cudaMemcpyHostToDevice));
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->pressureBC.RhoBC,  parameter->getParH(lev)->pressureBC.RhoBC,              mem_size_Q_q,       cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaFreePress(int lev)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressureBC.q27[0]));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressureBC.k));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressureBC.kN));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressureBC.RhoBC));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressureBC.q27[0]));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressureBC.k));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressureBC.kN));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->pressureBC.RhoBC));
 }
 //Forcing
 void CudaMemoryManager::cudaAllocForcing()
 {
-	unsigned int mem_size = sizeof(real) * 3;
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->forcingH), mem_size));
+    unsigned int mem_size = sizeof(real) * 3;
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->forcingH), mem_size));
     parameter->forcingH[0] = parameter->getForcesDouble()[0];
     parameter->forcingH[1] = parameter->getForcesDouble()[1];
     parameter->forcingH[2] = parameter->getForcesDouble()[2];
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &parameter->forcingD, mem_size));
-	//////////////////////////////////////////////////////////////////////////
-	double tmp = (double)mem_size;
-	setMemsizeGPU(tmp, false);
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &parameter->forcingD, mem_size));
+    //////////////////////////////////////////////////////////////////////////
+    double tmp = (double)mem_size;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyForcingToDevice()
 {
-	unsigned int mem_size = sizeof(real) * 3;
-	checkCudaErrors( cudaMemcpy(parameter->forcingD, parameter->forcingH, mem_size, cudaMemcpyHostToDevice));
+    unsigned int mem_size = sizeof(real) * 3;
+    checkCudaErrors( cudaMemcpy(parameter->forcingD, parameter->forcingH, mem_size, cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyForcingToHost()
 {
-	unsigned int mem_size = sizeof(real) * 3;
-	checkCudaErrors( cudaMemcpy(parameter->forcingH, parameter->forcingD, mem_size, cudaMemcpyDeviceToHost));
+    unsigned int mem_size = sizeof(real) * 3;
+    checkCudaErrors( cudaMemcpy(parameter->forcingH, parameter->forcingD, mem_size, cudaMemcpyDeviceToHost));
 }
 void CudaMemoryManager::cudaFreeForcing()
 {
-	checkCudaErrors( cudaFreeHost(parameter->getForcesHost()));
+    checkCudaErrors( cudaFreeHost(parameter->getForcesHost()));
 }
 
 void CudaMemoryManager::cudaAllocLevelForcing(int level)
@@ -478,22 +477,22 @@ void CudaMemoryManager::cudaAllocLevelForcing(int level)
     parameter->getParH(level)->forcing[1] = parameter->forcingH[1] / fy_t;
     parameter->getParH(level)->forcing[2] = parameter->forcingH[2] / fz_t;
 
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &parameter->getParD(level)->forcing, mem_size));
-	//////////////////////////////////////////////////////////////////////////
-	const double tmp = (double)mem_size;
-	setMemsizeGPU(tmp, false);
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &parameter->getParD(level)->forcing, mem_size));
+    //////////////////////////////////////////////////////////////////////////
+    const double tmp = (double)mem_size;
+    setMemsizeGPU(tmp, false);
 }
 
 void CudaMemoryManager::cudaCopyLevelForcingToDevice(int level)
 {
-	unsigned int mem_size = sizeof(real) * 3;
-	checkCudaErrors( cudaMemcpy(parameter->getParD(level)->forcing, parameter->getParH(level)->forcing, mem_size, cudaMemcpyHostToDevice));
+    unsigned int mem_size = sizeof(real) * 3;
+    checkCudaErrors( cudaMemcpy(parameter->getParD(level)->forcing, parameter->getParH(level)->forcing, mem_size, cudaMemcpyHostToDevice));
 }
 
 void CudaMemoryManager::cudaFreeLevelForcing(int level)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(level)->forcing));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(level)->forcing));
     checkCudaErrors( cudaFree(parameter->getParD(level)->forcing));
 }
 
@@ -501,26 +500,26 @@ void CudaMemoryManager::cudaFreeLevelForcing(int level)
 //quadric Limiters
 void CudaMemoryManager::cudaAllocQuadricLimiters()
 {
-	unsigned int mem_size = sizeof(real) * 3;
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->quadricLimitersH), mem_size));
+    unsigned int mem_size = sizeof(real) * 3;
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->quadricLimitersH), mem_size));
     parameter->quadricLimitersH[0] = parameter->getQuadricLimitersDouble()[0];
     parameter->quadricLimitersH[1] = parameter->getQuadricLimitersDouble()[1];
     parameter->quadricLimitersH[2] = parameter->getQuadricLimitersDouble()[2];
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &parameter->quadricLimitersD, mem_size));
-	//////////////////////////////////////////////////////////////////////////
-	double tmp = (double)mem_size;
-	setMemsizeGPU(tmp, false);
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &parameter->quadricLimitersD, mem_size));
+    //////////////////////////////////////////////////////////////////////////
+    double tmp = (double)mem_size;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyQuadricLimitersToDevice()
 {
-	unsigned int mem_size = sizeof(real) * 3;
-	checkCudaErrors( cudaMemcpy(parameter->quadricLimitersD, parameter->quadricLimitersH, mem_size, cudaMemcpyHostToDevice));
+    unsigned int mem_size = sizeof(real) * 3;
+    checkCudaErrors( cudaMemcpy(parameter->quadricLimitersD, parameter->quadricLimitersH, mem_size, cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaFreeQuadricLimiters()
 {
-	checkCudaErrors( cudaFreeHost(parameter->getQuadricLimitersHost()));
+    checkCudaErrors( cudaFreeHost(parameter->getQuadricLimitersHost()));
 }
 
 //////////////////////////////////////////////////////////////////////////
@@ -529,45 +528,45 @@ void CudaMemoryManager::cudaFreeQuadricLimiters()
 //  X  /////////////////////////////////////////////////////////////////////////////
 void CudaMemoryManager::cudaAllocProcessNeighborX(int lev, unsigned int processNeighbor)
 {
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].index ),                             parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeFs    ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].index ),                             parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeFs    ));
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].index ),                             parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].index ),                             parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeFs    ));
 
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].index ),                                 parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].memsizeFs    ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].index ),                                 parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].memsizeFs    ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].index ),                                 parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].index ),                                 parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].memsizeFs    ));
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	double tmp = (double)parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeFs +
-				 (double)parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeFs;
-	setMemsizeGPU(tmp, false);
-	//printf("memsize GPU for neighbors %f \n",tmp/1000000.0);
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    double tmp = (double)parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeFs +
+                 (double)parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeFs;
+    setMemsizeGPU(tmp, false);
+    //printf("memsize GPU for neighbors %f \n",tmp/1000000.0);
 }
 void CudaMemoryManager::cudaCopyProcessNeighborXIndex(int lev, unsigned int processNeighbor)
 {
-	//copy send Index
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].index,
-								parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].index,
-								parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeIndex,
-								cudaMemcpyHostToDevice));
-	//copy recv Index
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].index,
-								parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].index,
-								parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeIndex,
-								cudaMemcpyHostToDevice));
+    //copy send Index
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].index,
+                                parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].index,
+                                parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].memsizeIndex,
+                                cudaMemcpyHostToDevice));
+    //copy recv Index
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].index,
+                                parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].index,
+                                parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].memsizeIndex,
+                                cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborXFsHD(int lev, unsigned int processNeighbor,
                                                      const unsigned int &memsizeFsRecv)
 {
     if (!parameter->getStreamManager()->streamIsRegistered(CudaStreamIndex::SubDomainBorder))
         checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].f[0],
-						 parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].f[0],
-						 parameter->getD3Qxx() * memsizeFsRecv,
-						 cudaMemcpyHostToDevice));
+                         parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].f[0],
+                         parameter->getD3Qxx() * memsizeFsRecv,
+                         cudaMemcpyHostToDevice));
     else
         checkCudaErrors( cudaMemcpyAsync(parameter->getParD(lev)->recvProcessNeighborX[processNeighbor].f[0],
                                          parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].f[0],
@@ -579,65 +578,65 @@ void CudaMemoryManager::cudaCopyProcessNeighborXFsDH(int lev, unsigned int proce
                                                      const unsigned int &memsizeFsSend)
 {  
     if (!parameter->getStreamManager()->streamIsRegistered(CudaStreamIndex::SubDomainBorder))
-    	checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].f[0],
-    								parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].f[0],
-    								parameter->getD3Qxx() * memsizeFsSend,
-    								cudaMemcpyDeviceToHost));
+        checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].f[0],
+                                    parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].f[0],
+                                    parameter->getD3Qxx() * memsizeFsSend,
+                                    cudaMemcpyDeviceToHost));
     else
         checkCudaErrors( cudaMemcpyAsync(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].f[0],
-    								     parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].f[0],
-    								     parameter->getD3Qxx() * memsizeFsSend,
-    								     cudaMemcpyDeviceToHost,
+                                         parameter->getParD(lev)->sendProcessNeighborX[processNeighbor].f[0],
+                                         parameter->getD3Qxx() * memsizeFsSend,
+                                         cudaMemcpyDeviceToHost,
                                          parameter->getStreamManager()->getStream(CudaStreamIndex::SubDomainBorder)));
 }
 void CudaMemoryManager::cudaFreeProcessNeighborX(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].index ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].f[0]     ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].index  ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].f[0]     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].index ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborX[processNeighbor].f[0]     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].index  ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborX[processNeighbor].f[0]     ));
 }
 //  Y  /////////////////////////////////////////////////////////////////////////////
 void CudaMemoryManager::cudaAllocProcessNeighborY(int lev, unsigned int processNeighbor)
 {
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].index ),                             parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeFs    ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].index ),                             parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeFs    ));
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].index ),                             parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].index ),                             parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeFs    ));
 
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].index ),                                 parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].memsizeFs    ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].index ),                                 parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].memsizeFs    ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].index ),                                 parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].index ),                                 parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].memsizeFs    ));
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	double tmp = (double)parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeFs +
-				 (double)parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeFs;
-	setMemsizeGPU(tmp, false);
-	//printf("memsize GPU for neighbors %f \n",tmp/1000000.0);
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    double tmp = (double)parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeFs +
+                 (double)parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeFs;
+    setMemsizeGPU(tmp, false);
+    //printf("memsize GPU for neighbors %f \n",tmp/1000000.0);
 }
 void CudaMemoryManager::cudaCopyProcessNeighborYIndex(int lev, unsigned int processNeighbor)
 {
-	//copy send Index
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].index,
-								parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].index,
-								parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeIndex,
-								cudaMemcpyHostToDevice));
-	//copy recv Index
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].index,
-								parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].index,
-								parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeIndex,
-								cudaMemcpyHostToDevice));
+    //copy send Index
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].index,
+                                parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].index,
+                                parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].memsizeIndex,
+                                cudaMemcpyHostToDevice));
+    //copy recv Index
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].index,
+                                parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].index,
+                                parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].memsizeIndex,
+                                cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborYFsHD(int lev, unsigned int processNeighbor, const unsigned int &memsizeFsRecv)
 {
     if (!parameter->getStreamManager()->streamIsRegistered(CudaStreamIndex::SubDomainBorder))
-	    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].f[0],
-								    parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].f[0],
-								    parameter->getD3Qxx() * memsizeFsRecv,
-								    cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].f[0],
+                                    parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].f[0],
+                                    parameter->getD3Qxx() * memsizeFsRecv,
+                                    cudaMemcpyHostToDevice));
     else
         checkCudaErrors( cudaMemcpyAsync(parameter->getParD(lev)->recvProcessNeighborY[processNeighbor].f[0],
                                          parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].f[0],
@@ -648,10 +647,10 @@ void CudaMemoryManager::cudaCopyProcessNeighborYFsHD(int lev, unsigned int proce
 void CudaMemoryManager::cudaCopyProcessNeighborYFsDH(int lev, unsigned int processNeighbor, const unsigned int &memsizeFsSend)
 {
     if (!parameter->getStreamManager()->streamIsRegistered(CudaStreamIndex::SubDomainBorder))
-	    checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].f[0],
-	    							parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].f[0],
-	    							parameter->getD3Qxx() * memsizeFsSend,
-	    							cudaMemcpyDeviceToHost));
+        checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].f[0],
+                                    parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].f[0],
+                                    parameter->getD3Qxx() * memsizeFsSend,
+                                    cudaMemcpyDeviceToHost));
     else
         checkCudaErrors( cudaMemcpyAsync(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].f[0],
                                          parameter->getParD(lev)->sendProcessNeighborY[processNeighbor].f[0],
@@ -661,58 +660,58 @@ void CudaMemoryManager::cudaCopyProcessNeighborYFsDH(int lev, unsigned int proce
 }
 void CudaMemoryManager::cudaFreeProcessNeighborY(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].index ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].f[0]     ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].index  ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].f[0]     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].index ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborY[processNeighbor].f[0]     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].index  ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborY[processNeighbor].f[0]     ));
 }
 //  Z  /////////////////////////////////////////////////////////////////////////////
 void CudaMemoryManager::cudaAllocProcessNeighborZ(int lev, unsigned int processNeighbor)
 {
-	//Host
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].index ),                             parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeFs    ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].index ),                             parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeFs    ));
+    //Host
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].index ),                             parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].index ),                             parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].f[0]  ),     parameter->getD3Qxx() * parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeFs    ));
 
-	//Device
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].index ),                                 parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].memsizeFs    ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].index ),                                 parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].memsizeIndex ));
-	checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].memsizeFs    ));
+    //Device
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].index ),                                 parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].index ),                                 parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].f[0]  ),         parameter->getD3Qxx() * parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].memsizeFs    ));
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	double tmp = (double)parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeFs +
-				 (double)parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeFs;
-	setMemsizeGPU(tmp, false);
-	//printf("memsize GPU for neighbors %f \n",tmp/1000000.0);
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    double tmp = (double)parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeFs +
+                 (double)parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeIndex + (double)parameter->getD3Qxx()*(double)parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeFs;
+    setMemsizeGPU(tmp, false);
+    //printf("memsize GPU for neighbors %f \n",tmp/1000000.0);
 }
 void CudaMemoryManager::cudaCopyProcessNeighborZIndex(int lev, unsigned int processNeighbor)
 {
-	//copy send Index
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].index,
-								parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].index,
-								parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeIndex,
-								cudaMemcpyHostToDevice));
-	//copy recv Index
-	checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].index,
-								parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].index,
-								parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeIndex,
-								cudaMemcpyHostToDevice));
+    //copy send Index
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].index,
+                                parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].index,
+                                parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].memsizeIndex,
+                                cudaMemcpyHostToDevice));
+    //copy recv Index
+    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].index,
+                                parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].index,
+                                parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].memsizeIndex,
+                                cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborZFsHD(int lev, unsigned int processNeighbor,
                                                      const unsigned int &memsizeFsRecv)
 {
     if (!parameter->getStreamManager()->streamIsRegistered(CudaStreamIndex::SubDomainBorder))
-	    checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].f[0],
-	    							parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].f[0],
-	    							parameter->getD3Qxx() * memsizeFsRecv,
-	    							cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].f[0],
+                                    parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].f[0],
+                                    parameter->getD3Qxx() * memsizeFsRecv,
+                                    cudaMemcpyHostToDevice));
     else
         checkCudaErrors( cudaMemcpyAsync(parameter->getParD(lev)->recvProcessNeighborZ[processNeighbor].f[0],
-	    				                 parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].f[0],
-	    				                 parameter->getD3Qxx() * memsizeFsRecv,
-	    				                 cudaMemcpyHostToDevice,
+                                         parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].f[0],
+                                         parameter->getD3Qxx() * memsizeFsRecv,
+                                         cudaMemcpyHostToDevice,
                                          parameter->getStreamManager()->getStream(CudaStreamIndex::SubDomainBorder)));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborZFsDH(int lev, unsigned int processNeighbor,
@@ -720,22 +719,22 @@ void CudaMemoryManager::cudaCopyProcessNeighborZFsDH(int lev, unsigned int proce
 {
     if (!parameter->getStreamManager()->streamIsRegistered(CudaStreamIndex::SubDomainBorder))
         checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].f[0],
-	        					    parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].f[0],
-	        					    parameter->getD3Qxx() * memsizeFsSend,
-	        					    cudaMemcpyDeviceToHost));
+                                    parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].f[0],
+                                    parameter->getD3Qxx() * memsizeFsSend,
+                                    cudaMemcpyDeviceToHost));
     else
         checkCudaErrors( cudaMemcpyAsync(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].f[0],
-	        						     parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].f[0],
-	        						     parameter->getD3Qxx() * memsizeFsSend,
-	        						     cudaMemcpyDeviceToHost,
+                                         parameter->getParD(lev)->sendProcessNeighborZ[processNeighbor].f[0],
+                                         parameter->getD3Qxx() * memsizeFsSend,
+                                         cudaMemcpyDeviceToHost,
                                          parameter->getStreamManager()->getStream(CudaStreamIndex::SubDomainBorder)));
 }
 void CudaMemoryManager::cudaFreeProcessNeighborZ(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].index ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].f[0]     ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].index  ));
-	checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].f[0]     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].index ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborZ[processNeighbor].f[0]     ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].index  ));
+    checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborZ[processNeighbor].f[0]     ));
 }
 //////////////////////////////////////////////////////////////////////////
 //Process Neighbors
@@ -743,179 +742,179 @@ void CudaMemoryManager::cudaFreeProcessNeighborZ(int lev, unsigned int processNe
 //  X  /////////////////////////////////////////////////////////////////////////////
 void CudaMemoryManager::cudaAllocProcessNeighborF3X(int lev, unsigned int processNeighbor)
 {
-	//Host
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].index), parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].g[0]),  parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeGs));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].index), parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].g[0]),  parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeGs));
+    //Host
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].index), parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].g[0]),  parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeGs));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].index), parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].g[0]),  parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeGs));
 
-	//Device
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].index), parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].g[0]),  parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].memsizeGs));
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].index), parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].g[0]),  parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].memsizeGs));
+    //Device
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].index), parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].g[0]),  parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].memsizeGs));
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].index), parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].g[0]),  parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].memsizeGs));
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	double tmp =
-		(double)parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeGs +
-		(double)parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeGs;
-	setMemsizeGPU(tmp, false);
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    double tmp =
+        (double)parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeGs +
+        (double)parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeGs;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyProcessNeighborF3XIndex(int lev, unsigned int processNeighbor)
 {
-	//copy send Index
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].index,
-		parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].index,
-		parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeIndex,
-		cudaMemcpyHostToDevice));
-	//copy recv Index
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].index,
-		parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].index,
-		parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeIndex,
-		cudaMemcpyHostToDevice));
+    //copy send Index
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].index,
+        parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].index,
+        parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].memsizeIndex,
+        cudaMemcpyHostToDevice));
+    //copy recv Index
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].index,
+        parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].index,
+        parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].memsizeIndex,
+        cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborF3XFsHD(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].g[0],
-		parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].g[0],
-		parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].memsizeGs,
-		cudaMemcpyHostToDevice));
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].g[0],
+        parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].g[0],
+        parameter->getParD(lev)->recvProcessNeighborF3X[processNeighbor].memsizeGs,
+        cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborF3XFsDH(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].g[0],
-		parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].g[0],
-		parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].memsizeGs,
-		cudaMemcpyDeviceToHost));
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].g[0],
+        parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].g[0],
+        parameter->getParD(lev)->sendProcessNeighborF3X[processNeighbor].memsizeGs,
+        cudaMemcpyDeviceToHost));
 }
 void CudaMemoryManager::cudaFreeProcessNeighborF3X(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].index));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].g[0]));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].index));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].g[0]));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].index));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3X[processNeighbor].g[0]));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].index));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3X[processNeighbor].g[0]));
 }
 //  Y  /////////////////////////////////////////////////////////////////////////////
 void CudaMemoryManager::cudaAllocProcessNeighborF3Y(int lev, unsigned int processNeighbor)
 {
-	//Host
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].index), parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].g[0]),  parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeGs));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].index), parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].g[0]),  parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeGs));
+    //Host
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].index), parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].g[0]),  parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeGs));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].index), parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].g[0]),  parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeGs));
 
-	//Device
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].index), parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].g[0]),  parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeGs));
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].index), parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].g[0]),  parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeGs));
+    //Device
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].index), parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].g[0]),  parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeGs));
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].index), parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].g[0]),  parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeGs));
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	double tmp =
-		(double)parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeGs +
-		(double)parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeGs;
-	setMemsizeGPU(tmp, false);
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    double tmp =
+        (double)parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeGs +
+        (double)parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeGs;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyProcessNeighborF3YIndex(int lev, unsigned int processNeighbor)
 {
-	//copy send Index
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].index,
-		parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].index,
-		parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeIndex,
-		cudaMemcpyHostToDevice));
-	//copy recv Index
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].index,
-		parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].index,
-		parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeIndex,
-		cudaMemcpyHostToDevice));
+    //copy send Index
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].index,
+        parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].index,
+        parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeIndex,
+        cudaMemcpyHostToDevice));
+    //copy recv Index
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].index,
+        parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].index,
+        parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeIndex,
+        cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborF3YFsHD(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].g[0],
-		parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].g[0],
-		parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeGs,
-		cudaMemcpyHostToDevice));
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].g[0],
+        parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].g[0],
+        parameter->getParD(lev)->recvProcessNeighborF3Y[processNeighbor].memsizeGs,
+        cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborF3YFsDH(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].g[0],
-		parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].g[0],
-		parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeGs,
-		cudaMemcpyDeviceToHost));
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].g[0],
+        parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].g[0],
+        parameter->getParD(lev)->sendProcessNeighborF3Y[processNeighbor].memsizeGs,
+        cudaMemcpyDeviceToHost));
 }
 void CudaMemoryManager::cudaFreeProcessNeighborF3Y(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].index));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].g[0]));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].index));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].g[0]));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].index));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3Y[processNeighbor].g[0]));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].index));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3Y[processNeighbor].g[0]));
 }
 //  Z  /////////////////////////////////////////////////////////////////////////////
 void CudaMemoryManager::cudaAllocProcessNeighborF3Z(int lev, unsigned int processNeighbor)
 {
-	//Host
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].index), parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].g[0]),  parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeGs));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].index), parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].g[0]),  parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeGs));
+    //Host
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].index), parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].g[0]),  parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeGs));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].index), parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].g[0]),  parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeGs));
 
-	//Device
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].index), parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].g[0]),  parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeGs));
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].index), parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeIndex));
-	checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].g[0]),  parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeGs));
+    //Device
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].index), parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].g[0]),  parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeGs));
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].index), parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeIndex));
+    checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].g[0]),  parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeGs));
 
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	double tmp =
-		(double)parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeGs +
-		(double)parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeGs;
-	setMemsizeGPU(tmp, false);
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    double tmp =
+        (double)parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeGs +
+        (double)parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeIndex + (double)parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeGs;
+    setMemsizeGPU(tmp, false);
 }
 void CudaMemoryManager::cudaCopyProcessNeighborF3ZIndex(int lev, unsigned int processNeighbor)
 {
-	//copy send Index
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].index,
-		parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].index,
-		parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeIndex,
-		cudaMemcpyHostToDevice));
-	//copy recv Index
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].index,
-		parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].index,
-		parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeIndex,
-		cudaMemcpyHostToDevice));
+    //copy send Index
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].index,
+        parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].index,
+        parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeIndex,
+        cudaMemcpyHostToDevice));
+    //copy recv Index
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].index,
+        parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].index,
+        parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeIndex,
+        cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborF3ZFsHD(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].g[0],
-		parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].g[0],
-		parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeGs,
-		cudaMemcpyHostToDevice));
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].g[0],
+        parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].g[0],
+        parameter->getParD(lev)->recvProcessNeighborF3Z[processNeighbor].memsizeGs,
+        cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborF3ZFsDH(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors(cudaMemcpy(
-		parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].g[0],
-		parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].g[0],
-		parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeGs,
-		cudaMemcpyDeviceToHost));
+    checkCudaErrors(cudaMemcpy(
+        parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].g[0],
+        parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].g[0],
+        parameter->getParD(lev)->sendProcessNeighborF3Z[processNeighbor].memsizeGs,
+        cudaMemcpyDeviceToHost));
 }
 void CudaMemoryManager::cudaFreeProcessNeighborF3Z(int lev, unsigned int processNeighbor)
 {
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].index));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].g[0]));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].index));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].g[0]));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].index));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->sendProcessNeighborF3Z[processNeighbor].g[0]));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].index));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->recvProcessNeighborF3Z[processNeighbor].g[0]));
 }
 //////////////////////////////////////////////////////////////////////////
 
@@ -943,35 +942,11 @@ void CudaMemoryManager::cudaAllocTurbulentViscosity(int lev)
 {
     //Host
     checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->turbViscosity), parameter->getParH(lev)->memSizeRealLBnodes));
-    //Debug
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gSij ), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gSDij), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gDxvx), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gDyvx), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gDzvx), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gDxvy), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gDyvy), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gDzvy), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gDxvz), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gDyvz), parameter->getParH(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->gDzvz), parameter->getParH(lev)->mem_size_real_SP));
 
     //Device
     checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->turbViscosity), parameter->getParD(lev)->memSizeRealLBnodes));
-    //Debug
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gSij ), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gSDij), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gDxvx), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gDyvx), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gDzvx), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gDxvy), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gDyvy), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gDzvy), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gDxvz), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gDyvz), parameter->getParD(lev)->mem_size_real_SP));
-    // checkCudaErrors(cudaMalloc((void**) &(parameter->getParD(lev)->gDzvz), parameter->getParD(lev)->mem_size_real_SP));
-    // //////////////////////////////////////////////////////////////////////////
-    // double tmp = (double)parameter->getParH(lev)->mem_size_real_SP * 12.0;
+
+    //////////////////////////////////////////////////////////////////////////
     double tmp = (double)parameter->getParH(lev)->memSizeRealLBnodes;
     setMemsizeGPU(tmp, false);
 }
@@ -979,51 +954,15 @@ void CudaMemoryManager::cudaCopyTurbulentViscosityHD(int lev)
 {
     //copy host to device
     checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->turbViscosity, parameter->getParH(lev)->turbViscosity, parameter->getParH(lev)->memSizeRealLBnodes, cudaMemcpyHostToDevice));
-    //Debug
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gSij , parameter->getParH(lev)->gSij , parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gSDij, parameter->getParH(lev)->gSDij, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gDxvx, parameter->getParH(lev)->gDxvx, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gDyvx, parameter->getParH(lev)->gDyvx, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gDzvx, parameter->getParH(lev)->gDzvx, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gDxvy, parameter->getParH(lev)->gDxvy, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gDyvy, parameter->getParH(lev)->gDyvy, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gDzvy, parameter->getParH(lev)->gDzvy, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gDxvz, parameter->getParH(lev)->gDxvz, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gDyvz, parameter->getParH(lev)->gDyvz, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
-    // checkCudaErrors(cudaMemcpy(parameter->getParD(lev)->gDzvz, parameter->getParH(lev)->gDzvz, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyTurbulentViscosityDH(int lev)
 {
     //copy device to host
     checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->turbViscosity, parameter->getParD(lev)->turbViscosity, parameter->getParH(lev)->memSizeRealLBnodes, cudaMemcpyDeviceToHost));
-    //Debug
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gSij , parameter->getParD(lev)->gSij , parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gSDij, parameter->getParD(lev)->gSDij, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gDxvx, parameter->getParD(lev)->gDxvx, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gDyvx, parameter->getParD(lev)->gDyvx, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gDzvx, parameter->getParD(lev)->gDzvx, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gDxvy, parameter->getParD(lev)->gDxvy, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gDyvy, parameter->getParD(lev)->gDyvy, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gDzvy, parameter->getParD(lev)->gDzvy, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gDxvz, parameter->getParD(lev)->gDxvz, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gDyvz, parameter->getParD(lev)->gDyvz, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
-    // checkCudaErrors(cudaMemcpy(parameter->getParH(lev)->gDzvz, parameter->getParD(lev)->gDzvz, parameter->getParH(lev)->mem_size_real_SP, cudaMemcpyDeviceToHost));
 }
 void CudaMemoryManager::cudaFreeTurbulentViscosity(int lev)
 {
     checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->turbViscosity));
-    //Debug
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gSij ));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gSDij));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gDxvx));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gDyvx));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gDzvx));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gDxvy));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gDyvy));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gDzvy));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gDxvz));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gDyvz));
-    // checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->gDzvz));
 }
 //turbulence intensity
 void CudaMemoryManager::cudaAllocTurbulenceIntensity(int lev, uint size)
@@ -2101,30 +2040,30 @@ void CudaMemoryManager::cudaFreeMeasurePointsIndex(int lev)
     checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->VzMP));
     checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->RhoMP));
 }
-void CudaMemoryManager::cudaAllocFsForCheckPointAndRestart(int lev)
+void CudaMemoryManager::cudaAllocFsForCheckPointAndRestart(int lev) const
 {
     checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->distributions.f[0] ),           (unsigned long long)parameter->getD3Qxx()*(unsigned long long)parameter->getParH(lev)->memSizeRealLBnodes));
 }
-void CudaMemoryManager::cudaAllocFsForAllLevelsOnHost()
+void CudaMemoryManager::cudaAllocFsForAllLevelsOnHost() const
 {
     for (int level = 0; level <= parameter->getMaxLevel(); level++) {
         cudaAllocFsForCheckPointAndRestart(level);
     }
 }
-void CudaMemoryManager::cudaCopyFsForRestart(int lev)
+void CudaMemoryManager::cudaCopyFsForRestart(int lev) const
 {
     checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->distributions.f[0],  parameter->getParH(lev)->distributions.f[0],     (unsigned long long)parameter->getD3Qxx()*(unsigned long long)parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyHostToDevice));
 }
-void CudaMemoryManager::cudaCopyFsForCheckPoint(int lev)
+void CudaMemoryManager::cudaCopyFsForCheckPoint(int lev) const
 {
     checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->distributions.f[0],  parameter->getParD(lev)->distributions.f[0],     (unsigned long long)parameter->getD3Qxx()*(unsigned long long)parameter->getParH(lev)->memSizeRealLBnodes , cudaMemcpyDeviceToHost));
 }
-void CudaMemoryManager::cudaCopyFsForAllLevelsToHost()
+void CudaMemoryManager::cudaCopyFsForAllLevelsToHost() const
 {
     for (int level = 0; level <= parameter->getMaxLevel(); level++)
         cudaCopyFsForCheckPoint(level);
 }
-void CudaMemoryManager::cudaFreeFsForCheckPointAndRestart(int lev)
+void CudaMemoryManager::cudaFreeFsForCheckPointAndRestart(int lev) const
 {
     checkCudaErrors( cudaFreeHost(parameter->getParH(lev)->distributions.f[0]));
 }
@@ -2561,42 +2500,6 @@ void CudaMemoryManager::cudaAllocRandomValues()
     setMemsizeGPU(tmp, false);
 }
 //////////////////////////////////////////////////////////////////////////
-//porous media
-void CudaMemoryManager::cudaAllocPorousMedia(PorousMedia* pm, int lev)
-{
-    unsigned int mem_size_IDsPM = sizeof(unsigned int)*pm->getSizePM();
-    unsigned int *tmpIDHost, *tmpIDDevice;
-    //std::cout << "cudaMallocHost" << endl;
-    //Host
-    checkCudaErrors(cudaMallocHost((void**) &(tmpIDHost), mem_size_IDsPM));
-
-    //std::cout << "cudaMalloc" << endl;
-    //Device
-    checkCudaErrors(cudaMalloc((void**) &(tmpIDDevice), mem_size_IDsPM));
-
-    //std::cout << "set Host and Device arrays PM" << endl;
-    //////////////////////////////////////////////////////////////////////////
-    pm->setHostNodeIDsPM(tmpIDHost);
-    pm->setDeviceNodeIDsPM(tmpIDDevice);
-    //////////////////////////////////////////////////////////////////////////
-    double tmp = (double)mem_size_IDsPM;
-    setMemsizeGPU(tmp, false);
-}
-void CudaMemoryManager::cudaCopyPorousMedia(PorousMedia* pm, int lev)
-{
-    unsigned int mem_size_IDsPM = sizeof(unsigned int)*pm->getSizePM();
-    unsigned int *tmpIDHost   = pm->getHostNodeIDsPM();
-    unsigned int *tmpIDDevice = pm->getDeviceNodeIDsPM();
-    //////////////////////////////////////////////////////////////////////////
-    checkCudaErrors(cudaMemcpy(tmpIDDevice, tmpIDHost, mem_size_IDsPM, cudaMemcpyHostToDevice));
-    //////////////////////////////////////////////////////////////////////////
-    pm->setDeviceNodeIDsPM(tmpIDDevice);
-}
-void CudaMemoryManager::cudaFreePorousMedia(PorousMedia* pm, int lev)
-{
-    checkCudaErrors(cudaFreeHost(pm->getHostNodeIDsPM()));
-}
-//////////////////////////////////////////////////////////////////////////
 //advection diffusion
 void CudaMemoryManager::cudaAllocConcentration(int lev)
 {
@@ -2624,16 +2527,9 @@ void CudaMemoryManager::cudaFreeConcentration(int lev)
 void CudaMemoryManager::cudaAllocTempFs(int lev)
 {
     //Device
-    if (parameter->getDiffMod() == 7)
-    {
-        checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->distributionsAD7.f[0]), parameter->getDiffMod()*parameter->getParH(lev)->memSizeRealLBnodes));
-    }
-    else if (parameter->getDiffMod() == 27)
-    {
-        checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->distributionsAD.f[0]), parameter->getDiffMod()*parameter->getParH(lev)->memSizeRealLBnodes));
-    }
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->distributionsAD.f[0]), 27*parameter->getParH(lev)->memSizeRealLBnodes));
     //////////////////////////////////////////////////////////////////////////
-    double tmp = (double)(parameter->getDiffMod() * parameter->getParH(lev)->memSizeRealLBnodes);
+    double tmp = (double)(27 * parameter->getParH(lev)->memSizeRealLBnodes);
     setMemsizeGPU(tmp, false);
 }
 //////////////////////////////////////////////////////////////////////////
@@ -2827,22 +2723,22 @@ void CudaMemoryManager::cudaFreeConcFile(int lev)
 //////////////////////////////////////////////////////////////////////////
 void CudaMemoryManager::cudaAllocMedianOutAD(int lev)
 {
-	//Host
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->rho_SP_Med_Out),   parameter->getParH(lev)->memSizeRealLBnodes));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->vx_SP_Med_Out),    parameter->getParH(lev)->memSizeRealLBnodes));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->vy_SP_Med_Out),    parameter->getParH(lev)->memSizeRealLBnodes));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->vz_SP_Med_Out),    parameter->getParH(lev)->memSizeRealLBnodes));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->press_SP_Med_Out), parameter->getParH(lev)->memSizeRealLBnodes));
-	checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->Conc_Med_Out),     parameter->getParH(lev)->memSizeRealLBnodes));
+    //Host
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->rho_SP_Med_Out),   parameter->getParH(lev)->memSizeRealLBnodes));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->vx_SP_Med_Out),    parameter->getParH(lev)->memSizeRealLBnodes));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->vy_SP_Med_Out),    parameter->getParH(lev)->memSizeRealLBnodes));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->vz_SP_Med_Out),    parameter->getParH(lev)->memSizeRealLBnodes));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->press_SP_Med_Out), parameter->getParH(lev)->memSizeRealLBnodes));
+    checkCudaErrors(cudaMallocHost((void**) &(parameter->getParH(lev)->Conc_Med_Out),     parameter->getParH(lev)->memSizeRealLBnodes));
 }
 void CudaMemoryManager::cudaFreeMedianOutAD(int lev)
 {
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->vx_SP_Med_Out));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->vy_SP_Med_Out));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->vz_SP_Med_Out));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->rho_SP_Med_Out));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->press_SP_Med_Out));
-	checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->Conc_Med_Out));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->vx_SP_Med_Out));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->vy_SP_Med_Out));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->vz_SP_Med_Out));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->rho_SP_Med_Out));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->press_SP_Med_Out));
+    checkCudaErrors(cudaFreeHost(parameter->getParH(lev)->Conc_Med_Out));
 }
 
 
@@ -2913,23 +2809,23 @@ void CudaMemoryManager::cudaFreeProcessNeighbor(int lev, unsigned int processNei
 void CudaMemoryManager::cudaAllocProcessNeighborADX(int lev, unsigned int processNeighbor)
 {
     //Host
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].index ),                  parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].f[0]  ),	parameter->getDiffMod() * parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].memsizeFs    ));
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].index ),                  parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].f[0]  ),   parameter->getDiffMod() * parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].index ),      parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].f[0]  ), 27 * parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].index ),      parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].f[0]  ), 27 * parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].memsizeFs    ));
 
     //Device
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].index ),                      parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].f[0]  ),       parameter->getDiffMod() * parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].memsizeFs    ));
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].index ),                      parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].f[0]  ),       parameter->getDiffMod() * parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].index ),      parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].f[0]  ), 27 * parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].index ), parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].f[0]  ), 27 * parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].memsizeFs    ));
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     double tmp =
         (double)parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].memsizeIndex +
-        (double)parameter->getDiffMod()*(double)parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].memsizeFs +
+        (double)27.0*(double)parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].memsizeFs +
         (double)parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].memsizeIndex +
-        (double)parameter->getDiffMod()*(double)parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].memsizeFs;
+        (double)27.0*(double)parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].memsizeFs;
     setMemsizeGPU(tmp, false);
     //printf("memsize GPU for neighbors %f \n",tmp/1000000.0);
 }
@@ -2950,14 +2846,14 @@ void CudaMemoryManager::cudaCopyProcessNeighborADXFsHD(int lev, unsigned int pro
 {
     checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].f[0],
                                 parameter->getParH(lev)->recvProcessNeighborADX[processNeighbor].f[0],
-                                parameter->getDiffMod() * parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].memsizeFs,
+                                27 * parameter->getParD(lev)->recvProcessNeighborADX[processNeighbor].memsizeFs,
                                 cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborADXFsDH(int lev, unsigned int processNeighbor)
 {
     checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->sendProcessNeighborADX[processNeighbor].f[0],
                                 parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].f[0],
-                                parameter->getDiffMod() * parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].memsizeFs,
+                                27 * parameter->getParD(lev)->sendProcessNeighborADX[processNeighbor].memsizeFs,
                                 cudaMemcpyDeviceToHost));
 }
 void CudaMemoryManager::cudaFreeProcessNeighborADX(int lev, unsigned int processNeighbor)
@@ -2971,23 +2867,23 @@ void CudaMemoryManager::cudaFreeProcessNeighborADX(int lev, unsigned int process
 void CudaMemoryManager::cudaAllocProcessNeighborADY(int lev, unsigned int processNeighbor)
 {
     //Host
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].index ),                             parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].f[0]  ),   parameter->getDiffMod() * parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].memsizeFs    ));
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].index ),                             parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].f[0]  ),   parameter->getDiffMod() * parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].index ),      parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].f[0]  ), 27 * parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].index ),      parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].f[0]  ), 27 * parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].memsizeFs    ));
 
     //Device
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].index ),                                 parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].f[0]  ),       parameter->getDiffMod() * parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].memsizeFs    ));
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].index ),                                 parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].f[0]  ),       parameter->getDiffMod() * parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].index ),      parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].f[0]  ), 27 * parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].index ),      parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].f[0]  ), 27 * parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].memsizeFs    ));
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     double tmp =
         (double)parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].memsizeIndex +
-        (double)parameter->getDiffMod()*(double)parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].memsizeFs +
+        (double)27.0*(double)parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].memsizeFs +
         (double)parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].memsizeIndex +
-        (double)parameter->getDiffMod()*(double)parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].memsizeFs;
+        (double)27.0*(double)parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].memsizeFs;
     setMemsizeGPU(tmp, false);
     //printf("memsize GPU for neighbors %f \n",tmp/1000000.0);
 }
@@ -3008,14 +2904,14 @@ void CudaMemoryManager::cudaCopyProcessNeighborADYFsHD(int lev, unsigned int pro
 {
     checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].f[0],
                                 parameter->getParH(lev)->recvProcessNeighborADY[processNeighbor].f[0],
-                                parameter->getDiffMod() * parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].memsizeFs,
+                                27 * parameter->getParD(lev)->recvProcessNeighborADY[processNeighbor].memsizeFs,
                                 cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborADYFsDH(int lev, unsigned int processNeighbor)
 {
     checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->sendProcessNeighborADY[processNeighbor].f[0],
                                 parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].f[0],
-                                parameter->getDiffMod() * parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].memsizeFs,
+                                27 * parameter->getParD(lev)->sendProcessNeighborADY[processNeighbor].memsizeFs,
                                 cudaMemcpyDeviceToHost));
 }
 void CudaMemoryManager::cudaFreeProcessNeighborADY(int lev, unsigned int processNeighbor)
@@ -3029,23 +2925,23 @@ void CudaMemoryManager::cudaFreeProcessNeighborADY(int lev, unsigned int process
 void CudaMemoryManager::cudaAllocProcessNeighborADZ(int lev, unsigned int processNeighbor)
 {
     //Host
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].index ),                             parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].f[0]  ),   parameter->getDiffMod() * parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].memsizeFs    ));
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].index ),                             parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].f[0]  ),   parameter->getDiffMod() * parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].index ),      parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].f[0]  ), 27 * parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].index ),      parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMallocHost((void**) &(parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].f[0]  ), 27 * parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].memsizeFs    ));
 
     //Device
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].index ),                                 parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].f[0]  ),       parameter->getDiffMod() * parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].memsizeFs    ));
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].index ),                                 parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].memsizeIndex ));
-    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].f[0]  ),       parameter->getDiffMod() * parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].index ),      parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].f[0]  ), 27 * parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].memsizeFs    ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].index ),      parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].memsizeIndex ));
+    checkCudaErrors( cudaMalloc((void**) &(parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].f[0]  ), 27 * parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].memsizeFs    ));
 
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     double tmp =
         (double)parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].memsizeIndex +
-        (double)parameter->getDiffMod()*(double)parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].memsizeFs +
+        (double)27.0*(double)parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].memsizeFs +
         (double)parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].memsizeIndex +
-        (double)parameter->getDiffMod()*(double)parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].memsizeFs;
+        (double)27.0*(double)parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].memsizeFs;
     setMemsizeGPU(tmp, false);
     //printf("memsize GPU for neighbors %f \n",tmp/1000000.0);
 }
@@ -3066,14 +2962,14 @@ void CudaMemoryManager::cudaCopyProcessNeighborADZFsHD(int lev, unsigned int pro
 {
     checkCudaErrors( cudaMemcpy(parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].f[0],
                                 parameter->getParH(lev)->recvProcessNeighborADZ[processNeighbor].f[0],
-                                parameter->getDiffMod() * parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].memsizeFs,
+                                27 * parameter->getParD(lev)->recvProcessNeighborADZ[processNeighbor].memsizeFs,
                                 cudaMemcpyHostToDevice));
 }
 void CudaMemoryManager::cudaCopyProcessNeighborADZFsDH(int lev, unsigned int processNeighbor)
 {
     checkCudaErrors( cudaMemcpy(parameter->getParH(lev)->sendProcessNeighborADZ[processNeighbor].f[0],
                                 parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].f[0],
-                                parameter->getDiffMod() * parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].memsizeFs,
+                                27 * parameter->getParD(lev)->sendProcessNeighborADZ[processNeighbor].memsizeFs,
                                 cudaMemcpyDeviceToHost));
 }
 void CudaMemoryManager::cudaFreeProcessNeighborADZ(int lev, unsigned int processNeighbor)
@@ -3602,17 +3498,17 @@ CudaMemoryManager::CudaMemoryManager(std::shared_ptr<Parameter> parameter) : par
 
 void CudaMemoryManager::setMemsizeGPU(double admem, bool reset)
 {
-	if (reset == true)
-	{
-		this->memsizeGPU = 0.;
-	}
-	else
-	{
-		this->memsizeGPU += admem;
-	}
+    if (reset == true)
+    {
+        this->memsizeGPU = 0.;
+    }
+    else
+    {
+        this->memsizeGPU += admem;
+    }
 }
 
 double CudaMemoryManager::getMemsizeGPU()
 {
-	return this->memsizeGPU;
+    return this->memsizeGPU;
 }
diff --git a/src/gpu/core/GPU/CudaMemoryManager.h b/src/gpu/core/GPU/CudaMemoryManager.h
index 8b3ec7fdfd3e7e6a155eecb84832833ae72636e9..a0d4f69736cbca86cbf5f4e176b9ea9103d2eb51 100644
--- a/src/gpu/core/GPU/CudaMemoryManager.h
+++ b/src/gpu/core/GPU/CudaMemoryManager.h
@@ -24,7 +24,6 @@
 #endif
 
 class Parameter;
-class PorousMedia;
 class ActuatorFarm;
 class Probe;
 class VelocitySetter;
@@ -273,14 +272,14 @@ public:
     void cudaCopyMeasurePointsToHost(int lev);
     void cudaFreeMeasurePointsIndex(int lev);
 
-    void cudaAllocFsForCheckPointAndRestart(int lev);
-    void cudaAllocFsForAllLevelsOnHost();
+    void cudaAllocFsForCheckPointAndRestart(int lev) const;
+    void cudaAllocFsForAllLevelsOnHost() const;
     //! \brief copy distributions from host to device
-    void cudaCopyFsForRestart(int lev);
+    void cudaCopyFsForRestart(int lev) const;
     //! \brief copy distributions from device to host
-    void cudaCopyFsForCheckPoint(int lev);
-    void cudaCopyFsForAllLevelsToHost();
-    void cudaFreeFsForCheckPointAndRestart(int lev);
+    void cudaCopyFsForCheckPoint(int lev) const;
+    void cudaCopyFsForAllLevelsToHost() const;
+    void cudaFreeFsForCheckPointAndRestart(int lev) const;
 
     void cudaAllocDragLift(int lev, int numofelem);
     void cudaCopyDragLift(int lev, int numofelem);
@@ -314,10 +313,6 @@ public:
 
     void cudaAllocRandomValues();
 
-    void cudaAllocPorousMedia(PorousMedia* pm, int lev);
-    void cudaCopyPorousMedia(PorousMedia* pm, int lev);
-    void cudaFreePorousMedia(PorousMedia* pm, int lev);
-
     void cudaAllocConcentration(int lev);
     void cudaCopyConcentrationDeviceToHost(int lev);
     void cudaCopyConcentrationHostToDevice(int lev);
diff --git a/src/gpu/core/GPU/Cumulant27.cu b/src/gpu/core/GPU/Cumulant27.cu
deleted file mode 100644
index b496ce6252de5b325a775df19fba4703432052c0..0000000000000000000000000000000000000000
--- a/src/gpu/core/GPU/Cumulant27.cu
+++ /dev/null
@@ -1,6388 +0,0 @@
-//  _    ___      __              __________      _     __        ______________   __
-// | |  / (_)____/ /___  ______ _/ / ____/ /_  __(_)___/ /____   /  ___/ __  / /  / /
-// | | / / / ___/ __/ / / / __ `/ / /_  / / / / / / __  / ___/  / /___/ /_/ / /  / /
-// | |/ / / /  / /_/ /_/ / /_/ / / __/ / / /_/ / / /_/ (__  )  / /_) / ____/ /__/ / 
-// |___/_/_/   \__/\__,_/\__,_/_/_/   /_/\__,_/_/\__,_/____/   \____/_/    \_____/
-//
-//////////////////////////////////////////////////////////////////////////
-/* Device code */
-#include "LBM/LB.h" 
-#include "basics/constants/NumericConstants.h"
-#include "lbm/constants/D3Q27.h"
-
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Kum_AA2016_Comp_Bulk_SP_27(real omega,
-																unsigned int* bcMatD,
-																unsigned int* neighborX,
-																unsigned int* neighborY,
-																unsigned int* neighborZ,
-																real* DDStart,
-																unsigned long long numberOfLBnodes,
-																int level,
-																real* forces,
-																bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw ];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks ];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb ];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw ];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k  ];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw ];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k  ];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks ];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k  ];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k  ];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks ];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw ];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb ];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-							(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-							((mfabb+mfcbb) + (mfbab+mfbcb) + (mfbba+mfbbc))) + mfbbb;
-
-			real rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb)) / rho;
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab)) / rho;
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			real fx = forces[0] / (pow((double)c2o1, (double)level)); // zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-            real fy = forces[1] / (pow((double)c2o1, (double)level)); // zero;
-            real fz = forces[2] / (pow((double)c2o1, (double)level)); // zero;
-			vvx += fx;
-			vvy += fy;
-			vvz += fz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real omega = omega_in;
-			////////////////////////////////////////////////////////////////////////////////////
-			real oMdrho = c1o1; // comp special
-			////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = 0.01f;// * 0.0001f;
-			real qudricLimitM = 0.01f;// * 0.0001f;
-			real qudricLimitD = 0.01f;// * 0.001f;
-			real qudricLimitOmega2 = 0.01f;
-			const real gamma = 3400.f; //air
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c4o1 * omega / (c4o1 + c3o1 * gamma * (c2o1 - omega));//one;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-
-			////////////////////////////////////////////////////////////
-			//3.
-			//////////////////////////////
-			//no bulk viscosity
-			//real OxyyPxzz  = eight*(-two+omega)*(one+two*omega)/(-eight-fourteen*omega+seven*omega*omega);//one;
-			//real OxyyMxzz  = eight*(-two+omega)*(-seven+four*omega)/(fiftysix-fifty*omega+nine*omega*omega);//one;
-			//real Oxyz      = twentyfour*(-two+omega)*(-two-seven*omega+three*omega*omega)/(fourtyeight+c152*omega-c130*omega*omega+twentynine*omega*omega*omega);//one;
-			//with bulk viscosity
-			real OxyyPxzz  = c8o1*(-c2o1+omega)*(OxxPyyPzz * (-c1o1+c3o1*omega) - c5o1 * omega)/(c8o1 * (c5o1 - c2o1 * omega) * omega + OxxPyyPzz * ( c8o1 + omega * ( c9o1 * omega - c26o1)));//one;
-			real OxyyMxzz  = c8o1*(-c2o1+omega)*(omega + OxxPyyPzz*(c3o1 * omega - c7o1))/(OxxPyyPzz * (c56o1 - c42o1 * omega + c9o1 * omega * omega) - c8o1 * omega);//one;
-			real Oxyz      = c24o1*(-c2o1+omega)*(c4o1*omega*omega + omega * OxxPyyPzz * (c18o1 - c13o1 * omega) + OxxPyyPzz * OxxPyyPzz * (c2o1 + omega * ( c6o1 * omega - c11o1)))/
-								(c16o1 * omega * omega * ( omega - c6o1 ) - c2o1 * omega * OxxPyyPzz *( c216o1 + c5o1  * omega * ( c9o1 * omega - c46o1 )) + 
-								OxxPyyPzz * OxxPyyPzz * ( omega * ( c3o1 * omega - c10o1 ) * ( c15o1 * omega - c28o1 ) - c48o1 ));//one;
-			////////////////////////////////////////////////////////////
-			//4.
-			//////////////////////////////
-			real O4        = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5        = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6        = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-				  	 		
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
-			
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3 * (mfacc + mfcac + mfcca) /rho 
-							-    c1o9 * (mfcaa + mfaca + mfaac) /rho 
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
-							+ c1o27*((drho * drho - drho)/(rho*rho)));
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-			
-			////////////////////////////////////////////////////////////////////////////
-            real Dxy =-c3o1*omega*mfbba;
-            real Dxz =-c3o1*omega*mfbab;
-            real Dyz =-c3o1*omega*mfabb;
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
- 			
- 				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
- 				real dyuy = dxux + omega * c3o2 * mxxMyy;
- 				real dzuz = dxux + omega * c3o2 * mxxMzz;
- 
- 				//relax
-				//with limiter (bulk)
-				wadjust    = OxxPyyPzz+(c1o1-OxxPyyPzz)*abs(mfaaa  - mxxPyyPzz- c3o1 * (c1o1/OxxPyyPzz - c1o2 ) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz))/
-					         (abs(mfaaa  - mxxPyyPzz- c3o1 * (c1o1/OxxPyyPzz - c1o2 ) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz))+qudricLimitOmega2);
- 				mxxPyyPzz += wadjust*(mfaaa  - mxxPyyPzz)- c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
- 				//without limiter (no bulk)
-				//mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
- 				mxxMyy    += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
- 				mxxMzz    += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
- 
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			////no correction
- 			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
- 			//mxxMyy    += -(-omega) * (-mxxMyy);
- 			//mxxMzz    += -(-omega) * (-mxxMzz);
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb     += omega * (-mfabb);
-			mfbab     += omega * (-mfbab);
-			mfbba     += omega * (-mfbba);
-
-			//////////////////////////////////////////////////////////////////////////
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
- 			wadjust    = Oxyz+(c1o1-Oxyz)*abs(mfbbb)/(abs(mfbbb)+qudricLimitD);
- 			mfbbb     += wadjust * (-mfbbb);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimitP);
- 			mxxyPyzz  += wadjust * (-mxxyPyzz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimitM);
- 			mxxyMyzz  += wadjust * (-mxxyMyzz);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimitP);
- 			mxxzPyyz  += wadjust * (-mxxzPyyz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimitM);
- 			mxxzMyyz  += wadjust * (-mxxzMyyz);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimitP);
- 			mxyyPxzz  += wadjust * (-mxyyPxzz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimitM);
- 			mxyyMxzz  += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			real factorA = ( c4o1 * omega * omega + c2o1 * omega * OxxPyyPzz * ( omega - c6o1 ) + OxxPyyPzz * OxxPyyPzz * ( omega * ( c10o1 - c3o1 * omega ) - c4o1 )) /
-				        ( ( omega - OxxPyyPzz ) * ( OxxPyyPzz * ( c2o1 + c3o1 * omega ) - c8o1 * omega ) );
-			real factorB = ( c4o1 * omega * OxxPyyPzz * ( c9o1 * omega - c16o1 ) - c4o1 * omega * omega - c2o1 * OxxPyyPzz * OxxPyyPzz * ( c2o1 + c9o1 * omega * ( omega - c2o1 ))) /
-				        ( c3o1 * ( omega - OxxPyyPzz ) * ( OxxPyyPzz * ( c2o1 + c3o1 * omega ) - c8o1 * omega ) );
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//CUMacc += O4 * (-CUMacc); 
-			//CUMcac += O4 * (-CUMcac); 
-			//CUMcca += O4 * (-CUMcca); 
-			//CUMbbc += O4 * (-CUMbbc); 
-			//CUMbcb += O4 * (-CUMbcb); 
-			//CUMcbb += O4 * (-CUMcbb); 
-			//no bulk viscosity 
-			//CUMacc = -O4*(one/omega-c1o2)*(dyuy+dzuz)*c2o3 *(four+two*omega-three*omega*omega)/(two-seven*omega+five*omega*omega)+(one-O4) * (CUMacc);
-			//CUMcac = -O4*(one/omega-c1o2)*(dxux+dzuz)*c2o3 *(four+two*omega-three*omega*omega)/(two-seven*omega+five*omega*omega)+(one-O4) * (CUMcac);
-			//CUMcca = -O4*(one/omega-c1o2)*(dyuy+dxux)*c2o3 *(four+two*omega-three*omega*omega)/(two-seven*omega+five*omega*omega)+(one-O4) * (CUMcca);
-			//CUMbbc = -O4*(one/omega-c1o2)*Dxy*c1o3 *(four+twentyeight*omega-fourteen*omega*omega)/(six-twentyone*omega+fiveteen*omega*omega)+(one-O4) * (CUMbbc);
-			//CUMbcb = -O4*(one/omega-c1o2)*Dxz*c1o3 *(four+twentyeight*omega-fourteen*omega*omega)/(six-twentyone*omega+fiveteen*omega*omega)+(one-O4) * (CUMbcb);
-			//CUMcbb = -O4*(one/omega-c1o2)*Dyz*c1o3 *(four+twentyeight*omega-fourteen*omega*omega)/(six-twentyone*omega+fiveteen*omega*omega)+(one-O4) * (CUMcbb);
-			//with bulk viscosity 
-			CUMacc = -O4 * (c1o1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMacc);
-			CUMcac = -O4 * (c1o1 / omega - c1o2) * (dxux + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMcac);
-			CUMcca = -O4 * (c1o1 / omega - c1o2) * (dyuy + dxux) * c2o3 * factorA + (c1o1 - O4) * (CUMcca);
-			CUMbbc = -O4 * (c1o1 / omega - c1o2) * Dxy           * c1o3 * factorB + (c1o1 - O4) * (CUMbbc);
-			CUMbcb = -O4 * (c1o1 / omega - c1o2) * Dxz           * c1o3 * factorB + (c1o1 - O4) * (CUMbcb);
-			CUMcbb = -O4 * (c1o1 / omega - c1o2) * Dyz           * c1o3 * factorB + (c1o1 - O4) * (CUMcbb);
-
-
-			//////////////////////////////////////////////////////////////////////////
-			
-					
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-			
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-						   
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
-			
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3 * (mfacc + mfcac + mfcca) /rho 
-							-    c1o9 * (mfcaa + mfaca + mfaac) /rho 
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
-							+ c1o27*((drho * drho - drho)/(rho*rho)));
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa                * (c1o1- vz2)              - c1o1* oMdrho * vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca                  * (c1o1- vz2)              - c1o9 * oMdrho * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab                  * (c1o1- vy2)              - c2o3 * oMdrho * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab                  * (c1o1- vy2)              - c2o9 * oMdrho * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb                  * (c1o1- vx2)              - c4o9 * oMdrho * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00   ])[k   ] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[ dM00   ])[kw  ] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[ d0P0   ])[k   ] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[ d0M0   ])[ks  ] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[ d00P   ])[k   ] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[ d00M   ])[kb  ] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[ dPP0  ])[k   ] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[ dMM0  ])[ksw ] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[ dPM0  ])[ks  ] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[ dMP0  ])[kw  ] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[ dP0P  ])[k   ] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[ dM0M  ])[kbw ] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[ dP0M  ])[kb  ] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[ dM0P  ])[kw  ] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[ d0PP  ])[k   ] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[ d0MM  ])[kbs ] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[ d0PM  ])[kb  ] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[ d0MP  ])[ks  ] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[ d000])[k   ] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[ dPPP ])[k   ] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[ dPMP ])[ks  ] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[ dPPM ])[kb  ] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[ dPMM ])[kbs ] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[ dMPP ])[kw  ] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[ dMMP ])[ksw ] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[ dMPM ])[kbw ] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[ dMMM ])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Kum_IsoTest_SP_27( real omega,
-														unsigned int* bcMatD,
-														unsigned int* neighborX,
-														unsigned int* neighborY,
-														unsigned int* neighborZ,
-														real* DDStart,
-														real* dxxUx,
-														real* dyyUy,
-														real* dzzUz,
-														unsigned long long numberOfLBnodes,
-														bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw ];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks ];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb ];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw ];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k  ];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw ];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k  ];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks ];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k  ];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k  ];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks ];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw ];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb ];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb));
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab));
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-								   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-								   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-			//real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-			//				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-			//				mfcbb-mfabb;
-			//real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-			//				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-			//				mfbcb-mfbab;
-			//real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-			//				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-			//				mfbbc-mfbba;
-			////////////////////////////////////////////////////////////////////////////////////
-			// oMdrho assembler style -------> faaaaaastaaaa
-			// or much sloooowaaaa ... it dep�ndssssss on sadaku
-			real m0, m1, m2;	
-			//real oMdrho;
-			//{
-			//	oMdrho=mfccc+mfaaa;
-			//	m0=mfaca+mfcac;
-			//	m1=mfacc+mfcaa;
-			//	m2=mfaac+mfcca;
-			//	oMdrho+=m0;
-			//	m1+=m2;
-			//	oMdrho+=m1;
-			//	m0=mfbac+mfbca;
-			//	m1=mfbaa+mfbcc;
-			//	m0+=m1;
-			//	m1=mfabc+mfcba;
-			//	m2=mfaba+mfcbc;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	m1=mfacb+mfcab;
-			//	m2=mfaab+mfccb;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	oMdrho+=m0;
-			//	m0=mfabb+mfcbb;
-			//	m1=mfbab+mfbcb;
-			//	m2=mfbba+mfbbc;
-			//	m0+=m1+m2;
-			//	m0+=mfbbb; //hat gefehlt
-			//	oMdrho = one - (oMdrho + m0);
-			//}
-			//real vvx;
-			real vx2;
-			//{
-			//	vvx = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfcaa-mfacc;
-			//	m2  = mfcca-mfaac;
-			//	vvx+= m0;
-			//	m1 += m2;
-			//	vvx+= m1;
-			//	vx2 = mfcba-mfabc;
-			//	m0  = mfcbc-mfaba;
-			//	m1  = mfcab-mfacb;
-			//	m2  = mfccb-mfaab;
-			//	vx2+= m0;
-			//	m1 += m2;
-			//	vx2+= m1;
-			//	vvx+= vx2;
-			//	vx2 = mfcbb-mfabb;
-			//	vvx+= vx2;
-			//}
-			//real vvy;
-			real vy2;
-			//{
-			//	vvy = mfccc-mfaaa;
-			//	m0  = mfaca-mfcac;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfcca-mfaac;
-			//	vvy+= m0;
-			//	m1 += m2;
-			//	vvy+= m1;
-			//	vy2 = mfbca-mfbac;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfacb-mfcab;
-			//	m2  = mfccb-mfaab;
-			//	vy2+= m0;
-			//	m1 += m2;
-			//	vy2+= m1;
-			//	vvy+= vy2;
-			//	vy2 = mfbcb-mfbab;
-			//	vvy+= vy2;
-			//}
-			//real vvz;
-			real vz2;
-			//{
-			//	vvz = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfaac-mfcca;
-			//	vvz+= m0;
-			//	m1 += m2;
-			//	vvz+= m1;
-			//	vz2 = mfbac-mfbca;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfabc-mfcba;
-			//	m2  = mfcbc-mfaba;
-			//	vz2+= m0;
-			//	m1 += m2;
-			//	vz2+= m1;
-			//	vvz+= vz2;
-			//	vz2 = mfbbc-mfbba;
-			//	vvz+= vz2;
-			//}
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimit = 0.01f;
-			//real s9 = minusomega;
-			//test
-			//s9 = 0.;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// BGK
-			////////////////////////////////////////////////////////////////////////////////////
-			////2.
-			//mfabb += omega * (-mfabb);
-			//mfbab += omega * (-mfbab);
-			//mfbba += omega * (-mfbba);
-			//
-			//mfcaa += omega * (c1o3 * mfaaa - mfcaa);
-			//mfaca += omega * (c1o3 * mfaaa - mfaca);
-			//mfaac += omega * (c1o3 * mfaaa - mfaac);
-			//
-			////3.
-			//mfabc += omega * (-mfabc);
-			//mfbac += omega * (-mfbac);
-			//
-			//mfacb += omega * (-mfacb);
-			//mfbca += omega * (-mfbca);
-
-			//mfcab += omega * (-mfcab);
-			//mfcba += omega * (-mfcba);
-
-			//mfbbb += omega * (-mfbbb);
-
-			////4.
-			//mfacc += omega * (c1o9 * mfaaa - mfacc);
-			//mfcac += omega * (c1o9 * mfaaa - mfcac);
-			//mfcca += omega * (c1o9 * mfaaa - mfcca);
-
-			//mfbbc += omega * (-mfbbc);
-			//mfbcb += omega * (-mfbcb);
-			//mfcbb += omega * (-mfcbb);
-
-			////5.
-			//mfbcc += omega * (-mfbcc);
-			//mfcbc += omega * (-mfcbc);
-			//mfccb += omega * (-mfccb);
-
-			////6.
-			//mfccc += omega * (c1o27 * mfaaa - mfccc);
-			//////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz  = c1o1;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz  = c1o1;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4        = c1o1;
-			real O5        = c1o1;
-			real O6        = c1o1;
-
-			//Cum 4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb);
-
-			real CUMcca = mfcca - (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			real CUMcac = mfcac - (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			real CUMacc = mfacc - (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-
-			//Cum 5.
-			real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho;
-			real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho;
-			real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//Cum 6.
-			real CUMccc = mfccc  +((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb)
-							-    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
-							-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1-c2o1* oMdrho)- c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) +c1o27*oMdrho;
-
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//Iso Test Part 1
-			real dxuydyux = -c3o1 * omega * mfbba;
-			real dxuzdzux = -c3o1 * omega * mfbab;
-			real dyuzdzuy = -c3o1 * omega * mfabb;
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy    += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz    += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-			}
-
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			mfabb     += omega * (-mfabb);
-			mfbab     += omega * (-mfbab);
-			mfbba     += omega * (-mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//Iso Test Part 2
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//precollision terms 3. moments
-			real premxxyPyzz = mxxyPyzz;
-			real premxxzPyyz = mxxzPyyz;
-			real premxyyPxzz = mxyyPxzz;
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-			//relax
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			mfbbb     += wadjust * (-mfbbb);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			mxxyPyzz  += wadjust * (-mxxyPyzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			mxxyMyzz  += wadjust * (-mxxyMyzz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			mxxzPyyz  += wadjust * (-mxxzPyyz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			mxxzMyyz  += wadjust * (-mxxzMyyz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			mxyyPxzz  += wadjust * (-mxyyPxzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			mxyyMxzz  += wadjust * (-mxyyMxzz);
-
-			//// linear combinations back
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			CUMacc += O4 * (-CUMacc); 
-			CUMcac += O4 * (-CUMcac); 
-			CUMcca += O4 * (-CUMcca); 
-			
-			CUMbbc += O4 * (-CUMbbc); 
-			CUMbcb += O4 * (-CUMbcb); 
-			CUMcbb += O4 * (-CUMcbb); 
-					
-			//5.
-			//CUMbcc += O5 * (-CUMbcc);
-			//CUMcbc += O5 * (-CUMcbc);
-			//CUMccb += O5 * (-CUMccb);
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//Iso Test Part 3
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//precollision terms 5. moments
-			real preCUMbcc = CUMbcc;
-			real preCUMcbc = CUMcbc;
-			real preCUMccb = CUMccb;
-			//new calculation of 5. moments
-			CUMbcc = c2o3 * (c1o1 - c1o2 * O5) * (vvy * dxuydyux + vvz * dxuzdzux) * c0o1 + (c1o1 - O5) * CUMbcc;
-			CUMcbc = c2o3 * (c1o1 - c1o2 * O5) * (vvx * dxuydyux + vvz * dyuzdzuy) * c0o1 + (c1o1 - O5) * CUMcbc;
-			CUMccb = c2o3 * (c1o1 - c1o2 * O5) * (vvx * dxuzdzux + vvy * dyuzdzuy) * c0o1 + (c1o1 - O5) * CUMccb;
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			//6.
-			//CUMccc += O6 * (-CUMccc);
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//Iso Test Part 4
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//new calculation of 6. moment
-			CUMccc = O6 * c1o3 * (vx2 + vy2 + vz2) * c0o1 + (c1o1 - O6) * CUMccc;
-			// second derivation of ux, uy, uz
-			real dxxux = c3o1 * (c3o2 * (CUMbcc - preCUMbcc) - c0o1 * (mxyyPxzz - premxyyPxzz));
-			real dyyuy = c3o1 * (c3o2 * (CUMcbc - preCUMcbc) - c0o1 * (mxxyPyzz - premxxyPyzz));
-			real dzzuz = c3o1 * (c3o2 * (CUMccb - preCUMccb) - c0o1 * (mxxzPyyz - premxxzPyyz));
-			// copy local values to global arrays for paraview files 
-			dxxUx[k] = dxxux;
-			dyyUy[k] = dyyuy;
-			dzzUz[k] = dzzuz;
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb); 
-						   
-			mfcca = CUMcca + (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			mfcac = CUMcac + (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			mfacc = CUMacc + (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-
-			//5.
-			mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho;
-			mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) * oMdrho;
-			mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) * oMdrho;
-			
-			//6.
-			mfccc = CUMccc  -(( -c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb)
-							-    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
-							-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1-c2o1* oMdrho)- c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) -c1o27*oMdrho;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa                * (c1o1- vz2)              - c1o1* oMdrho * vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca                  * (c1o1- vz2)              - c1o9 * oMdrho * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab                  * (c1o1- vy2)              - c2o3 * oMdrho * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab                  * (c1o1- vy2)              - c2o9 * oMdrho * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb                  * (c1o1- vx2)              - c4o9 * oMdrho * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00   ])[k   ] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[ dM00   ])[kw  ] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[ d0P0   ])[k   ] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[ d0M0   ])[ks  ] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[ d00P   ])[k   ] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[ d00M   ])[kb  ] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[ dPP0  ])[k   ] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[ dMM0  ])[ksw ] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[ dPM0  ])[ks  ] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[ dMP0  ])[kw  ] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[ dP0P  ])[k   ] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[ dM0M  ])[kbw ] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[ dP0M  ])[kb  ] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[ dM0P  ])[kw  ] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[ d0PP  ])[k   ] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[ d0MM  ])[kbs ] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[ d0PM  ])[kb  ] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[ d0MP  ])[ks  ] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[ d000])[k   ] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[ dPPP ])[k   ] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[ dPMP ])[ks  ] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[ dPPM ])[kb  ] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[ dPMM ])[kbs ] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[ dMPP ])[kw  ] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[ dMMP ])[ksw ] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[ dMPM ])[kbw ] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[ dMMM ])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Kum_1h_SP_27(  real omega,
-													real deltaPhi,
-													real angularVelocity,
-													unsigned int* bcMatD,
-													unsigned int* neighborX,
-													unsigned int* neighborY,
-													unsigned int* neighborZ,
-													real* coordX,
-													real* coordY,
-													real* coordZ,
-													real* DDStart,
-													unsigned long long numberOfLBnodes,
-													bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			//unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			//unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			//unsigned int kb   = neighborZ[k];
-			//unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			//unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			//unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			//unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw ];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks ];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb ];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw ];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k  ];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw ];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k  ];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks ];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k  ];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k  ];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks ];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw ];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb ];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-			////////////////////////////////////////////////////////////////////////////////////
-			//Ship
-			real coord0X = 281.125f;//7.5f;
-			real coord0Y = 388.125f;//7.5f;
-			real ux = - angularVelocity * (coordY[k] - coord0Y);
-			real uy =   angularVelocity * (coordX[k] - coord0X);
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				(((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				(mfcbb-mfabb));
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				(((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				(mfbcb-mfbab));
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				(((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				(mfbbc-mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			real vxNeu = cosf(deltaPhi) * vvx - sinf(deltaPhi) * vvy; 
-			real vyNeu = sinf(deltaPhi) * vvx + cosf(deltaPhi) * vvy; 
-
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-				mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-				mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-			//real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-			//				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-			//				mfcbb-mfabb;
-			//real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-			//				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-			//				mfbcb-mfbab;
-			//real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-			//				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-			//				mfbbc-mfbba;
-			////////////////////////////////////////////////////////////////////////////////////
-			// oMdrho assembler style -------> faaaaaastaaaa
-			// or much sloooowaaaa ... it dep�ndssssss on sadaku
-			real m0, m1, m2;	
-			//real oMdrho;
-			//{
-			//	oMdrho=mfccc+mfaaa;
-			//	m0=mfaca+mfcac;
-			//	m1=mfacc+mfcaa;
-			//	m2=mfaac+mfcca;
-			//	oMdrho+=m0;
-			//	m1+=m2;
-			//	oMdrho+=m1;
-			//	m0=mfbac+mfbca;
-			//	m1=mfbaa+mfbcc;
-			//	m0+=m1;
-			//	m1=mfabc+mfcba;
-			//	m2=mfaba+mfcbc;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	m1=mfacb+mfcab;
-			//	m2=mfaab+mfccb;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	oMdrho+=m0;
-			//	m0=mfabb+mfcbb;
-			//	m1=mfbab+mfbcb;
-			//	m2=mfbba+mfbbc;
-			//	m0+=m1+m2;
-			//	m0+=mfbbb; //hat gefehlt
-			//	oMdrho = one - (oMdrho + m0);
-			//}
-			//real vvx;
-			real vx2;
-			//{
-			//	vvx = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfcaa-mfacc;
-			//	m2  = mfcca-mfaac;
-			//	vvx+= m0;
-			//	m1 += m2;
-			//	vvx+= m1;
-			//	vx2 = mfcba-mfabc;
-			//	m0  = mfcbc-mfaba;
-			//	m1  = mfcab-mfacb;
-			//	m2  = mfccb-mfaab;
-			//	vx2+= m0;
-			//	m1 += m2;
-			//	vx2+= m1;
-			//	vvx+= vx2;
-			//	vx2 = mfcbb-mfabb;
-			//	vvx+= vx2;
-			//}
-			//real vvy;
-			real vy2;
-			//{
-			//	vvy = mfccc-mfaaa;
-			//	m0  = mfaca-mfcac;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfcca-mfaac;
-			//	vvy+= m0;
-			//	m1 += m2;
-			//	vvy+= m1;
-			//	vy2 = mfbca-mfbac;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfacb-mfcab;
-			//	m2  = mfccb-mfaab;
-			//	vy2+= m0;
-			//	m1 += m2;
-			//	vy2+= m1;
-			//	vvy+= vy2;
-			//	vy2 = mfbcb-mfbab;
-			//	vvy+= vy2;
-			//}
-			//real vvz;
-			real vz2;
-			//{
-			//	vvz = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfaac-mfcca;
-			//	vvz+= m0;
-			//	m1 += m2;
-			//	vvz+= m1;
-			//	vz2 = mfbac-mfbca;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfabc-mfcba;
-			//	m2  = mfcbc-mfaba;
-			//	vz2+= m0;
-			//	m1 += m2;
-			//	vz2+= m1;
-			//	vvz+= vz2;
-			//	vz2 = mfbbc-mfbba;
-			//	vvz+= vz2;
-			//}
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimit = 0.01f;
-			//real s9 = minusomega;
-			//test
-			//s9 = 0.;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// BGK
-			////////////////////////////////////////////////////////////////////////////////////
-			////2.
-			//mfabb += omega * (-mfabb);
-			//mfbab += omega * (-mfbab);
-			//mfbba += omega * (-mfbba);
-			//
-			//mfcaa += omega * (c1o3 * mfaaa - mfcaa);
-			//mfaca += omega * (c1o3 * mfaaa - mfaca);
-			//mfaac += omega * (c1o3 * mfaaa - mfaac);
-			//
-			////3.
-			//mfabc += omega * (-mfabc);
-			//mfbac += omega * (-mfbac);
-			//
-			//mfacb += omega * (-mfacb);
-			//mfbca += omega * (-mfbca);
-
-			//mfcab += omega * (-mfcab);
-			//mfcba += omega * (-mfcba);
-
-			//mfbbb += omega * (-mfbbb);
-
-			////4.
-			//mfacc += omega * (c1o9 * mfaaa - mfacc);
-			//mfcac += omega * (c1o9 * mfaaa - mfcac);
-			//mfcca += omega * (c1o9 * mfaaa - mfcca);
-
-			//mfbbc += omega * (-mfbbc);
-			//mfbcb += omega * (-mfbcb);
-			//mfcbb += omega * (-mfcbb);
-
-			////5.
-			//mfbcc += omega * (-mfbcc);
-			//mfcbc += omega * (-mfcbc);
-			//mfccb += omega * (-mfccb);
-
-			////6.
-			//mfccc += omega * (c1o27 * mfaaa - mfccc);
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			//////////////////////////////////////////////////////////////////////////////////////////
-			//////// Cumulants
-			//////////////////////////////////////////////////////////////////////////////////////////
-			//////real OxxPyyPzz = one;
-			//////real OxyyPxzz  = one;//two-omega;//
-			//////real OxyyMxzz  = one;//two-omega;//
-			//////real O4        = one;
-			//////real O5        = one;
-			//////real O6        = one;
-
-			////////Cum 4.
-			//////real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
-			//////real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
-			//////real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
-
-			//////real CUMcca = mfcca - (mfcaa * mfaca + two* mfbba * mfbba)- c1o3 * (mfcaa + mfaca);
-			//////real CUMcac = mfcac - (mfcaa * mfaac + two* mfbab * mfbab)- c1o3 * (mfcaa + mfaac);
-			//////real CUMacc = mfacc - (mfaac * mfaca + two* mfabb * mfabb)- c1o3 * (mfaac + mfaca);
-
-			////////Cum 5.
-			//////real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
-			//////				- c1o3 * (mfbca + mfbac); //O(eps^3)
-			//////real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
-			//////				- c1o3 * (mfcba + mfabc); //O(eps^3)
-			//////real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
-			//////				- c1o3 * (mfacb + mfcab);//O(eps^3)
-
-			////////Cum 6.
-			//////real CUMccc = mfccc +(-four*  mfbbb * mfbbb  //O(eps^6)
-			//////	                   -       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) // O(eps^4)
-			//////					   -  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc) // O(eps^6) 
-			//////					   -  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) // O(esp^6)
-			//////					   +( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) //O(eps^6)
-			//////					   +  two* (mfcaa * mfaca * mfaac) //O(eps^6)
-			//////					   + sixteen*  mfbba * mfbab * mfabb) //O(eps^6)
-			//////					   - c1o3* (mfacc + mfcac + mfcca) //O(eps^2)
-			//////					   + c1o9* (mfcaa + mfaca + mfaac) //O(eps^2)
-			//////					   +( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)//O(eps^4)
-			//////					   +       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3;//O(eps^4)
-
-
-			////////2.
-			//////// linear combinations
-			//////real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			//////real mxxMyy    = mfcaa - mfaca;
-			//////real mxxMzz	   = mfcaa - mfaac;
-
-			//////{
-			//////	real dxux = c1o2 * ((-omega) * (mxxMyy + mxxMzz) + (mfaaa - mxxPyyPzz));
-			//////	real dyuy = dxux + omega * c3o2 * mxxMyy;
-			//////	real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//////	//relax
-			//////	mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three* (one- c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//////	mxxMyy    += omega * (-mxxMyy) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//////	mxxMzz    += omega * (-mxxMzz) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			//////}
-			//////mfabb     += omega * (-mfabb);
-			//////mfbab     += omega * (-mfbab);
-			//////mfbba     += omega * (-mfbba);
-
-			//////// linear combinations back
-			//////mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			//////mfaca = c1o3 * (-two*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			//////mfaac = c1o3 * (       mxxMyy - two* mxxMzz + mxxPyyPzz);
-
-			////////3.
-			//////// linear combinations
-			//////real mxxyPyzz = mfcba + mfabc;
-			//////real mxxyMyzz = mfcba - mfabc;
-
-			//////real mxxzPyyz = mfcab + mfacb;
-			//////real mxxzMyyz = mfcab - mfacb;
-
-			//////real mxyyPxzz = mfbca + mfbac;
-			//////real mxyyMxzz = mfbca - mfbac;
-
-			////////relax
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			//////mfbbb     += wadjust * (-mfbbb);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			//////mxxyPyzz  += wadjust * (-mxxyPyzz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			//////mxxyMyzz  += wadjust * (-mxxyMyzz);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			//////mxxzPyyz  += wadjust * (-mxxzPyyz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			//////mxxzMyyz  += wadjust * (-mxxzMyyz);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			//////mxyyPxzz  += wadjust * (-mxyyPxzz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			//////mxyyMxzz  += wadjust * (-mxyyMxzz);
-
-			//////// linear combinations back
-			//////mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			//////mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			//////mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			//////mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			//////mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			//////mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			////////4.
-			//////CUMacc += O4 * (-CUMacc); 
-			//////CUMcac += O4 * (-CUMcac); 
-			//////CUMcca += O4 * (-CUMcca); 
-			//////
-			//////CUMbbc += O4 * (-CUMbbc); 
-			//////CUMbcb += O4 * (-CUMbcb); 
-			//////CUMcbb += O4 * (-CUMcbb); 
-			//////		
-			////////5.
-			//////CUMbcc += O5 * (-CUMbcc);
-			//////CUMcbc += O5 * (-CUMcbc);
-			//////CUMccb += O5 * (-CUMccb);
-
-			////////6.
-			//////CUMccc += O6 * (-CUMccc);
-			//////
-			////////back cumulants to central moments
-			////////4.
-			//////mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
-			//////mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
-			//////mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
-			//////			   
-			//////mfcca = CUMcca + (mfcaa * mfaca + two* mfbba * mfbba) + c1o3 * (mfcaa + mfaca);
-			//////mfcac = CUMcac + (mfcaa * mfaac + two* mfbab * mfbab) + c1o3 * (mfcaa + mfaac);
-			//////mfacc = CUMacc + (mfaac * mfaca + two* mfabb * mfabb) + c1o3 * (mfaac + mfaca);
-
-			////////5.
-			//////mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac);
-			//////mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc);
-			//////mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab);
-			//////
-			////////6.
-			//////mfccc = CUMccc  -((-four*  mfbbb * mfbbb  
-			//////				-       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			//////				-  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc)
-			//////				-  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-			//////				+( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-			//////				+  two* (mfcaa * mfaca * mfaac)
-			//////				+ sixteen*  mfbba * mfbab * mfabb)
-			//////				- c1o3* (mfacc + mfcac + mfcca)
-			//////				+ c1o9* (mfcaa + mfaca + mfaac)
-			//////				+( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-			//////				+       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3);
-			//////////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz  = c1o1;//omega;//two-omega;//
-			real OxyyMxzz  = c2o1-omega;//one;// 
-			real O4        = c1o1;
-			real O5        = c1o1;
-			real O6        = c1o1;
-
-			////Cum 4.
-			//real CUMcbb;	real CUMbcb;	real CUMbbc;
-			//real CUMcca;	real CUMcac;	real CUMacc;
-			////Cum 5.
-			//real CUMbcc;	real CUMcbc;	real CUMccb;
-			////Cum 6.
-			//real CUMccc;
-
-			//Cum four
-			real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb);
-
-			real CUMcca = mfcca - (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			real CUMcac = mfcac - (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			real CUMacc = mfacc - (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-
-			//Cum 5.
-			//real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
-			//				- c1o3 * (mfbca + mfbac); //O(eps^3)
-			//real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
-			//				- c1o3 * (mfcba + mfabc); //O(eps^3)
-			//real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
-			//				- c1o3 * (mfacb + mfcab);//O(eps^3)
-
-			real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho;
-			real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho;
-			real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//Cum 6.
-			real CUMccc = mfccc  +((-c4o1 *  mfbbb * mfbbb  
-				-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-				+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-				+     c2o1 * (mfcaa * mfaca * mfaac)
-				+ c16o1 *  mfbba * mfbab * mfabb)
-				-    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
-				-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1-c2o1* oMdrho)- c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-				+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-				+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) +c1o27*oMdrho;
-
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-
-			{
-				real dxux = c0o1;//c1o2 * (-omega) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = c0o1;//dxux + omega * c3o2 * mxxMyy;
-				real dzuz = c0o1;//dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += (OxxPyyPzz)*(mfaaa-c2o1*(ux*vvx+uy*vvy)-ux*ux-uy*uy  - mxxPyyPzz)- c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy    += omega * (-c2o1*(ux*vvx-uy*vvy)-(ux*ux-uy*uy)-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-				mxxMzz    += omega * (-c2o1*ux*vvx -ux*ux                -mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			}
-			mfabb     += omega * (-uy*vvz-mfabb);
-			mfbab     += omega * (-ux*vvz-mfbab);
-			mfbba     += omega * (-ux*vvy-uy*vvx-ux*uy-mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			mfbbb     += wadjust * (-mfbbb);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			mxxyPyzz  += wadjust * (-mxxyPyzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			mxxyMyzz  += wadjust * (-mxxyMyzz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			mxxzPyyz  += wadjust * (-mxxzPyyz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			mxxzMyyz  += wadjust * (-mxxzMyyz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			mxyyPxzz  += wadjust * (-mxyyPxzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			mxyyMxzz  += wadjust * (-mxyyMxzz);
-
-			//// linear combinations back
-			////generic
-			//mfcba =  zero;
-			//mfabc =  zero;
-			//mfcab =  zero;
-			//mfacb =  zero;
-			//mfbca =  zero;
-			//mfbac =  zero;
-
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//CUMacc =  zero; 
-			//CUMcac =  zero; 
-			//CUMcca =  zero; 
-			//	   
-			//CUMbbc =  zero; 
-			//CUMbcb =  zero; 
-			//CUMcbb =  zero; 
-			//	  
-			////5.   
-			//CUMbcc =  zero;
-			//CUMcbc =  zero;
-			//CUMccb =  zero;
-			//	   
-			////6.   
-			//CUMccc =  zero;
-
-			//4.
-			CUMacc += O4 * (-CUMacc); 
-			CUMcac += O4 * (-CUMcac); 
-			CUMcca += O4 * (-CUMcca); 
-
-			CUMbbc += O4 * (-CUMbbc); 
-			CUMbcb += O4 * (-CUMbcb); 
-			CUMcbb += O4 * (-CUMcbb); 
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb); 
-
-			mfcca = CUMcca + (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			mfcac = CUMcac + (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			mfacc = CUMacc + (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-
-			//5.
-			mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho;
-			mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) * oMdrho;
-			mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//6.
-			mfccc = CUMccc  -(( -c4o1 *  mfbbb * mfbbb  
-				-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-				+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-				+     c2o1 * (mfcaa * mfaca * mfaac)
-				+ c16o1 *  mfbba * mfbab * mfabb)
-				-    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
-				-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1-c2o1* oMdrho)- c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-				+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-				+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) -c1o27*oMdrho;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-
-			//turning ship:
-
-			vvx=vxNeu;
-			vvy=vyNeu;
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa                * (c1o1- vz2)              - c1o1* oMdrho * vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca                  * (c1o1- vz2)              - c1o9 * oMdrho * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab                  * (c1o1- vy2)              - c2o3 * oMdrho * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab                  * (c1o1- vy2)              - c2o9 * oMdrho * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb                  * (c1o1- vx2)              - c4o9 * oMdrho * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00   ])[k   ] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[ dM00   ])[kw  ] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[ d0P0   ])[k   ] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[ d0M0   ])[ks  ] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[ d00P   ])[k   ] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[ d00M   ])[kb  ] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[ dPP0  ])[k   ] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[ dMM0  ])[ksw ] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[ dPM0  ])[ks  ] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[ dMP0  ])[kw  ] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[ dP0P  ])[k   ] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[ dM0M  ])[kbw ] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[ dP0M  ])[kb  ] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[ dM0P  ])[kw  ] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[ d0PP  ])[k   ] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[ d0MM  ])[kbs ] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[ d0PM  ])[kb  ] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[ d0MP  ])[ks  ] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[ d000])[k   ] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[ dPPP ])[k   ] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[ dPMP ])[ks  ] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[ dPPM ])[kb  ] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[ dPMM ])[kbs ] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[ dMPP ])[kw  ] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[ dMMP ])[ksw ] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[ dMPM ])[kbw ] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[ dMMM ])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Kum_New_SP_27(     real omega,
-														unsigned int* bcMatD,
-														unsigned int* neighborX,
-														unsigned int* neighborY,
-														unsigned int* neighborZ,
-														real* DDStart,
-														unsigned long long numberOfLBnodes,
-														bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			//unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			//unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			//unsigned int kb   = neighborZ[k];
-			//unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			//unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			//unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			//unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw ];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks ];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb ];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw ];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k  ];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw ];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k  ];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks ];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k  ];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k  ];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks ];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw ];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb ];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb));
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab));
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-								   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-								   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-			//real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-			//				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-			//				mfcbb-mfabb;
-			//real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-			//				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-			//				mfbcb-mfbab;
-			//real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-			//				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-			//				mfbbc-mfbba;
-			////////////////////////////////////////////////////////////////////////////////////
-			// oMdrho assembler style -------> faaaaaastaaaa
-			// or much sloooowaaaa ... it dep�ndssssss on sadaku
-			real m0, m1, m2;	
-			//real oMdrho;
-			//{
-			//	oMdrho=mfccc+mfaaa;
-			//	m0=mfaca+mfcac;
-			//	m1=mfacc+mfcaa;
-			//	m2=mfaac+mfcca;
-			//	oMdrho+=m0;
-			//	m1+=m2;
-			//	oMdrho+=m1;
-			//	m0=mfbac+mfbca;
-			//	m1=mfbaa+mfbcc;
-			//	m0+=m1;
-			//	m1=mfabc+mfcba;
-			//	m2=mfaba+mfcbc;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	m1=mfacb+mfcab;
-			//	m2=mfaab+mfccb;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	oMdrho+=m0;
-			//	m0=mfabb+mfcbb;
-			//	m1=mfbab+mfbcb;
-			//	m2=mfbba+mfbbc;
-			//	m0+=m1+m2;
-			//	m0+=mfbbb; //hat gefehlt
-			//	oMdrho = one - (oMdrho + m0);
-			//}
-			//real vvx;
-			real vx2;
-			//{
-			//	vvx = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfcaa-mfacc;
-			//	m2  = mfcca-mfaac;
-			//	vvx+= m0;
-			//	m1 += m2;
-			//	vvx+= m1;
-			//	vx2 = mfcba-mfabc;
-			//	m0  = mfcbc-mfaba;
-			//	m1  = mfcab-mfacb;
-			//	m2  = mfccb-mfaab;
-			//	vx2+= m0;
-			//	m1 += m2;
-			//	vx2+= m1;
-			//	vvx+= vx2;
-			//	vx2 = mfcbb-mfabb;
-			//	vvx+= vx2;
-			//}
-			//real vvy;
-			real vy2;
-			//{
-			//	vvy = mfccc-mfaaa;
-			//	m0  = mfaca-mfcac;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfcca-mfaac;
-			//	vvy+= m0;
-			//	m1 += m2;
-			//	vvy+= m1;
-			//	vy2 = mfbca-mfbac;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfacb-mfcab;
-			//	m2  = mfccb-mfaab;
-			//	vy2+= m0;
-			//	m1 += m2;
-			//	vy2+= m1;
-			//	vvy+= vy2;
-			//	vy2 = mfbcb-mfbab;
-			//	vvy+= vy2;
-			//}
-			//real vvz;
-			real vz2;
-			//{
-			//	vvz = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfaac-mfcca;
-			//	vvz+= m0;
-			//	m1 += m2;
-			//	vvz+= m1;
-			//	vz2 = mfbac-mfbca;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfabc-mfcba;
-			//	m2  = mfcbc-mfaba;
-			//	vz2+= m0;
-			//	m1 += m2;
-			//	vz2+= m1;
-			//	vvz+= vz2;
-			//	vz2 = mfbbc-mfbba;
-			//	vvz+= vz2;
-			//}
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real wadjust;
-			//real qudricLimit = 0.01f;
-			//real s9 = minusomega;
-			//test
-			//s9 = 0.;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// BGK
-			////////////////////////////////////////////////////////////////////////////////////
-			////2.
-			//mfabb += omega * (-mfabb);
-			//mfbab += omega * (-mfbab);
-			//mfbba += omega * (-mfbba);
-			//
-			//mfcaa += omega * (c1o3 * mfaaa - mfcaa);
-			//mfaca += omega * (c1o3 * mfaaa - mfaca);
-			//mfaac += omega * (c1o3 * mfaaa - mfaac);
-			//
-			////3.
-			//mfabc += omega * (-mfabc);
-			//mfbac += omega * (-mfbac);
-			//
-			//mfacb += omega * (-mfacb);
-			//mfbca += omega * (-mfbca);
-
-			//mfcab += omega * (-mfcab);
-			//mfcba += omega * (-mfcba);
-
-			//mfbbb += omega * (-mfbbb);
-
-			////4.
-			//mfacc += omega * (c1o9 * mfaaa - mfacc);
-			//mfcac += omega * (c1o9 * mfaaa - mfcac);
-			//mfcca += omega * (c1o9 * mfaaa - mfcca);
-
-			//mfbbc += omega * (-mfbbc);
-			//mfbcb += omega * (-mfbcb);
-			//mfcbb += omega * (-mfcbb);
-
-			////5.
-			//mfbcc += omega * (-mfbcc);
-			//mfcbc += omega * (-mfcbc);
-			//mfccb += omega * (-mfccb);
-
-			////6.
-			//mfccc += omega * (c1o27 * mfaaa - mfccc);
-			//////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			//////////////////////////////////////////////////////////////////////////////////////////
-			//////// Cumulants
-			//////////////////////////////////////////////////////////////////////////////////////////
-			//////real OxxPyyPzz = one;
-			//////real OxyyPxzz  = one;//two-omega;//
-			//////real OxyyMxzz  = one;//two-omega;//
-			//////real O4        = one;
-			//////real O5        = one;
-			//////real O6        = one;
-
-			////////Cum 4.
-			//////real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
-			//////real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
-			//////real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
-
-			//////real CUMcca = mfcca - (mfcaa * mfaca + two* mfbba * mfbba)- c1o3 * (mfcaa + mfaca);
-			//////real CUMcac = mfcac - (mfcaa * mfaac + two* mfbab * mfbab)- c1o3 * (mfcaa + mfaac);
-			//////real CUMacc = mfacc - (mfaac * mfaca + two* mfabb * mfabb)- c1o3 * (mfaac + mfaca);
-
-			////////Cum 5.
-			//////real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
-			//////				- c1o3 * (mfbca + mfbac); //O(eps^3)
-			//////real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
-			//////				- c1o3 * (mfcba + mfabc); //O(eps^3)
-			//////real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
-			//////				- c1o3 * (mfacb + mfcab);//O(eps^3)
-
-			////////Cum 6.
-			//////real CUMccc = mfccc +(-four*  mfbbb * mfbbb  //O(eps^6)
-			//////	                   -       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) // O(eps^4)
-			//////					   -  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc) // O(eps^6) 
-			//////					   -  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) // O(esp^6)
-			//////					   +( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) //O(eps^6)
-			//////					   +  two* (mfcaa * mfaca * mfaac) //O(eps^6)
-			//////					   + sixteen*  mfbba * mfbab * mfabb) //O(eps^6)
-			//////					   - c1o3* (mfacc + mfcac + mfcca) //O(eps^2)
-			//////					   + c1o9* (mfcaa + mfaca + mfaac) //O(eps^2)
-			//////					   +( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)//O(eps^4)
-			//////					   +       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3;//O(eps^4)
-
-
-			////////2.
-			//////// linear combinations
-			//////real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			//////real mxxMyy    = mfcaa - mfaca;
-			//////real mxxMzz	   = mfcaa - mfaac;
-
-			//////{
-			//////	real dxux = c1o2 * ((-omega) * (mxxMyy + mxxMzz) + (mfaaa - mxxPyyPzz));
-			//////	real dyuy = dxux + omega * c3o2 * mxxMyy;
-			//////	real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//////	//relax
-			//////	mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three* (one- c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//////	mxxMyy    += omega * (-mxxMyy) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//////	mxxMzz    += omega * (-mxxMzz) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			//////}
-			//////mfabb     += omega * (-mfabb);
-			//////mfbab     += omega * (-mfbab);
-			//////mfbba     += omega * (-mfbba);
-
-			//////// linear combinations back
-			//////mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			//////mfaca = c1o3 * (-two*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			//////mfaac = c1o3 * (       mxxMyy - two* mxxMzz + mxxPyyPzz);
-
-			////////3.
-			//////// linear combinations
-			//////real mxxyPyzz = mfcba + mfabc;
-			//////real mxxyMyzz = mfcba - mfabc;
-
-			//////real mxxzPyyz = mfcab + mfacb;
-			//////real mxxzMyyz = mfcab - mfacb;
-
-			//////real mxyyPxzz = mfbca + mfbac;
-			//////real mxyyMxzz = mfbca - mfbac;
-
-			////////relax
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			//////mfbbb     += wadjust * (-mfbbb);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			//////mxxyPyzz  += wadjust * (-mxxyPyzz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			//////mxxyMyzz  += wadjust * (-mxxyMyzz);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			//////mxxzPyyz  += wadjust * (-mxxzPyyz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			//////mxxzMyyz  += wadjust * (-mxxzMyyz);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			//////mxyyPxzz  += wadjust * (-mxyyPxzz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			//////mxyyMxzz  += wadjust * (-mxyyMxzz);
-
-			//////// linear combinations back
-			//////mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			//////mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			//////mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			//////mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			//////mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			//////mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			////////4.
-			//////CUMacc += O4 * (-CUMacc); 
-			//////CUMcac += O4 * (-CUMcac); 
-			//////CUMcca += O4 * (-CUMcca); 
-			//////
-			//////CUMbbc += O4 * (-CUMbbc); 
-			//////CUMbcb += O4 * (-CUMbcb); 
-			//////CUMcbb += O4 * (-CUMcbb); 
-			//////		
-			////////5.
-			//////CUMbcc += O5 * (-CUMbcc);
-			//////CUMcbc += O5 * (-CUMcbc);
-			//////CUMccb += O5 * (-CUMccb);
-
-			////////6.
-			//////CUMccc += O6 * (-CUMccc);
-			//////
-			////////back cumulants to central moments
-			////////4.
-			//////mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
-			//////mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
-			//////mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
-			//////			   
-			//////mfcca = CUMcca + (mfcaa * mfaca + two* mfbba * mfbba) + c1o3 * (mfcaa + mfaca);
-			//////mfcac = CUMcac + (mfcaa * mfaac + two* mfbab * mfbab) + c1o3 * (mfcaa + mfaac);
-			//////mfacc = CUMacc + (mfaac * mfaca + two* mfabb * mfabb) + c1o3 * (mfaac + mfaca);
-
-			////////5.
-			//////mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac);
-			//////mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc);
-			//////mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab);
-			//////
-			////////6.
-			//////mfccc = CUMccc  -((-four*  mfbbb * mfbbb  
-			//////				-       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			//////				-  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc)
-			//////				-  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-			//////				+( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-			//////				+  two* (mfcaa * mfaca * mfaac)
-			//////				+ sixteen*  mfbba * mfbab * mfabb)
-			//////				- c1o3* (mfacc + mfcac + mfcca)
-			//////				+ c1o9* (mfcaa + mfaca + mfaac)
-			//////				+( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-			//////				+       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3);
-			//////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz  = c8o1*(c2o1-omega)/(c8o1 -omega);//one;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz  = c8o1*(c2o1-omega)/(c8o1 -omega);//one;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4        = c1o1;
-			real O5        = c1o1;
-			real O6        = c1o1;
-
-			////Cum 4.
-			//real CUMcbb;	real CUMbcb;	real CUMbbc;
-			//real CUMcca;	real CUMcac;	real CUMacc;
-			////Cum 5.
-			//real CUMbcc;	real CUMcbc;	real CUMccb;
-			////Cum 6.
-			//real CUMccc;
-
-			//Cum 4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab); // /rho
-			real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb); // /rho
-			real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb); // /rho
-
-			real CUMcca = mfcca - ((mfcaa * mfaca + c2o1 * mfbba * mfbba) /* /rho*/ + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho);
-			real CUMcac = mfcac - ((mfcaa * mfaac + c2o1 * mfbab * mfbab) /* /rho*/ + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho);
-			real CUMacc = mfacc - ((mfaac * mfaca + c2o1 * mfabb * mfabb) /* /rho*/ + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho);
-
-			//Cum 5.
-			//real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
-			//				- c1o3 * (mfbca + mfbac); //O(eps^3)
-			//real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
-			//				- c1o3 * (mfcba + mfabc); //O(eps^3)
-			//real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
-			//				- c1o3 * (mfacb + mfcab);//O(eps^3)
-
-			real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho;
-			real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho;
-			real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//Cum 6.
-			real CUMccc = mfccc  +((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb)
-							-    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
-							-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1-c2o1* oMdrho)- c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) +c1o27*oMdrho;
-
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-			
-			//////////////////////////////////////////////////////////////////////////
-			//real magicBulk=(CUMacc+CUMcac+CUMcca)*(c1o1/OxxPyyPzz-c1o2)*c3o2*8.;
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 1
-			//real oxxyy,oxxzz,oxy,oxz,oyz;
-			//real smag=0.001;
-			//oxxyy    = omega+(one-omega)*abs(mxxMyy)/(abs(mxxMyy)+smag);
-			//oxxzz    = omega+(one-omega)*abs(mxxMzz)/(abs(mxxMzz)+smag);
-			//oxy      = omega+(one-omega)*abs(mfbba)/(abs(mfbba)+smag);
-			//oxz      = omega+(one-omega)*abs(mfbab)/(abs(mfbab)+smag);
-			//oyz      = omega+(one-omega)*abs(mfabb)/(abs(mfabb)+smag);
-
-			////////////////////////////////////////////////////////////////////////////
-			////Teil 1b
-			//real constante = 1000.0;
-			//real nuEddi = constante * abs(mxxPyyPzz);
-			//real omegaLimit = one / (one / omega + three * nuEddi);
-
-			//{
-			//	real dxux = c1o2 * (-omegaLimit) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			//	real dyuy = dxux + omegaLimit * c3o2 * mxxMyy;
-			//	real dzuz = dxux + omegaLimit * c3o2 * mxxMzz;
-
-				////relax
-				//mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				//mxxMyy    += omegaLimit * (-mxxMyy) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vy2 * dyuy);
-				//mxxMzz    += omegaLimit * (-mxxMzz) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vz2 * dzuz);
-
-			//}
-			//mfabb     += omegaLimit * (-mfabb);
-			//mfbab     += omegaLimit * (-mfbab);
-			//mfbba     += omegaLimit * (-mfbba);
-			////////////////////////////////////////////////////////////////////////////
-
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			////incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
- 			//{
- 			//	real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
- 			//	real dyuy = dxux + omega * c3o2 * mxxMyy;
- 			//	real dzuz = dxux + omega * c3o2 * mxxMzz;
- 
- 			//	//relax
- 			//	mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
- 			//	mxxMyy    += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
- 			//	mxxMzz    += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
- 
- 			//	//////////////////////////////////////////////////////////////////////////
- 			//	//limiter-Scheise Teil 2
- 			//	//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
- 			//	//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
- 			//	//////////////////////////////////////////////////////////////////////////
- 
- 			//}
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//no correction
-			mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			mxxMyy    += -(-omega) * (-mxxMyy);
-			mxxMzz    += -(-omega) * (-mxxMzz);
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb     += omega * (-mfabb);
-			mfbab     += omega * (-mfbab);
-			mfbba     += omega * (-mfbba);
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 3
-			//mfabb     += oyz * (-mfabb);
-			//mfbab     += oxz * (-mfbab);
-			//mfbba     += oxy * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-// 			wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-// 			mfbbb     += wadjust * (-mfbbb);
-// 			wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-// 			mxxyPyzz  += wadjust * (-mxxyPyzz);
-// 			wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-// 			mxxyMyzz  += wadjust * (-mxxyMyzz);
-// 			wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-// 			mxxzPyyz  += wadjust * (-mxxzPyyz);
-// 			wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-// 			mxxzMyyz  += wadjust * (-mxxzMyyz);
-// 			wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-// 			mxyyPxzz  += wadjust * (-mxyyPxzz);
-// 			wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-// 			mxyyMxzz  += wadjust * (-mxyyMxzz);
-			mfbbb     += OxyyMxzz * (-mfbbb);
-			mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-
-			//// linear combinations back
-			////generic
-			//mfcba =  zero;
-			//mfabc =  zero;
-			//mfcab =  zero;
-			//mfacb =  zero;
-			//mfbca =  zero;
-			//mfbac =  zero;
-
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//CUMacc =  zero; 
-			//CUMcac =  zero; 
-			//CUMcca =  zero; 
-			//	   
-			//CUMbbc =  zero; 
-			//CUMbcb =  zero; 
-			//CUMcbb =  zero; 
-			//	  
-			////5.   
-			//CUMbcc =  zero;
-			//CUMcbc =  zero;
-			//CUMccb =  zero;
-			//	   
-			////6.   
-			//CUMccc =  zero;
-
-			//4.
-			CUMacc += O4 * (-CUMacc); 
-			CUMcac += O4 * (-CUMcac); 
-			CUMcca += O4 * (-CUMcca); 
-			
-			CUMbbc += O4 * (-CUMbbc); 
-			CUMbcb += O4 * (-CUMbcb); 
-			CUMcbb += O4 * (-CUMcbb); 
-					
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-			
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb); 
-						   
-			mfcca = CUMcca + (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			mfcac = CUMcac + (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-			mfacc = CUMacc + (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-c1o1)*oMdrho;
-
-			//5.
-			mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho;
-			mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) * oMdrho;
-			mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) * oMdrho;
-			
-			//6.
-			mfccc = CUMccc  -(( -c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb)
-							-    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
-							-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1-c2o1* oMdrho)- c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) -c1o27*oMdrho;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa                * (c1o1- vz2)              - c1o1* oMdrho * vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca                  * (c1o1- vz2)              - c1o9 * oMdrho * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab                  * (c1o1- vy2)              - c2o3 * oMdrho * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab                  * (c1o1- vy2)              - c2o9 * oMdrho * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb                  * (c1o1- vx2)              - c4o9 * oMdrho * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00   ])[k   ] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[ dM00   ])[kw  ] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[ d0P0   ])[k   ] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[ d0M0   ])[ks  ] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[ d00P   ])[k   ] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[ d00M   ])[kb  ] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[ dPP0  ])[k   ] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[ dMM0  ])[ksw ] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[ dPM0  ])[ks  ] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[ dMP0  ])[kw  ] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[ dP0P  ])[k   ] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[ dM0M  ])[kbw ] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[ dP0M  ])[kb  ] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[ dM0P  ])[kw  ] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[ d0PP  ])[k   ] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[ d0MM  ])[kbs ] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[ d0PM  ])[kb  ] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[ d0MP  ])[ks  ] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[ d000])[k   ] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[ dPPP ])[k   ] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[ dPMP ])[ks  ] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[ dPPM ])[kb  ] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[ dPMM ])[kbs ] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[ dMPP ])[kw  ] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[ dMMP ])[ksw ] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[ dMPM ])[kbw ] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[ dMMM ])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Kum_Comp_SP_27(    real omega,
-														unsigned int* bcMatD,
-														unsigned int* neighborX,
-														unsigned int* neighborY,
-														unsigned int* neighborZ,
-														real* DDStart,
-														unsigned long long numberOfLBnodes,
-														bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kzero= k;
-			unsigned int ke   = k;
-			unsigned int kw   = neighborX[k];
-			unsigned int kn   = k;
-			unsigned int ks   = neighborY[k];
-			unsigned int kt   = k;
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			unsigned int kne  = k;
-			unsigned int kse  = ks;
-			unsigned int knw  = kw;
-			unsigned int kbw  = neighborZ[kw];
-			unsigned int kte  = k;
-			unsigned int kbe  = kb;
-			unsigned int ktw  = kw;
-			unsigned int kbs  = neighborZ[ks];
-			unsigned int ktn  = k;
-			unsigned int kbn  = kb;
-			unsigned int kts  = ks;
-			unsigned int ktse = ks;
-			unsigned int kbnw = kbw;
-			unsigned int ktnw = kw;
-			unsigned int kbse = kbs;
-			unsigned int ktsw = ksw;
-			unsigned int kbne = kb;
-			unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real f_E     = (D.f[dP00])[ke   ];// +  c2over27 ;
-			real f_W     = (D.f[dM00])[kw   ];// +  c2over27 ;
-			real f_N     = (D.f[d0P0])[kn   ];// +  c2over27 ;
-			real f_S     = (D.f[d0M0])[ks   ];// +  c2over27 ;
-			real f_T     = (D.f[d00P])[kt   ];// +  c2over27 ;
-			real f_B     = (D.f[d00M])[kb   ];// +  c2over27 ;
-			real f_NE    = (D.f[dPP0])[kne  ];// +  c1over54 ;
-			real f_SW    = (D.f[dMM0])[ksw  ];// +  c1over54 ;
-			real f_SE    = (D.f[dPM0])[kse  ];// +  c1over54 ;
-			real f_NW    = (D.f[dMP0])[knw  ];// +  c1over54 ;
-			real f_TE    = (D.f[dP0P])[kte  ];// +  c1over54 ;
-			real f_BW    = (D.f[dM0M])[kbw  ];// +  c1over54 ;
-			real f_BE    = (D.f[dP0M])[kbe  ];// +  c1over54 ;
-			real f_TW    = (D.f[dM0P])[ktw  ];// +  c1over54 ;
-			real f_TN    = (D.f[d0PP])[ktn  ];// +  c1over54 ;
-			real f_BS    = (D.f[d0MM])[kbs  ];// +  c1over54 ;
-			real f_BN    = (D.f[d0PM])[kbn  ];// +  c1over54 ;
-			real f_TS    = (D.f[d0MP])[kts  ];// +  c1over54 ;
-			real f_R     = (D.f[d000])[kzero];// +  c8over27 ;
-			real f_TNE   = (D.f[dPPP])[ktne ];// +  c1over216;
-			real f_TSW   = (D.f[dMMP])[ktsw ];// +  c1over216;
-			real f_TSE   = (D.f[dPMP])[ktse ];// +  c1over216;
-			real f_TNW   = (D.f[dMPP])[ktnw ];// +  c1over216;
-			real f_BNE   = (D.f[dPPM])[kbne ];// +  c1over216;
-			real f_BSW   = (D.f[dMMM])[kbsw ];// +  c1over216;
-			real f_BSE   = (D.f[dPMM])[kbse ];// +  c1over216;
-			real f_BNW   = (D.f[dMPM])[kbnw ];// +  c1over216;
-			////////////////////////////////////////////////////////////////////////////////////
-			real fx = c0o1;
-			real fy = c0o1;
-			real fz = c0o1;
-			////////////////////////////////////////////////////////////////////////////////////
-			real rho=f_NW+f_W+f_SW+f_S+f_SE+f_E+f_NE+f_N+f_R+f_TN+f_BN+f_TS+f_BS+f_TE+f_BE+f_TW+f_BW+f_TNW+f_BNW+f_TNE+f_BNE+f_TSW+f_BSW+f_TSE+f_BSE+f_T+f_B+c1o1;// ACHTUNG ne EINS !!!!!!!!
-			real pix=(f_NE+f_E+f_SE+f_TE+f_BE-f_NW-f_W-f_SW-f_TW-f_BW+f_TNE+f_BNE+f_TSE+f_BSE-f_TNW-f_BNW-f_TSW-f_BSW);
-			real piy=(f_NE+f_N+f_NW+f_TN+f_BN-f_SE-f_S-f_SW-f_TS-f_BS+f_TNE+f_BNE+f_TNW+f_BNW-f_TSE-f_BSE-f_TSW-f_BSW);
-			real piz=(f_TN+f_TS+f_TW+f_TE+f_T-f_BN-f_BS-f_BW-f_BE-f_B+f_TNE+f_TNW+f_TSE+f_TSW-f_BNE-f_BNW-f_BSE-f_BSW);
-			real vvx=pix/rho + fx;
-			real vvy=piy/rho + fy;
-			real vvz=piz/rho + fz;
-			real vx2=vvx*vvx;
-			real vy2=vvy*vvy;
-			real vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real mfaaa = f_BSW;
-			real mfaab = f_SW;
-			real mfaac = f_TSW;
-			real mfaba = f_BW;
-			real mfabb = f_W;
-			real mfabc = f_TW;
-			real mfbaa = f_BS;
-			real mfbab = f_S;
-			real mfbac = f_TS;
-			real mfbba = f_B;
-			real mfbbb = f_R;
-			real mfbbc = f_T;
-			real mfaca = f_BNW;
-			real mfacb = f_NW;
-			real mfacc = f_TNW;
-			real mfcaa = f_BSE;
-			real mfcab = f_SE;
-			real mfcac = f_TSE;
-			real mfcca = f_BNE;
-			real mfccb = f_NE;
-			real mfccc = f_TNE;
-			real mfbca = f_BN;
-			real mfbcb = f_N;
-			real mfbcc = f_TN;
-			real mfcba = f_BE;
-			real mfcbb = f_E;
-			real mfcbc = f_TE;
-			real m0, m1, m2;
-			real wadjust;
-			real qudricLimit = c1o100;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			//////////////////////////////////////////////////////////////////////////////////////
-			//// BGK
-			//////////////////////////////////////////////////////////////////////////////////////
-			////2.
-			//mfabb += -(-omega) * (-mfabb);
-			//mfbab += -(-omega) * (-mfbab);
-			//mfbba += -(-omega) * (-mfbba);
-			//
-			//mfcaa += -(-omega) * (c1o3 * mfaaa - mfcaa);
-			//mfaca += -(-omega) * (c1o3 * mfaaa - mfaca);
-			//mfaac += -(-omega) * (c1o3 * mfaaa - mfaac);
-			//
-			////3.
-			//mfabc += -(-omega) * (-mfabc);
-			//mfbac += -(-omega) * (-mfbac);
-			//
-			//mfacb += -(-omega) * (-mfacb);
-			//mfbca += -(-omega) * (-mfbca);
-
-			//mfcab += -(-omega) * (-mfcab);
-			//mfcba += -(-omega) * (-mfcba);
-
-			//mfbbb += -(-omega) * (-mfbbb);
-
-			////4.
-			//mfacc += -(-omega) * (c1o9 * mfaaa - mfacc);
-			//mfcac += -(-omega) * (c1o9 * mfaaa - mfcac);
-			//mfcca += -(-omega) * (c1o9 * mfaaa - mfcca);
-
-			//mfbbc += -(-omega) * (-mfbbc);
-			//mfbcb += -(-omega) * (-mfbcb);
-			//mfcbb += -(-omega) * (-mfcbb);
-
-			////5.
-			//mfbcc += -(-omega) * (-mfbcc);
-			//mfcbc += -(-omega) * (-mfcbc);
-			//mfccb += -(-omega) * (-mfccb);
-
-			////6.
-			//mfccc += -(-omega) * (c1o27 * mfaaa - mfccc);
-			//////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz  = c1o1;//two+(-omega);//one;
-			real OxyyMxzz  = c1o1;//two+(-omega);//one;
-			real O4        = c1o1;
-			real O5        = c1o1;
-			real O6        = c1o1;
-
-			//Cum 4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3 * rho) * mfabb + c2o1* mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3 * rho) * mfbab + c2o1* mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3 * rho) * mfbba + c2o1* mfbab * mfabb) / rho; 
-
-			real CUMcca = mfcca - (mfcaa * mfaca + c2o1* mfbba * mfbba) / rho - c1o3 * (mfcaa + mfaca);
-			real CUMcac = mfcac - (mfcaa * mfaac + c2o1* mfbab * mfbab) / rho - c1o3 * (mfcaa + mfaac);
-			real CUMacc = mfacc - (mfaac * mfaca + c2o1* mfabb * mfabb) / rho - c1o3 * (mfaac + mfaca);
-
-			//Cum 5.
-			real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1* mfabb * mfbbb + c2o1* (mfbab * mfacb + mfbba * mfabc)) / rho - c1o3 * (mfbca + mfbac);
-			real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1* mfbab * mfbbb + c2o1* (mfabb * mfcab + mfbba * mfbac)) / rho - c1o3 * (mfcba + mfabc);
-			real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1* mfbba * mfbbb + c2o1* (mfbab * mfbca + mfabb * mfcba)) / rho - c1o3 * (mfacb + mfcab);
-
-			//Cum 6.
-			real CUMccc = mfccc  +(  -c4o1*  mfbbb * mfbbb  
-									-          (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-									-    c4o1* (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-									-     c2o1* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-									+(   c4o1* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-									+     c2o1* (mfcaa * mfaca * mfaac)
-									+ c16o1*  mfbba * mfbab * mfabb) / (rho * rho)
-									-    c1o3* (mfacc + mfcac + mfcca)
-									+    c1o9* (mfcaa + mfaca + mfaac)
-									+(    c2o1* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-									+          (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3 / rho;
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-
-			//relax
-			//hat noch nicht so gut funktioniert...Optimierungsbedarf
-			//{
-			//	real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			//	real dyuy = dxux + omega * c3o2 * mxxMyy;
-			//	real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//	//relax
-			//	mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//	mxxMyy    += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//	mxxMzz    += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-
-			//	//////////////////////////////////////////////////////////////////////////
-			//	//limiter-Scheise Teil 2
-			//	//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//	//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			//	//////////////////////////////////////////////////////////////////////////
-
-			//}
-
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
- 			{
- 				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
- 				real dyuy = dxux + omega * c3o2 * mxxMyy;
- 				real dzuz = dxux + omega * c3o2 * mxxMzz;
- 
- 				//relax
- 				mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
- 				mxxMyy    += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
- 				mxxMzz    += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
- 
- 				//////////////////////////////////////////////////////////////////////////
- 				//limiter-Scheise Teil 2
- 				//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
- 				//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
- 				//////////////////////////////////////////////////////////////////////////
- 
- 			}
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb     += -(-omega) * (-mfabb);
-			mfbab     += -(-omega) * (-mfbab);
-			mfbba     += -(-omega) * (-mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			mfbbb     += wadjust * (-mfbbb);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			mxxyPyzz  += wadjust * (-mxxyPyzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			mxxyMyzz  += wadjust * (-mxxyMyzz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			mxxzPyyz  += wadjust * (-mxxzPyyz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			mxxzMyyz  += wadjust * (-mxxzMyyz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			mxyyPxzz  += wadjust * (-mxyyPxzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			mxyyMxzz  += wadjust * (-mxyyMxzz);
-
-			// linear combinations back
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			CUMacc += O4 * (-CUMacc); 
-			CUMcac += O4 * (-CUMcac); 
-			CUMcca += O4 * (-CUMcca); 
-
-			CUMbbc += O4 * (-CUMbbc); 
-			CUMbcb += O4 * (-CUMbcb); 
-			CUMcbb += O4 * (-CUMcbb); 
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3 * rho) * mfabb + c2o1* mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3 * rho) * mfbab + c2o1* mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3 * rho) * mfbba + c2o1* mfbab * mfabb) / rho; 
-
-			mfcca = CUMcca + (mfcaa * mfaca + c2o1* mfbba * mfbba) / rho + c1o3 * (mfcaa + mfaca);
-			mfcac = CUMcac + (mfcaa * mfaac + c2o1* mfbab * mfbab) / rho + c1o3 * (mfcaa + mfaac);
-			mfacc = CUMacc + (mfaac * mfaca + c2o1* mfabb * mfabb) / rho + c1o3 * (mfaac + mfaca);
-
-			//5.
-			mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + c4o1* mfabb * mfbbb + c2o1* (mfbab * mfacb + mfbba * mfabc)) / rho + c1o3 * (mfbca + mfbac);
-			mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + c4o1* mfbab * mfbbb + c2o1* (mfabb * mfcab + mfbba * mfbac)) / rho + c1o3 * (mfcba + mfabc);
-			mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + c4o1* mfbba * mfbbb + c2o1* (mfbab * mfbca + mfabb * mfcba)) / rho + c1o3 * (mfacb + mfcab);
-
-			//6.
-			mfccc = CUMccc  -(( -c4o1*  mfbbb * mfbbb  
-							-          (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1* (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1* (mfcaa * mfaca * mfaac)
-							+ c16o1*  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3* (mfacc + mfcac + mfcca)
-							+    c1o9* (mfcaa + mfaca + mfaac)
-							+(    c2o1* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-							+          (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3 / rho);
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + 1.) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa       * (c1o1- vz2)              - c1o1* vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + 1.) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca         * (c1o1- vz2)              - c1o3 * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa         * (c1o1- vz2)              - c1o3 * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca         * (c1o1- vz2)              - c1o9 * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa         * (c1o1- vy2)              - c1o6 * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab         * (c1o1- vy2)              - c2o3 * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac         * (c1o1- vy2)              - c1o6 * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa          * (c1o1- vy2)              - c1o18 * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab         * (c1o1- vy2)              - c2o9 * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac          * (c1o1- vy2)              - c1o18 * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa          * (c1o1- vx2)              - c1o36 * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba         * (c1o1- vx2)              - c1o9 * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca          * (c1o1- vx2)              - c1o36 * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab         * (c1o1- vx2)              - c1o9 * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb         * (c1o1- vx2)              - c4o9 * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb         * (c1o1- vx2)              - c1o9 * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac          * (c1o1- vx2)              - c1o36 * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc         * (c1o1- vx2)              - c1o9 * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc          * (c1o1- vx2)              - c1o36 * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;//                                                                     
-			(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;                                                                     
-			(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;
-			(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;
-			(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;
-			(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;
-			(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;
-			(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;
-			(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;
-			(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;
-			(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;
-			(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;
-			(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;
-			(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;
-			(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;
-			(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;
-			(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;
-			(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;
-			(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;
-			(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;
-			(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;
-			(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;
-			(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;
-			(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;
-			(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;
-			(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;
-			(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_Kum_New_Comp_SRT_SP_27(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	unsigned long long numberOfLBnodes,
-	int level,
-	real* forces,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if (BC >= GEO_FLUID)
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k   ];
-			real mfabb = (D.f[dM00])[kw  ];
-			real mfbcb = (D.f[d0P0])[k   ];
-			real mfbab = (D.f[d0M0])[ks  ];
-			real mfbbc = (D.f[d00P])[k   ];
-			real mfbba = (D.f[d00M])[kb  ];
-			real mfccb = (D.f[dPP0])[k   ];
-			real mfaab = (D.f[dMM0])[ksw ];
-			real mfcab = (D.f[dPM0])[ks  ];
-			real mfacb = (D.f[dMP0])[kw  ];
-			real mfcbc = (D.f[dP0P])[k   ];
-			real mfaba = (D.f[dM0M])[kbw ];
-			real mfcba = (D.f[dP0M])[kb  ];
-			real mfabc = (D.f[dM0P])[kw  ];
-			real mfbcc = (D.f[d0PP])[k   ];
-			real mfbaa = (D.f[d0MM])[kbs ];
-			real mfbca = (D.f[d0PM])[kb  ];
-			real mfbac = (D.f[d0MP])[ks  ];
-			real mfbbb = (D.f[d000])[k   ];
-			real mfccc = (D.f[dPPP])[k   ];
-			real mfaac = (D.f[dMMP])[ksw ];
-			real mfcac = (D.f[dPMP])[ks  ];
-			real mfacc = (D.f[dMPP])[kw  ];
-			real mfcca = (D.f[dPPM])[kb  ];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs ];
-			real mfaca = (D.f[dMPM])[kbw ];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-            real fx = forces[0] / (pow((double)c2o1, (double)level));
-            real fy = forces[1] / (pow((double)c2o1, (double)level));
-            real fz = forces[2] / (pow((double)c2o1, (double)level));
-			vvx += fx*c1o2;
-			vvy += fy*c1o2;
-			vvz += fz*c1o2;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real omega = omega_in;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//real wadjust;
-			//real qudricLimitP = c1o100;// * 0.0001f;
-			//real qudricLimitM = c1o100;// * 0.0001f;
-			//real qudricLimitD = c1o100;// * 0.001f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = omega;
-
-			////////////////////////////////////////////////////////////
-			//3.
-			//////////////////////////////
-			real OxyyPxzz = omega; 
-			real OxyyMxzz = omega; 
-			//real Oxyz = omega; 
-			////////////////////////////////////////////////////////////
-			//4.
-			//////////////////////////////
-			real O4 = omega;
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5 = omega;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6 = omega;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;	//ab 15.05.2015 verwendet
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			//+ c1o27*(one -three/rho +two/(rho*rho)));
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			//////////////////////////////////////////////////////////////////////////
-			// 			real magicBulk=(CUMacc+CUMcac+CUMcca)*(one/OxxPyyPzz-c1o2)*c3o2*8.;
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 1
-			//real oxxyy,oxxzz,oxy,oxz,oyz;
-			//real smag=0.001;
-			//oxxyy    = omega+(one-omega)*abs(mxxMyy)/(abs(mxxMyy)+smag);
-			//oxxzz    = omega+(one-omega)*abs(mxxMzz)/(abs(mxxMzz)+smag);
-			//oxy      = omega+(one-omega)*abs(mfbba)/(abs(mfbba)+smag);
-			//oxz      = omega+(one-omega)*abs(mfbab)/(abs(mfbab)+smag);
-			//oyz      = omega+(one-omega)*abs(mfabb)/(abs(mfabb)+smag);
-
-			////////////////////////////////////////////////////////////////////////////
-			////Teil 1b
-			//real constante = 1000.0;
-			//real nuEddi = constante * abs(mxxPyyPzz);
-			//real omegaLimit = one / (one / omega + three * nuEddi);
-
-			//{
-			//	real dxux = c1o2 * (-omegaLimit) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			//	real dyuy = dxux + omegaLimit * c3o2 * mxxMyy;
-			//	real dzuz = dxux + omegaLimit * c3o2 * mxxMzz;
-
-			////relax
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//mxxMyy    += omegaLimit * (-mxxMyy) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vy2 * dyuy);
-			//mxxMzz    += omegaLimit * (-mxxMzz) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vz2 * dzuz);
-
-			//}
-			//mfabb     += omegaLimit * (-mfabb);
-			//mfbab     += omegaLimit * (-mfbab);
-			//mfbba     += omegaLimit * (-mfbba);
-			////////////////////////////////////////////////////////////////////////////
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-				mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-				//////////////////////////////////////////////////////////////////////////
-				//limiter-Scheise Teil 2
-				//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-				//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-				//////////////////////////////////////////////////////////////////////////
-
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 3
-			//mfabb     += oyz * (-mfabb);
-			//mfbab     += oxz * (-mfbab);
-			//mfbba     += oxy * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			//wadjust    = Oxyz+(one-Oxyz)*abs(mfbbb)/(abs(mfbbb)+qudricLimitD);
-			//mfbbb     += wadjust * (-mfbbb);
-			//wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimitP);
-			//mxxyPyzz  += wadjust * (-mxxyPyzz);
-			//wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimitM);
-			//mxxyMyzz  += wadjust * (-mxxyMyzz);
-			//wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimitP);
-			//mxxzPyyz  += wadjust * (-mxxzPyyz);
-			//wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimitM);
-			//mxxzMyyz  += wadjust * (-mxxzMyyz);
-			//wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimitP);
-			//mxyyPxzz  += wadjust * (-mxyyPxzz);
-			//wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimitM);
-			//mxyyMxzz  += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			mfbbb += OxyyMxzz * (-mfbbb);
-			mxxyPyzz += OxyyPxzz * (-mxxyPyzz);
-			mxxyMyzz += OxyyMxzz * (-mxxyMyzz);
-			mxxzPyyz += OxyyPxzz * (-mxxzPyyz);
-			mxxzMyyz += OxyyMxzz * (-mxxzMyyz);
-			mxyyPxzz += OxyyPxzz * (-mxyyPxzz);
-			mxyyMxzz += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
-			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
-			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
-			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			CUMacc += O4 * (-CUMacc);
-			CUMcac += O4 * (-CUMcac);
-			CUMcca += O4 * (-CUMcca);
-
-			CUMbbc += O4 * (-CUMbbc);
-			CUMbcb += O4 * (-CUMbcb);
-			CUMcbb += O4 * (-CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho; 
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; 
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; 
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-	        //5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			//////////////////////////////////////////////////////////////////////////////////////
-			real drhoPost =
-				((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-					((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-			mfbbb += drho - drhoPost;
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k   ] = mfabb;                                                                   
-			(D.f[dM00])[kw  ] = mfcbb;                                                                 
-			(D.f[d0P0])[k   ] = mfbab;
-			(D.f[d0M0])[ks  ] = mfbcb;
-			(D.f[d00P])[k   ] = mfbba;
-			(D.f[d00M])[kb  ] = mfbbc;
-			(D.f[dPP0])[k   ] = mfaab;
-			(D.f[dMM0])[ksw ] = mfccb;
-			(D.f[dPM0])[ks  ] = mfacb;
-			(D.f[dMP0])[kw  ] = mfcab;
-			(D.f[dP0P])[k   ] = mfaba;
-			(D.f[dM0M])[kbw ] = mfcbc;
-			(D.f[dP0M])[kb  ] = mfabc;
-			(D.f[dM0P])[kw  ] = mfcba;
-			(D.f[d0PP])[k   ] = mfbaa;
-			(D.f[d0MM])[kbs ] = mfbcc;
-			(D.f[d0PM])[kb  ] = mfbac;
-			(D.f[d0MP])[ks  ] = mfbca;
-			(D.f[d000])[k   ] = mfbbb;
-			(D.f[dPPP])[k   ] = mfaaa;
-			(D.f[dPMP])[ks  ] = mfaca;
-			(D.f[dPPM])[kb  ] = mfaac;
-			(D.f[dPMM])[kbs ] = mfacc;
-			(D.f[dMPP])[kw  ] = mfcaa;
-			(D.f[dMMP])[ksw ] = mfcca;
-			(D.f[dMPM])[kbw ] = mfcac;
-			(D.f[dMMM])[kbsw] = mfccc;
-		}
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
diff --git a/src/gpu/core/GPU/Cumulant27chim.cu b/src/gpu/core/GPU/Cumulant27chim.cu
deleted file mode 100644
index b97aa68b1cb0ae40ed1dd20543501965ca2d5fc0..0000000000000000000000000000000000000000
--- a/src/gpu/core/GPU/Cumulant27chim.cu
+++ /dev/null
@@ -1,2277 +0,0 @@
-//=======================================================================================
-// ____          ____    __    ______     __________   __      __       __        __         
-// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |        
-//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |        
-//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |        
-//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____    
-//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|   
-//      \    \  |    |   ________________________________________________________________    
-//       \    \ |    |  |  ______________________________________________________________|   
-//        \    \|    |  |  |         __          __     __     __     ______      _______    
-//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)   
-//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______    
-//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
-//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/   
-//
-//  This file is part of VirtualFluids. VirtualFluids is free software: you can 
-//  redistribute it and/or modify it under the terms of the GNU General Public
-//  License as published by the Free Software Foundation, either version 3 of 
-//  the License, or (at your option) any later version.
-//  
-//  VirtualFluids is distributed in the hope that it will be useful, but WITHOUT 
-//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
-//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
-//  for more details.
-//  
-//  You should have received a copy of the GNU General Public License along
-//  with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
-//
-//! \file Cumulant27chim.cu
-//! \ingroup GPU
-//! \author Martin Schoenherr
-//=======================================================================================
-/* Device code */
-#include "LBM/LB.h"
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-
-#include <cmath>
-
-#include <lbm/ChimeraTransformation.h>
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void Cumulant_One_preconditioned_errorDiffusion_chim_Comp_SP_27(
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    ////////////////////////////////////////////////////////////////////////////////
-    const unsigned  x = threadIdx.x;  // Globaler x-Index 
-    const unsigned  y = blockIdx.x;   // Globaler y-Index 
-    const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-    const unsigned nx = blockDim.x;
-    const unsigned ny = gridDim.x;
-
-    const unsigned k = nx*(ny*z + y) + x;
-    //////////////////////////////////////////////////////////////////////////
-
-    if (k<numberOfLBnodes)
-    {
-        ////////////////////////////////////////////////////////////////////////////////
-        unsigned int BC;
-        BC = bcMatD[k];
-
-        if (BC >= GEO_FLUID/*(BC != GEO_SOLID) && (BC != GEO_VOID)*/)
-        {
-            Distributions27 D;
-            if (EvenOrOdd == true)
-            {
-                D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-                D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-                D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-                D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-                D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-                D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-                D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-                D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-                D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-                D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-                D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-                D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-                D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-                D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-                D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-                D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-                D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-                D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-                D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-                D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-                D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-                D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-                D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-                D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-                D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-                D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-            }
-            else
-            {
-                D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-                D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-                D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-                D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-                D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-                D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-                D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-                D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-                D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-                D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-                D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-                D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-                D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-                D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-                D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-                D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-                D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-                D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-                D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-                D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-                D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-                D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-                D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-                D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-                D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-                D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-            }
-
-            ////////////////////////////////////////////////////////////////////////////////
-            //index
-            //unsigned int kzero= k;
-            //unsigned int ke   = k;
-            unsigned int kw = neighborX[k];
-            //unsigned int kn   = k;
-            unsigned int ks = neighborY[k];
-            //unsigned int kt   = k;
-            unsigned int kb = neighborZ[k];
-            unsigned int ksw = neighborY[kw];
-            //unsigned int kne  = k;
-            //unsigned int kse  = ks;
-            //unsigned int knw  = kw;
-            unsigned int kbw = neighborZ[kw];
-            //unsigned int kte  = k;
-            //unsigned int kbe  = kb;
-            //unsigned int ktw  = kw;
-            unsigned int kbs = neighborZ[ks];
-            //unsigned int ktn  = k;
-            //unsigned int kbn  = kb;
-            //unsigned int kts  = ks;
-            //unsigned int ktse = ks;
-            //unsigned int kbnw = kbw;
-            //unsigned int ktnw = kw;
-            //unsigned int kbse = kbs;
-            //unsigned int ktsw = ksw;
-            //unsigned int kbne = kb;
-            //unsigned int ktne = k;
-            unsigned int kbsw = neighborZ[ksw];
-
-
-
-            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-            real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-            real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-            real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-            real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-            real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-            real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-            real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-            real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-            real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-            real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-            real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-            real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-            real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-            real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-            real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-            real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-            real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-            real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-            real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-            real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-            real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-            real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-            real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-            real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-            real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-            real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-                                               ////////////////////////////////////////////////////////////////////////////////////
-            real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-                (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-                ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-            real rho = c1o1 + drho;
-            ////////////////////////////////////////////////////////////////////////////////////
-            real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-                (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-                (mfcbb - mfabb)) / rho;
-            real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-                (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-                (mfbcb - mfbab)) / rho;
-            real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-                (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-                (mfbbc - mfbba)) / rho;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //the force be with you
-            real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-            real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-            real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-            vvx += fx*c1o2;
-            vvy += fy*c1o2;
-            vvz += fz*c1o2;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //real omega = omega_in;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //fast
-            //real oMdrho = c1o1; // comp special
-            //real m0, m1, m2;
-            real vx2;
-            real vy2;
-            real vz2;
-            vx2 = vvx*vvx;
-            vy2 = vvy*vvy;
-            vz2 = vvz*vvz;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //real wadjust;
-            //real qudricLimitP = c1o100;// * 0.0001f;
-            //real qudricLimitM = c1o100;// * 0.0001f;
-            //real qudricLimitD = c1o100;// * 0.001f;
-            //real s9 = minusomega;
-            //test
-            //s9 = 0.;
-
-
-            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            real EQcbb = c0o1;
-            real EQabb = c0o1;
-            real EQbcb = c0o1;
-            real EQbab = c0o1;
-            real EQbbc = c0o1;
-            real EQbba = c0o1;
-            real EQccb = c0o1;
-            real EQaab = c0o1;
-            real EQcab = c0o1;
-            real EQacb = c0o1;
-            real EQcbc = c0o1;
-            real EQaba = c0o1;
-            real EQcba = c0o1;
-            real EQabc = c0o1;
-            real EQbcc = c0o1;
-            real EQbaa = c0o1;
-            real EQbca = c0o1;
-            real EQbac = c0o1;
-            real EQbbb = c0o1;
-            real EQccc = drho * c1o27;
-            real EQaac = drho * c1o3;
-            real EQcac = drho * c1o9;
-            real EQacc = drho * c1o9;
-            real EQcca = drho * c1o9;
-            real EQaaa = drho;
-            real EQcaa = drho * c1o3;
-            real EQaca = drho * c1o3;
-            ////////////////////////////////////////////////////////////////////////////////////
-            vf::lbm::backwardChimeraWithK(EQaaa, EQaab, EQaac, vvz, vz2, c1o1);
-            vf::lbm::backwardChimeraWithK(EQaca, EQacb, EQacc, vvz, vz2, c1o3);
-            ///////////////////////////////////////////////////////////
-            EQcaa = EQaca; EQcab = EQacb; EQcac = EQacc;
-            ///////////////////////////////////////////////////////////
-            vf::lbm::backwardChimeraWithK(EQcca, EQccb, EQccc, vvz, vz2, c1o9);
-
-            vf::lbm::backwardChimeraWithK(EQaaa, EQaba, EQaca, vvy, vy2, c1o6);
-            vf::lbm::backwardChimeraWithK(EQaab, EQabb, EQacb, vvy, vy2, c2o3);
-            vf::lbm::backwardChimeraWithK(EQaac, EQabc, EQacc, vvy, vy2, c1o6);
-            vf::lbm::backwardChimeraWithK(EQcaa, EQcba, EQcca, vvy, vy2, c1o18);
-            vf::lbm::backwardChimeraWithK(EQcab, EQcbb, EQccb, vvy, vy2, c2o9);
-            vf::lbm::backwardChimeraWithK(EQcac, EQcbc, EQccc, vvy, vy2, c1o18);
-
-            vf::lbm::backwardChimeraWithK(EQaaa, EQbaa, EQcaa, vvx, vx2, c1o36);
-            vf::lbm::backwardChimeraWithK(EQaab, EQbab, EQcab, vvx, vx2, c1o9);
-            vf::lbm::backwardChimeraWithK(EQaac, EQbac, EQcac, vvx, vx2, c1o36);
-            vf::lbm::backwardChimeraWithK(EQaba, EQbba, EQcba, vvx, vx2, c1o9);
-            vf::lbm::backwardChimeraWithK(EQabb, EQbbb, EQcbb, vvx, vx2, c4o9);
-            vf::lbm::backwardChimeraWithK(EQabc, EQbbc, EQcbc, vvx, vx2, c1o9);
-            vf::lbm::backwardChimeraWithK(EQaca, EQbca, EQcca, vvx, vx2, c1o36);
-            vf::lbm::backwardChimeraWithK(EQacb, EQbcb, EQccb, vvx, vx2, c1o9);
-            vf::lbm::backwardChimeraWithK(EQacc, EQbcc, EQccc, vvx, vx2, c1o36);
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //Pre-condition
-            mfcbb -= EQcbb;
-            mfabb -= EQabb;
-            mfbcb -= EQbcb;
-            mfbab -= EQbab;
-            mfbbc -= EQbbc;
-            mfbba -= EQbba;
-            mfccb -= EQccb;
-            mfaab -= EQaab;
-            mfcab -= EQcab;
-            mfacb -= EQacb;
-            mfcbc -= EQcbc;
-            mfaba -= EQaba;
-            mfcba -= EQcba;
-            mfabc -= EQabc;
-            mfbcc -= EQbcc;
-            mfbaa -= EQbaa;
-            mfbca -= EQbca;
-            mfbac -= EQbac;
-            mfbbb -= EQbbb;
-            mfccc -= EQccc;
-            mfaac -= EQaac;
-            mfcac -= EQcac;
-            mfacc -= EQacc;
-            mfcca -= EQcca;
-            mfaaa -= EQaaa;
-            mfcaa -= EQcaa;
-            mfaca -= EQaca;
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //Hin
-            ////////////////////////////////////////////////////////////////////////////////////
-            vf::lbm::forwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
-            vf::lbm::forwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
-            vf::lbm::forwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
-            vf::lbm::forwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
-            vf::lbm::forwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
-            vf::lbm::forwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
-            vf::lbm::forwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
-            vf::lbm::forwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
-            vf::lbm::forwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
-
-            vf::lbm::forwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
-            vf::lbm::forwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-            vf::lbm::forwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
-            vf::lbm::forwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
-            vf::lbm::forwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-            vf::lbm::forwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
-            vf::lbm::forwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
-            vf::lbm::forwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-            vf::lbm::forwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
-
-            vf::lbm::forwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
-            vf::lbm::forwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-            vf::lbm::forwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
-            vf::lbm::forwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-            vf::lbm::forwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-            vf::lbm::forwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-            vf::lbm::forwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
-            vf::lbm::forwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-            vf::lbm::forwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
-
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////Hin
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// Z - Dir
-            //forwardChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbba, mfbbb, mfbbc, vvz, vz2, c4o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// Y - Dir
-            //forwardChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c1o6);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c1o18);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbaa, mfbba, mfbca, vvy, vy2, c2o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbac, mfbbc, mfbcc, vvy, vy2, c2o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c1o6);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c1o18);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// X - Dir
-            //forwardChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, one);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c1o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c1o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            // Cumulants
-            ////////////////////////////////////////////////////////////////////////////////////
-            real OxxPyyPzz = c1o1; //omega; // one;	//set the bulk viscosity one is high / two is very low and zero is (too) high
-
-            ////////////////////////////////////////////////////////////
-            //3.
-            //////////////////////////////
-            real OxyyPxzz = c1o1;
-            real OxyyMxzz = c1o1;
-            //real Oxyz = c1o1;
-            ////////////////////////////////////////////////////////////
-            //4.
-            //////////////////////////////
-            real O4 = c1o1;
-            ////////////////////////////////////////////////////////////
-            //5.
-            //////////////////////////////
-            real O5 = c1o1;
-            ////////////////////////////////////////////////////////////
-            //6.
-            //////////////////////////////
-            real O6 = c1o1;
-            ////////////////////////////////////////////////////////////
-
-
-            //central moments to cumulants
-            //4.
-            real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-            real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-            real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-            real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-            real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-            real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-            //5.
-            real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-            real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-            real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-            //6.
-
-            real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-                    + c2o1 * (mfcaa * mfaca * mfaac)
-                    + c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-                - c1o3 * (mfacc + mfcac + mfcca) / rho
-                - c1o9 * (mfcaa + mfaca + mfaac) / rho
-                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-                    + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-                + c1o27*((drho * drho - drho) / (rho*rho)));
-
-
-
-
-            //2.
-            // linear combinations
-            real mxxPyyPzz = mfcaa + mfaca + mfaac;
-            real mxxMyy = mfcaa - mfaca;
-            real mxxMzz = mfcaa - mfaac;
-
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            //incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-            {
-                real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-                real dyuy = dxux + omega * c3o2 * mxxMyy;
-                real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-                //relax
-                mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-                mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-                mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-            }
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            ////no correction
-            //mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-            //mxxMyy += -(-omega) * (-mxxMyy);
-            //mxxMzz += -(-omega) * (-mxxMzz);
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            mfabb += omega * (-mfabb);
-            mfbab += omega * (-mfbab);
-            mfbba += omega * (-mfbba);
-
-            //////////////////////////////////////////////////////////////////////////
-
-            // linear combinations back
-            mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-            mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-            mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-            //3.
-            // linear combinations
-
-            real mxxyPyzz = mfcba + mfabc;
-            real mxxyMyzz = mfcba - mfabc;
-
-            real mxxzPyyz = mfcab + mfacb;
-            real mxxzMyyz = mfcab - mfacb;
-
-            real mxyyPxzz = mfbca + mfbac;
-            real mxyyMxzz = mfbca - mfbac;
-
-            //relax
-            //////////////////////////////////////////////////////////////////////////
-            mfbbb += OxyyMxzz * (-mfbbb);
-            mxxyPyzz += OxyyPxzz * (-mxxyPyzz);
-            mxxyMyzz += OxyyMxzz * (-mxxyMyzz);
-            mxxzPyyz += OxyyPxzz * (-mxxzPyyz);
-            mxxzMyyz += OxyyMxzz * (-mxxzMyyz);
-            mxyyPxzz += OxyyPxzz * (-mxyyPxzz);
-            mxyyMxzz += OxyyMxzz * (-mxyyMxzz);
-            //////////////////////////////////////////////////////////////////////////
-
-            mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-            mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-            mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-            mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-            mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-            mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-            //4.
-            //////////////////////////////////////////////////////////////////////////
-            CUMacc += O4 * (-CUMacc);
-            CUMcac += O4 * (-CUMcac);
-            CUMcca += O4 * (-CUMcca);
-
-            CUMbbc += O4 * (-CUMbbc);
-            CUMbcb += O4 * (-CUMbcb);
-            CUMcbb += O4 * (-CUMcbb);
-            //////////////////////////////////////////////////////////////////////////
-
-
-            //5.
-            CUMbcc += O5 * (-CUMbcc);
-            CUMcbc += O5 * (-CUMcbc);
-            CUMccb += O5 * (-CUMccb);
-
-            //6.
-            CUMccc += O6 * (-CUMccc);
-
-
-
-            //back cumulants to central moments
-            //4.
-            mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-            mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-            mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-            mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-            mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-            mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-            //5.
-            mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-            mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-            mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-            //6.
-            mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-                    + c2o1 * (mfcaa * mfaca * mfaac)
-                    + c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-                - c1o3 * (mfacc + mfcac + mfcca) / rho
-                - c1o9 * (mfcaa + mfaca + mfaac) / rho
-                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-                    + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-                + c1o27*((drho * drho - drho) / (rho*rho)));
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //the force be with you
-            mfbaa = -mfbaa;
-            mfaba = -mfaba;
-            mfaab = -mfaab;
-            ////////////////////////////////////////////////////////////////////////////////////
-
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //back
-            ////////////////////////////////////////////////////////////////////////////////////
-            vf::lbm::backwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
-            vf::lbm::backwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
-            vf::lbm::backwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
-            vf::lbm::backwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
-            vf::lbm::backwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
-            vf::lbm::backwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
-            vf::lbm::backwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
-            vf::lbm::backwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
-            vf::lbm::backwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
-
-            vf::lbm::backwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
-            vf::lbm::backwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-            vf::lbm::backwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
-            vf::lbm::backwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
-            vf::lbm::backwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-            vf::lbm::backwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
-            vf::lbm::backwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
-            vf::lbm::backwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-            vf::lbm::backwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
-
-            vf::lbm::backwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
-            vf::lbm::backwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-            vf::lbm::backwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
-            vf::lbm::backwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-            vf::lbm::backwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-            vf::lbm::backwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-            vf::lbm::backwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
-            vf::lbm::backwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-            vf::lbm::backwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //mfcbb += EQcbb;
-            //mfabb += EQabb;
-            //mfbcb += EQbcb;
-            //mfbab += EQbab;
-            //mfbbc += EQbbc;
-            //mfbba += EQbba;
-            //mfccb += EQccb;
-            //mfaab += EQaab;
-            //mfcab += EQcab;
-            //mfacb += EQacb;
-            //mfcbc += EQcbc;
-            //mfaba += EQaba;
-            //mfcba += EQcba;
-            //mfabc += EQabc;
-            //mfbcc += EQbcc;
-            //mfbaa += EQbaa;
-            //mfbca += EQbca;
-            //mfbac += EQbac;
-            //mfbbb += EQbbb;
-            //mfccc += EQccc;
-            //mfaac += EQaac;
-            //mfcac += EQcac;
-            //mfacc += EQacc;
-            //mfcca += EQcca;
-            //mfaaa += EQaaa;
-            //mfcaa += EQcaa;
-            //mfaca += EQaca;
-            ////////////////////////////////////////////////////////////////////////////////////
-            ////Error diffusion
-            real fTEMP = mfbbb + EQbbb;
-            real delta0 = mfbbb - (fTEMP - EQbbb);
-            delta0 *= c1o4;
-            mfbbb = fTEMP;
-
-
-            fTEMP = mfcbb + EQcbb;
-            real deltacbb = mfcbb - (fTEMP - EQcbb);
-            mfcbb = fTEMP;
-            //mfcbb+=EQcbb;
-
-            fTEMP = mfabb + EQabb;
-            real deltaabb = mfabb - (fTEMP - EQabb);
-            mfabb = fTEMP;
-            //mfabb+=EQabb;
-
-            fTEMP = mfbcb + EQbcb;
-            real deltabcb = mfbcb - (fTEMP - EQbcb);
-            mfbcb = fTEMP;
-            //mfbcb+=EQbcb;
-
-            fTEMP = mfbab + EQbab;
-            real deltabab = mfbab - (fTEMP - EQbab);
-            mfbab = fTEMP;
-            //mfbab+=EQbab;
-
-            fTEMP = mfbbc + EQbbc;
-            real deltabbc = mfbbc - (fTEMP - EQbbc);
-            mfbbc = fTEMP;
-            //mfbbc+=EQbbc;
-
-            fTEMP = mfbba + EQbba;
-            real deltabba = mfbba - (fTEMP - EQbba);
-            mfbba = fTEMP;
-            //mfbba+=EQbba;
-
-            EQccb += (delta0 + c1o2*(deltacbb + deltabcb));
-            fTEMP = mfccb + EQccb;
-            real deltaccb = mfccb - (fTEMP - EQccb);
-            mfccb = fTEMP;
-            //mfccb+=EQccb+(delta0+c1o2*(deltacbb+deltabcb));
-
-            EQaab += (delta0 + c1o2*(deltaabb + deltabab));
-            fTEMP = mfaab + EQaab;
-            real deltaaab = mfaab - (fTEMP - EQaab);
-            mfaab = fTEMP;
-            //mfaab+=EQaab+(delta0+c1o2*(deltaabb+deltabab));
-
-            EQcab += (delta0 + c1o2*(deltacbb + deltabab));
-            fTEMP = mfcab + EQcab;
-            real deltacab = mfcab - (fTEMP - EQcab);
-            mfcab = fTEMP;
-            //mfcab+=EQcab+(delta0+c1o2*(deltacbb+deltabab));
-
-            EQacb += (delta0 + c1o2*(deltaabb + deltabcb));
-            fTEMP = mfacb + EQacb;
-            real deltaacb = mfacb - (fTEMP - EQacb);
-            mfacb = fTEMP;
-            //mfacb+=EQacb+(delta0+c1o2*(deltaabb+deltabcb));
-
-            EQcbc += (delta0 + c1o2*(deltacbb + deltabbc));
-            fTEMP = mfcbc + EQcbc;
-            real deltacbc = mfcbc - (fTEMP - EQcbc);
-            mfcbc = fTEMP;
-            //mfcbc+=EQcbc+(delta0+c1o2*(deltacbb+deltabbc));
-
-            EQaba += (delta0 + c1o2*(deltaabb + deltabba));
-            fTEMP = mfaba + EQaba;
-            real deltaaba = mfaba - (fTEMP - EQaba);
-            mfaba = fTEMP;
-            //mfaba+=EQaba+(delta0+c1o2*(deltaabb+deltabba));
-
-            EQcba += (delta0 + c1o2*(deltacbb + deltabba));
-            fTEMP = mfcba + EQcba;
-            real deltacba = mfcba - (fTEMP - EQcba);
-            mfcba = fTEMP;
-            //mfcba+=EQcba+(delta0+c1o2*(deltacbb+deltabba));
-
-            EQabc += (delta0 + c1o2*(deltaabb + deltabbc));
-            fTEMP = mfabc + EQabc;
-            real deltaabc = mfabc - (fTEMP - EQabc);
-            mfabc = fTEMP;
-            //mfabc+=EQabc+(delta0+c1o2*(deltaabb+deltabbc));
-
-            EQbcc += (delta0 + c1o2*(deltabcb + deltabbc));
-            fTEMP = mfbcc + EQbcc;
-            real deltabcc = mfbcc - (fTEMP - EQbcc);
-            mfbcc = fTEMP;
-            //mfbcc+=EQbcc+(delta0+c1o2*(deltabcb+deltabbc));
-
-            EQbaa += (delta0 + c1o2*(deltabab + deltabba));
-            fTEMP = mfbaa + EQbaa;
-            real deltabaa = mfbaa - (fTEMP - EQbaa);
-            mfbaa = fTEMP;
-            //mfbaa+=EQbaa+(delta0+c1o2*(deltabab+deltabba));
-
-            EQbca += (delta0 + c1o2*(deltabcb + deltabba));
-            fTEMP = mfbca + EQbca;
-            real deltabca = mfbca - (fTEMP - EQbca);
-            mfbca = fTEMP;
-            //mfbca+=EQbca+(delta0+c1o2*(deltabcb+deltabba));
-
-            EQbac += (delta0 + c1o2*(deltabab + deltabbc));
-            fTEMP = mfbac + EQbac;
-            real deltabac = mfbac - (fTEMP - EQbac);
-            mfbac = fTEMP;
-            //mfbac+=EQbac+(delta0+c1o2*(deltabab+deltabbc));
-
-            mfccc += EQccc - (delta0 + c1o4*(deltacbb + deltabcb + deltabbc) - c1o2*(deltabcc + deltacbc + deltaccb));
-            mfaac += EQaac - (delta0 + c1o4*(deltaabb + deltabab + deltabbc) - c1o2*(deltabac + deltaabc + deltaaab));
-            mfcac += EQcac - (delta0 + c1o4*(deltacbb + deltabab + deltabbc) - c1o2*(deltabac + deltacbc + deltacab));
-            mfacc += EQacc - (delta0 + c1o4*(deltaabb + deltabcb + deltabbc) - c1o2*(deltabcc + deltaabc + deltaacb));
-            mfcca += EQcca - (delta0 + c1o4*(deltacbb + deltabcb + deltabba) - c1o2*(deltabca + deltacba + deltaccb));
-            mfaaa += EQaaa - (delta0 + c1o4*(deltaabb + deltabab + deltabba) - c1o2*(deltabaa + deltaaba + deltaaab));
-            mfcaa += EQcaa - (delta0 + c1o4*(deltacbb + deltabab + deltabba) - c1o2*(deltabaa + deltacba + deltacab));
-            mfaca += EQaca - (delta0 + c1o4*(deltaabb + deltabcb + deltabba) - c1o2*(deltabca + deltaaba + deltaacb));
-
-
-
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////back
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// Z - Dir
-            //backwardChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, one);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c1o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
-            ///////////b//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
-            ///////////b//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c1o3);
-            ///////////c//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
-            ///////////c//////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// Y - Dir
-            //backwardChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c1o6);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaab, mfabb, mfacb, vvy, vy2, c2o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c1o6);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbaa, mfbba, mfbca, vvz, vz2);
-            ///////////b//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbab, mfbbb, mfbcb, vvz, vz2);
-            ///////////b//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbac, mfbbc, mfbcc, vvz, vz2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c1o18);
-            ///////////c//////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcab, mfcbb, mfccb, vvy, vy2, c2o9);
-            ///////////c//////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c1o18);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// X - Dir
-            //backwardChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaba, mfbba, mfcba, vvx, vx2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaab, mfbab, mfcab, vvx, vx2, c1o9);
-            /////////////b////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfabb, mfbbb, mfcbb, vvx, vx2, c4o9);
-            /////////////b////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfacb, mfbcb, mfccb, vvx, vx2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c1o36);
-            /////////////c////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfabc, mfbbc, mfcbc, vvx, vx2, c1o9);
-            /////////////c////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-
-            ////////////////////////////////////////////////////////////////////////////////////////
-            //real drhoPost =
-            //	((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-            //	(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-            //		((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-            //mfbbb += drho - drhoPost;
-            ////////////////////////////////////////////////////////////////////////////////////
-            (D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-            (D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-            (D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-            (D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-            (D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-            (D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-            (D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-            (D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-            (D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-            (D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-            (D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-            (D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-            (D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-            (D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-            (D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-            (D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-            (D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-            (D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-            (D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-            (D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-            (D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-            (D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-            (D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-            (D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-            (D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-            (D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-            (D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-                                        ////////////////////////////////////////////////////////////////////////////////////
-        }
-    }
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void Cumulant_One_preconditioned_chim_Comp_SP_27(
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    ////////////////////////////////////////////////////////////////////////////////
-    const unsigned  x = threadIdx.x;  // Globaler x-Index 
-    const unsigned  y = blockIdx.x;   // Globaler y-Index 
-    const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-    const unsigned nx = blockDim.x;
-    const unsigned ny = gridDim.x;
-
-    const unsigned k = nx*(ny*z + y) + x;
-    //////////////////////////////////////////////////////////////////////////
-
-    if (k<numberOfLBnodes)
-    {
-        ////////////////////////////////////////////////////////////////////////////////
-        unsigned int BC;
-        BC = bcMatD[k];
-
-        if (BC >= GEO_FLUID/*(BC != GEO_SOLID) && (BC != GEO_VOID)*/)
-        {
-            Distributions27 D;
-            if (EvenOrOdd == true)
-            {
-                D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-                D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-                D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-                D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-                D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-                D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-                D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-                D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-                D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-                D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-                D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-                D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-                D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-                D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-                D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-                D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-                D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-                D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-                D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-                D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-                D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-                D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-                D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-                D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-                D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-                D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-            }
-            else
-            {
-                D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-                D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-                D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-                D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-                D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-                D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-                D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-                D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-                D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-                D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-                D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-                D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-                D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-                D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-                D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-                D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-                D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-                D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-                D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-                D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-                D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-                D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-                D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-                D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-                D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-                D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-            }
-
-            ////////////////////////////////////////////////////////////////////////////////
-            //index
-            //unsigned int kzero= k;
-            //unsigned int ke   = k;
-            unsigned int kw = neighborX[k];
-            //unsigned int kn   = k;
-            unsigned int ks = neighborY[k];
-            //unsigned int kt   = k;
-            unsigned int kb = neighborZ[k];
-            unsigned int ksw = neighborY[kw];
-            //unsigned int kne  = k;
-            //unsigned int kse  = ks;
-            //unsigned int knw  = kw;
-            unsigned int kbw = neighborZ[kw];
-            //unsigned int kte  = k;
-            //unsigned int kbe  = kb;
-            //unsigned int ktw  = kw;
-            unsigned int kbs = neighborZ[ks];
-            //unsigned int ktn  = k;
-            //unsigned int kbn  = kb;
-            //unsigned int kts  = ks;
-            //unsigned int ktse = ks;
-            //unsigned int kbnw = kbw;
-            //unsigned int ktnw = kw;
-            //unsigned int kbse = kbs;
-            //unsigned int ktsw = ksw;
-            //unsigned int kbne = kb;
-            //unsigned int ktne = k;
-            unsigned int kbsw = neighborZ[ksw];
-
-
-
-            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-            real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-            real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-            real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-            real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-            real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-            real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-            real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-            real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-            real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-            real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-            real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-            real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-            real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-            real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-            real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-            real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-            real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-            real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-            real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-            real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-            real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-            real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-            real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-            real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-            real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-            real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-                                               ////////////////////////////////////////////////////////////////////////////////////
-            real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-                (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-                ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-            real rho = c1o1 + drho;
-            ////////////////////////////////////////////////////////////////////////////////////
-            real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-                (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-                (mfcbb - mfabb)) / rho;
-            real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-                (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-                (mfbcb - mfbab)) / rho;
-            real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-                (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-                (mfbbc - mfbba)) / rho;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //the force be with you
-            real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-            real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-            real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-            vvx += fx*c1o2;
-            vvy += fy*c1o2;
-            vvz += fz*c1o2;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //real omega = omega_in;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //fast
-            //real oMdrho = c1o1; // comp special
-            //real m0, m1, m2;
-            real vx2;
-            real vy2;
-            real vz2;
-            vx2 = vvx*vvx;
-            vy2 = vvy*vvy;
-            vz2 = vvz*vvz;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //real wadjust;
-            //real qudricLimitP = c1o100;// * 0.0001f;
-            //real qudricLimitM = c1o100;// * 0.0001f;
-            //real qudricLimitD = c1o100;// * 0.001f;
-            //real s9 = minusomega;
-            //test
-            //s9 = 0.;
-
-
-            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            real EQcbb = c0o1;
-            real EQabb = c0o1;
-            real EQbcb = c0o1;
-            real EQbab = c0o1;
-            real EQbbc = c0o1;
-            real EQbba = c0o1;
-            real EQccb = c0o1;
-            real EQaab = c0o1;
-            real EQcab = c0o1;
-            real EQacb = c0o1;
-            real EQcbc = c0o1;
-            real EQaba = c0o1;
-            real EQcba = c0o1;
-            real EQabc = c0o1;
-            real EQbcc = c0o1;
-            real EQbaa = c0o1;
-            real EQbca = c0o1;
-            real EQbac = c0o1;
-            real EQbbb = c0o1;
-            real EQccc = drho * c1o27;
-            real EQaac = drho * c1o3;
-            real EQcac = drho * c1o9;
-            real EQacc = drho * c1o9;
-            real EQcca = drho * c1o9;
-            real EQaaa = drho;
-            real EQcaa = drho * c1o3;
-            real EQaca = drho * c1o3;
-            ////////////////////////////////////////////////////////////////////////////////////
-            vf::lbm::backwardChimeraWithK(EQaaa, EQaab, EQaac, vvz, vz2, c1o1);
-            vf::lbm::backwardChimeraWithK(EQaca, EQacb, EQacc, vvz, vz2, c1o3);
-            ///////////////////////////////////////////////////////////
-            EQcaa = EQaca; EQcab = EQacb; EQcac = EQacc;
-            ///////////////////////////////////////////////////////////
-            vf::lbm::backwardChimeraWithK(EQcca, EQccb, EQccc, vvz, vz2, c1o9);
-
-            vf::lbm::backwardChimeraWithK(EQaaa, EQaba, EQaca, vvy, vy2, c1o6);
-            vf::lbm::backwardChimeraWithK(EQaab, EQabb, EQacb, vvy, vy2, c2o3);
-            vf::lbm::backwardChimeraWithK(EQaac, EQabc, EQacc, vvy, vy2, c1o6);
-            vf::lbm::backwardChimeraWithK(EQcaa, EQcba, EQcca, vvy, vy2, c1o18);
-            vf::lbm::backwardChimeraWithK(EQcab, EQcbb, EQccb, vvy, vy2, c2o9);
-            vf::lbm::backwardChimeraWithK(EQcac, EQcbc, EQccc, vvy, vy2, c1o18);
-
-            vf::lbm::backwardChimeraWithK(EQaaa, EQbaa, EQcaa, vvx, vx2, c1o36);
-            vf::lbm::backwardChimeraWithK(EQaab, EQbab, EQcab, vvx, vx2, c1o9);
-            vf::lbm::backwardChimeraWithK(EQaac, EQbac, EQcac, vvx, vx2, c1o36);
-            vf::lbm::backwardChimeraWithK(EQaba, EQbba, EQcba, vvx, vx2, c1o9);
-            vf::lbm::backwardChimeraWithK(EQabb, EQbbb, EQcbb, vvx, vx2, c4o9);
-            vf::lbm::backwardChimeraWithK(EQabc, EQbbc, EQcbc, vvx, vx2, c1o9);
-            vf::lbm::backwardChimeraWithK(EQaca, EQbca, EQcca, vvx, vx2, c1o36);
-            vf::lbm::backwardChimeraWithK(EQacb, EQbcb, EQccb, vvx, vx2, c1o9);
-            vf::lbm::backwardChimeraWithK(EQacc, EQbcc, EQccc, vvx, vx2, c1o36);
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //Pre-condition
-            mfcbb -= EQcbb;
-            mfabb -= EQabb;
-            mfbcb -= EQbcb;
-            mfbab -= EQbab;
-            mfbbc -= EQbbc;
-            mfbba -= EQbba;
-            mfccb -= EQccb;
-            mfaab -= EQaab;
-            mfcab -= EQcab;
-            mfacb -= EQacb;
-            mfcbc -= EQcbc;
-            mfaba -= EQaba;
-            mfcba -= EQcba;
-            mfabc -= EQabc;
-            mfbcc -= EQbcc;
-            mfbaa -= EQbaa;
-            mfbca -= EQbca;
-            mfbac -= EQbac;
-            mfbbb -= EQbbb;
-            mfccc -= EQccc;
-            mfaac -= EQaac;
-            mfcac -= EQcac;
-            mfacc -= EQacc;
-            mfcca -= EQcca;
-            mfaaa -= EQaaa;
-            mfcaa -= EQcaa;
-            mfaca -= EQaca;
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //Hin
-            ////////////////////////////////////////////////////////////////////////////////////
-            vf::lbm::forwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
-            vf::lbm::forwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
-            vf::lbm::forwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
-            vf::lbm::forwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
-            vf::lbm::forwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
-            vf::lbm::forwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
-            vf::lbm::forwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
-            vf::lbm::forwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
-            vf::lbm::forwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
-
-            vf::lbm::forwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
-            vf::lbm::forwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-            vf::lbm::forwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
-            vf::lbm::forwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
-            vf::lbm::forwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-            vf::lbm::forwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
-            vf::lbm::forwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
-            vf::lbm::forwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-            vf::lbm::forwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
-
-            vf::lbm::forwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
-            vf::lbm::forwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-            vf::lbm::forwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
-            vf::lbm::forwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-            vf::lbm::forwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-            vf::lbm::forwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-            vf::lbm::forwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
-            vf::lbm::forwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-            vf::lbm::forwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
-
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////Hin
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// Z - Dir
-            //forwardChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbba, mfbbb, mfbbc, vvz, vz2, c4o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// Y - Dir
-            //forwardChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c1o6);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c1o18);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbaa, mfbba, mfbca, vvy, vy2, c2o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfbac, mfbbc, mfbcc, vvy, vy2, c2o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c1o6);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c1o18);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// X - Dir
-            //forwardChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, one);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c1o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c1o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //forwardChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            // Cumulants
-            ////////////////////////////////////////////////////////////////////////////////////
-            real OxxPyyPzz = c1o1; //omega; // one;	//set the bulk viscosity one is high / two is very low and zero is (too) high
-
-            ////////////////////////////////////////////////////////////
-            //3.
-            //////////////////////////////
-            real OxyyPxzz = c1o1;
-            real OxyyMxzz = c1o1;
-            //real Oxyz = c1o1;
-            ////////////////////////////////////////////////////////////
-            //4.
-            //////////////////////////////
-            real O4 = c1o1;
-            ////////////////////////////////////////////////////////////
-            //5.
-            //////////////////////////////
-            real O5 = c1o1;
-            ////////////////////////////////////////////////////////////
-            //6.
-            //////////////////////////////
-            real O6 = c1o1;
-            ////////////////////////////////////////////////////////////
-
-
-            //central moments to cumulants
-            //4.
-            real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-            real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-            real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-            real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-            real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-            real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-            //5.
-            real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-            real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-            real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-            //6.
-
-            real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-                    + c2o1 * (mfcaa * mfaca * mfaac)
-                    + c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-                - c1o3 * (mfacc + mfcac + mfcca) / rho
-                - c1o9 * (mfcaa + mfaca + mfaac) / rho
-                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-                    + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-                + c1o27*((drho * drho - drho) / (rho*rho)));
-
-
-
-
-            //2.
-            // linear combinations
-            real mxxPyyPzz = mfcaa + mfaca + mfaac;
-            real mxxMyy = mfcaa - mfaca;
-            real mxxMzz = mfcaa - mfaac;
-
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            //incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-            {
-                real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-                real dyuy = dxux + omega * c3o2 * mxxMyy;
-                real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-                //relax
-                mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-                mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-                mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-            }
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            ////no correction
-            //mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-            //mxxMyy += -(-omega) * (-mxxMyy);
-            //mxxMzz += -(-omega) * (-mxxMzz);
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            mfabb += omega * (-mfabb);
-            mfbab += omega * (-mfbab);
-            mfbba += omega * (-mfbba);
-
-            //////////////////////////////////////////////////////////////////////////
-
-            // linear combinations back
-            mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-            mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-            mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-            //3.
-            // linear combinations
-
-            real mxxyPyzz = mfcba + mfabc;
-            real mxxyMyzz = mfcba - mfabc;
-
-            real mxxzPyyz = mfcab + mfacb;
-            real mxxzMyyz = mfcab - mfacb;
-
-            real mxyyPxzz = mfbca + mfbac;
-            real mxyyMxzz = mfbca - mfbac;
-
-            //relax
-            //////////////////////////////////////////////////////////////////////////
-            mfbbb += OxyyMxzz * (-mfbbb);
-            mxxyPyzz += OxyyPxzz * (-mxxyPyzz);
-            mxxyMyzz += OxyyMxzz * (-mxxyMyzz);
-            mxxzPyyz += OxyyPxzz * (-mxxzPyyz);
-            mxxzMyyz += OxyyMxzz * (-mxxzMyyz);
-            mxyyPxzz += OxyyPxzz * (-mxyyPxzz);
-            mxyyMxzz += OxyyMxzz * (-mxyyMxzz);
-            //////////////////////////////////////////////////////////////////////////
-
-            mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-            mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-            mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-            mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-            mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-            mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-            //4.
-            //////////////////////////////////////////////////////////////////////////
-            CUMacc += O4 * (-CUMacc);
-            CUMcac += O4 * (-CUMcac);
-            CUMcca += O4 * (-CUMcca);
-
-            CUMbbc += O4 * (-CUMbbc);
-            CUMbcb += O4 * (-CUMbcb);
-            CUMcbb += O4 * (-CUMcbb);
-            //////////////////////////////////////////////////////////////////////////
-
-
-            //5.
-            CUMbcc += O5 * (-CUMbcc);
-            CUMcbc += O5 * (-CUMcbc);
-            CUMccb += O5 * (-CUMccb);
-
-            //6.
-            CUMccc += O6 * (-CUMccc);
-
-
-
-            //back cumulants to central moments
-            //4.
-            mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-            mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-            mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-            mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-            mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-            mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-            //5.
-            mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-            mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-            mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-            //6.
-            mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-                    + c2o1 * (mfcaa * mfaca * mfaac)
-                    + c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-                - c1o3 * (mfacc + mfcac + mfcca) / rho
-                - c1o9 * (mfcaa + mfaca + mfaac) / rho
-                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-                    + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-                + c1o27*((drho * drho - drho) / (rho*rho)));
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //the force be with you
-            mfbaa = -mfbaa;
-            mfaba = -mfaba;
-            mfaab = -mfaab;
-            ////////////////////////////////////////////////////////////////////////////////////
-
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //back
-            ////////////////////////////////////////////////////////////////////////////////////
-            vf::lbm::backwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
-            vf::lbm::backwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
-            vf::lbm::backwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
-            vf::lbm::backwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
-            vf::lbm::backwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
-            vf::lbm::backwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
-            vf::lbm::backwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
-            vf::lbm::backwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
-            vf::lbm::backwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
-
-            vf::lbm::backwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
-            vf::lbm::backwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-            vf::lbm::backwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
-            vf::lbm::backwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
-            vf::lbm::backwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-            vf::lbm::backwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
-            vf::lbm::backwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
-            vf::lbm::backwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-            vf::lbm::backwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
-
-            vf::lbm::backwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
-            vf::lbm::backwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-            vf::lbm::backwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
-            vf::lbm::backwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-            vf::lbm::backwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-            vf::lbm::backwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-            vf::lbm::backwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
-            vf::lbm::backwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-            vf::lbm::backwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            mfcbb+=EQcbb;
-            mfabb+=EQabb;
-            mfbcb+=EQbcb;
-            mfbab+=EQbab;
-            mfbbc+=EQbbc;
-            mfbba+=EQbba;
-            mfccb+=EQccb;
-            mfaab+=EQaab;
-            mfcab+=EQcab;
-            mfacb+=EQacb;
-            mfcbc+=EQcbc;
-            mfaba+=EQaba;
-            mfcba+=EQcba;
-            mfabc+=EQabc;
-            mfbcc+=EQbcc;
-            mfbaa+=EQbaa;
-            mfbca+=EQbca;
-            mfbac+=EQbac;
-            mfbbb+=EQbbb;
-            mfccc+=EQccc;
-            mfaac+=EQaac;
-            mfcac+=EQcac;
-            mfacc+=EQacc;
-            mfcca+=EQcca;
-            mfaaa+=EQaaa;
-            mfcaa+=EQcaa;
-            mfaca+=EQaca;
-
-
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////back
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// Z - Dir
-            //backwardChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, one);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c1o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
-            ///////////b//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
-            ///////////b//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c1o3);
-            ///////////c//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
-            ///////////c//////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// Y - Dir
-            //backwardChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c1o6);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaab, mfabb, mfacb, vvy, vy2, c2o3);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c1o6);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbaa, mfbba, mfbca, vvz, vz2);
-            ///////////b//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbab, mfbbb, mfbcb, vvz, vz2);
-            ///////////b//////////////////////////////////////////////////////////////////////////
-            //backwardChimera(mfbac, mfbbc, mfbcc, vvz, vz2);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c1o18);
-            ///////////c//////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcab, mfcbb, mfccb, vvy, vy2, c2o9);
-            ///////////c//////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c1o18);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            ////mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-            //////////////////////////////////////////////////////////////////////////////////////
-            //// X - Dir
-            //backwardChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaba, mfbba, mfcba, vvx, vx2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaab, mfbab, mfcab, vvx, vx2, c1o9);
-            /////////////b////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfabb, mfbbb, mfcbb, vvx, vx2, c4o9);
-            /////////////b////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfacb, mfbcb, mfccb, vvx, vx2, c1o9);
-            //////////////////////////////////////////////////////////////////////////////////////
-            //////////////////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c1o36);
-            /////////////c////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfabc, mfbbc, mfcbc, vvx, vx2, c1o9);
-            /////////////c////////////////////////////////////////////////////////////////////////
-            //backwardChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c1o36);
-            //////////////////////////////////////////////////////////////////////////////////////
-
-            //////////////////////////////////////////////////////////////////////////////////////
-            real drhoPost =
-                ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-                (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-                    ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-            mfbbb += drho - drhoPost;
-            ////////////////////////////////////////////////////////////////////////////////////
-            (D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-            (D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-            (D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-            (D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-            (D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-            (D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-            (D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-            (D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-            (D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-            (D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-            (D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-            (D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-            (D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-            (D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-            (D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-            (D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-            (D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-            (D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-            (D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-            (D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-            (D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-            (D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-            (D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-            (D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-            (D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-            (D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-            (D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-            ////////////////////////////////////////////////////////////////////////////////////
-        }
-    }
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void Cumulant_One_chim_Comp_SP_27(
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    ////////////////////////////////////////////////////////////////////////////////
-    const unsigned  x = threadIdx.x;  // Globaler x-Index 
-    const unsigned  y = blockIdx.x;   // Globaler y-Index 
-    const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-    const unsigned nx = blockDim.x;
-    const unsigned ny = gridDim.x;
-
-    const unsigned k = nx*(ny*z + y) + x;
-    //////////////////////////////////////////////////////////////////////////
-
-    if (k<numberOfLBnodes)
-    {
-        ////////////////////////////////////////////////////////////////////////////////
-        unsigned int BC;
-        BC = bcMatD[k];
-
-        if (BC >= GEO_FLUID/*(BC != GEO_SOLID) && (BC != GEO_VOID)*/)
-        {
-            Distributions27 D;
-            if (EvenOrOdd == true)
-            {
-                D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-                D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-                D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-                D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-                D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-                D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-                D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-                D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-                D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-                D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-                D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-                D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-                D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-                D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-                D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-                D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-                D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-                D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-                D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-                D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-                D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-                D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-                D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-                D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-                D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-                D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-            }
-            else
-            {
-                D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-                D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-                D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-                D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-                D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-                D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-                D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-                D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-                D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-                D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-                D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-                D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-                D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-                D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-                D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-                D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-                D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-                D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-                D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-                D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-                D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-                D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-                D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-                D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-                D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-                D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-                D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-            }
-            ////////////////////////////////////////////////////////////////////////////////
-            //index
-            unsigned int kw = neighborX[k];
-            unsigned int ks = neighborY[k];
-            unsigned int kb = neighborZ[k];
-            unsigned int ksw = neighborY[kw];
-            unsigned int kbw = neighborZ[kw];
-            unsigned int kbs = neighborZ[ks];
-            unsigned int kbsw = neighborZ[ksw];
-            ////////////////////////////////////////////////////////////////////////////////////
-            real mfcbb = (D.f[dP00])[k   ];
-            real mfabb = (D.f[dM00])[kw  ];
-            real mfbcb = (D.f[d0P0])[k   ];
-            real mfbab = (D.f[d0M0])[ks  ];
-            real mfbbc = (D.f[d00P])[k   ];
-            real mfbba = (D.f[d00M])[kb  ];
-            real mfccb = (D.f[dPP0])[k   ];
-            real mfaab = (D.f[dMM0])[ksw ];
-            real mfcab = (D.f[dPM0])[ks  ];
-            real mfacb = (D.f[dMP0])[kw  ];
-            real mfcbc = (D.f[dP0P])[k   ];
-            real mfaba = (D.f[dM0M])[kbw ];
-            real mfcba = (D.f[dP0M])[kb  ];
-            real mfabc = (D.f[dM0P])[kw  ];
-            real mfbcc = (D.f[d0PP])[k   ];
-            real mfbaa = (D.f[d0MM])[kbs ];
-            real mfbca = (D.f[d0PM])[kb  ];
-            real mfbac = (D.f[d0MP])[ks  ];
-            real mfbbb = (D.f[d000])[k   ];
-            real mfccc = (D.f[dPPP])[k   ];
-            real mfaac = (D.f[dMMP])[ksw ];
-            real mfcac = (D.f[dPMP])[ks  ];
-            real mfacc = (D.f[dMPP])[kw  ];
-            real mfcca = (D.f[dPPM])[kb  ];
-            real mfaaa = (D.f[dMMM])[kbsw];
-            real mfcaa = (D.f[dPMM])[kbs ];
-            real mfaca = (D.f[dMPM])[kbw ];
-            ////////////////////////////////////////////////////////////////////////////////////
-            real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-                (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-                ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-            real rho = c1o1 + drho;
-            real OOrho = c1o1 / rho;
-            ////////////////////////////////////////////////////////////////////////////////////
-            real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-                (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-                (mfcbb - mfabb)) * OOrho;
-            real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-                (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-                (mfbcb - mfbab)) * OOrho;
-            real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-                (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-                (mfbbc - mfbba)) * OOrho;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //the force be with you
-            real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-            real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-            real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-            vvx += fx*c1o2;
-            vvy += fy*c1o2;
-            vvz += fz*c1o2;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //real omega = omega_in;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //fast
-            //real oMdrho = c1o1; // comp special
-            //real m0, m1, m2;
-            real vx2;
-            real vy2;
-            real vz2;
-            vx2 = vvx*vvx;
-            vy2 = vvy*vvy;
-            vz2 = vvz*vvz;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //real wadjust;
-            //real qudricLimitP = c1o100;// * 0.0001f;
-            //real qudricLimitM = c1o100;// * 0.0001f;
-            //real qudricLimitD = c1o100;// * 0.001f;
-            ////////////////////////////////////////////////////////////////////////////////////
-            //Hin
-            ////////////////////////////////////////////////////////////////////////////////////
-            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-            ////////////////////////////////////////////////////////////////////////////////////
-            // Z - Dir
-            vf::lbm::forwardInverseChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, 36.0f, c1o36);
-            vf::lbm::forwardInverseChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, 9.0f , c1o9 );
-            vf::lbm::forwardInverseChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, 36.0f, c1o36);
-            vf::lbm::forwardInverseChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, 9.0f , c1o9 );
-            vf::lbm::forwardInverseChimeraWithK(mfbba, mfbbb, mfbbc, vvz, vz2, 2.25f, c4o9 );
-            vf::lbm::forwardInverseChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, 9.0f , c1o9 );
-            vf::lbm::forwardInverseChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, 36.0f, c1o36);
-            vf::lbm::forwardInverseChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, 9.0f , c1o9 );
-            vf::lbm::forwardInverseChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, 36.0f, c1o36);
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-            ////////////////////////////////////////////////////////////////////////////////////
-            // Y - Dir
-            vf::lbm::forwardInverseChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, 6.0f , c1o6 );
-            vf::lbm::forwardChimera(     mfaab, mfabb, mfacb, vvy, vy2);
-            vf::lbm::forwardInverseChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, 18.0f, c1o18);
-            vf::lbm::forwardInverseChimeraWithK(mfbaa, mfbba, mfbca, vvy, vy2, 1.5f , c2o3 );
-            vf::lbm::forwardChimera(     mfbab, mfbbb, mfbcb, vvy, vy2);
-            vf::lbm::forwardInverseChimeraWithK(mfbac, mfbbc, mfbcc, vvy, vy2, 4.5f , c2o9 );
-            vf::lbm::forwardInverseChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, 6.0f , c1o6 );
-            vf::lbm::forwardChimera(     mfcab, mfcbb, mfccb, vvy, vy2);
-            vf::lbm::forwardInverseChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, 18.0f, c1o18);
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-            ////////////////////////////////////////////////////////////////////////////////////
-            // X - Dir
-            vf::lbm::forwardInverseChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1o1, c1o1);
-            vf::lbm::forwardChimera(     mfaba, mfbba, mfcba, vvx, vx2);
-            vf::lbm::forwardInverseChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, 3.0f, c1o3);
-            vf::lbm::forwardChimera(     mfaab, mfbab, mfcab, vvx, vx2);
-            vf::lbm::forwardChimera(     mfabb, mfbbb, mfcbb, vvx, vx2);
-            vf::lbm::forwardChimera(     mfacb, mfbcb, mfccb, vvx, vx2);
-            vf::lbm::forwardInverseChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, 3.0f, c1o3);
-            vf::lbm::forwardChimera(     mfabc, mfbbc, mfcbc, vvx, vx2);
-            vf::lbm::forwardInverseChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, 9.0f, c1o9);
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            // Cumulants
-            ////////////////////////////////////////////////////////////////////////////////////
-            real OxxPyyPzz = c1o1;
-            ////////////////////////////////////////////////////////////
-            //3.
-            //////////////////////////////
-            real OxyyPxzz = c1o1;
-            real OxyyMxzz = c1o1;
-            //real Oxyz = c1o1;
-            ////////////////////////////////////////////////////////////
-            //4.
-            //////////////////////////////
-            real O4 = c1o1;
-            ////////////////////////////////////////////////////////////
-            //5.
-            //////////////////////////////
-            real O5 = c1o1;
-            ////////////////////////////////////////////////////////////
-            //6.
-            //////////////////////////////
-            real O6 = c1o1;
-            ////////////////////////////////////////////////////////////
-
-
-            //central moments to cumulants
-            //4.
-            real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) * OOrho;
-            real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) * OOrho;
-            real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) * OOrho;
-
-            real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) * OOrho - c1o9*(drho * OOrho));
-            real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) * OOrho - c1o9*(drho * OOrho));
-            real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) * OOrho - c1o9*(drho * OOrho));
-
-            //5.
-            real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) * OOrho;
-            real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) * OOrho;
-            real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) * OOrho;
-
-            //6.
-            real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) * OOrho
-                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-                + c2o1 * (mfcaa * mfaca * mfaac)
-                + c16o1 *  mfbba * mfbab * mfabb) * OOrho * OOrho
-                - c1o3 * (mfacc + mfcac + mfcca) * OOrho
-                - c1o9 * (mfcaa + mfaca + mfaac) * OOrho
-                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-                + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) * OOrho * OOrho  * c2o3
-                + c1o27*((drho * drho - drho) * OOrho * OOrho ));
-
-
-            //2.
-            // linear combinations
-            real mxxPyyPzz = mfcaa + mfaca + mfaac;
-            real mxxMyy = mfcaa - mfaca;
-            real mxxMzz = mfcaa - mfaac;
-
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            //incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-            {
-                real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-                real dyuy = dxux + omega * c3o2 * mxxMyy;
-                real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-                //relax
-                mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-                mxxMyy    += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-                mxxMzz    += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-            }
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            ////no correction
-            //mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-            //mxxMyy += -(-omega) * (-mxxMyy);
-            //mxxMzz += -(-omega) * (-mxxMzz);
-            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-            mfabb += omega * (-mfabb);
-            mfbab += omega * (-mfbab);
-            mfbba += omega * (-mfbba);
-
-            //////////////////////////////////////////////////////////////////////////
-
-            // linear combinations back
-            mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-            mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-            mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-            //3.
-            // linear combinations
-
-            real mxxyPyzz = mfcba + mfabc;
-            real mxxyMyzz = mfcba - mfabc;
-
-            real mxxzPyyz = mfcab + mfacb;
-            real mxxzMyyz = mfcab - mfacb;
-
-            real mxyyPxzz = mfbca + mfbac;
-            real mxyyMxzz = mfbca - mfbac;
-
-            //relax
-            //////////////////////////////////////////////////////////////////////////
-            mfbbb     += OxyyMxzz * (-mfbbb);
-            mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-            mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-            mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-            mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-            mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-            mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-            //////////////////////////////////////////////////////////////////////////
-
-            mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-            mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-            mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-            mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-            mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-            mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-            //4.
-            //////////////////////////////////////////////////////////////////////////
-            CUMacc += O4 * (-CUMacc);
-            CUMcac += O4 * (-CUMcac);
-            CUMcca += O4 * (-CUMcca);
-
-            CUMbbc += O4 * (-CUMbbc);
-            CUMbcb += O4 * (-CUMbcb);
-            CUMcbb += O4 * (-CUMcbb);
-            //////////////////////////////////////////////////////////////////////////
-
-
-            //5.
-            CUMbcc += O5 * (-CUMbcc);
-            CUMcbc += O5 * (-CUMcbc);
-            CUMccb += O5 * (-CUMccb);
-
-            //6.
-            CUMccc += O6 * (-CUMccc);
-
-
-
-            //back cumulants to central moments
-            //4.
-            mfcbb = CUMcbb + c1o3*((c3o1*mfcaa + c1o1) * mfabb + c6o1 * mfbba * mfbab) * OOrho; 
-            mfbcb = CUMbcb + c1o3*((c3o1*mfaca + c1o1) * mfbab + c6o1 * mfbba * mfabb) * OOrho;
-            mfbbc = CUMbbc + c1o3*((c3o1*mfaac + c1o1) * mfbba + c6o1 * mfbab * mfabb) * OOrho;
-
-            mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba)*c9o1 + c3o1 * (mfcaa + mfaca)) * OOrho - (drho * OOrho))*c1o9;
-            mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab)*c9o1 + c3o1 * (mfcaa + mfaac)) * OOrho - (drho * OOrho))*c1o9;
-            mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb)*c9o1 + c3o1 * (mfaac + mfaca)) * OOrho - (drho * OOrho))*c1o9;
-
-            //5.
-            mfbcc = CUMbcc + c1o3 *(c3o1*(mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + (mfbca + mfbac)) * OOrho;
-            mfcbc = CUMcbc + c1o3 *(c3o1*(mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + (mfcba + mfabc)) * OOrho;
-            mfccb = CUMccb + c1o3 *(c3o1*(mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) +  (mfacb + mfcab)) * OOrho;
-
-            //6.
-            mfccc = 
-                CUMccc - ((-c4o1 *  mfbbb * mfbbb
-                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) * OOrho
-                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-                + c2o1 * (mfcaa * mfaca * mfaac)
-                + c16o1 *  mfbba * mfbab * mfabb) * OOrho * OOrho
-                - c1o3 * (mfacc + mfcac + mfcca) * OOrho
-                - c1o9 * (mfcaa + mfaca + mfaac) * OOrho
-                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-                + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) * OOrho * OOrho * c2o3
-                + c1o27*((drho * drho - drho) * OOrho * OOrho ));
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //the force be with you
-            mfbaa = -mfbaa;
-            mfaba = -mfaba;
-            mfaab = -mfaab;
-            ////////////////////////////////////////////////////////////////////////////////////
-
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //back
-            ////////////////////////////////////////////////////////////////////////////////////
-            //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-            ////////////////////////////////////////////////////////////////////////////////////
-            // X - Dir
-            vf::lbm::backwardInverseChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1o1, c1o1);
-            vf::lbm::backwardChimera(			mfaba, mfbba, mfcba, vvx, vx2);
-            vf::lbm::backwardInverseChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, 3.0f, c1o3);
-            vf::lbm::backwardChimera(			mfaab, mfbab, mfcab, vvx, vx2);
-            vf::lbm::backwardChimera(			mfabb, mfbbb, mfcbb, vvx, vx2);
-            vf::lbm::backwardChimera(			mfacb, mfbcb, mfccb, vvx, vx2);
-            vf::lbm::backwardInverseChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, 3.0f, c1o3);
-            vf::lbm::backwardChimera(			mfabc, mfbbc, mfcbc, vvx, vx2);
-            vf::lbm::backwardInverseChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, 9.0f, c1o9);
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-            ////////////////////////////////////////////////////////////////////////////////////
-            // Y - Dir
-            vf::lbm::backwardInverseChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, 6.0f , c1o6 );
-            vf::lbm::backwardChimera(			mfaab, mfabb, mfacb, vvy, vy2);
-            vf::lbm::backwardInverseChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, 18.0f, c1o18);
-            vf::lbm::backwardInverseChimeraWithK(mfbaa, mfbba, mfbca, vvy, vy2, 1.5f , c2o3 );
-            vf::lbm::backwardChimera(			mfbab, mfbbb, mfbcb, vvy, vy2);
-            vf::lbm::backwardInverseChimeraWithK(mfbac, mfbbc, mfbcc, vvy, vy2, 4.5f , c2o9 );
-            vf::lbm::backwardInverseChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, 6.0f , c1o6 );
-            vf::lbm::backwardChimera(			mfcab, mfcbb, mfccb, vvy, vy2);
-            vf::lbm::backwardInverseChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, 18.0f, c1o18);
-
-            ////////////////////////////////////////////////////////////////////////////////////
-            //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-            ////////////////////////////////////////////////////////////////////////////////////
-            // Z - Dir
-            vf::lbm::backwardInverseChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, 36.0f, c1o36);
-            vf::lbm::backwardInverseChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, 9.0f , c1o9 );
-            vf::lbm::backwardInverseChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, 36.0f, c1o36);
-            vf::lbm::backwardInverseChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, 9.0f , c1o9 );
-            vf::lbm::backwardInverseChimeraWithK(mfbba, mfbbb, mfbbc, vvz, vz2, 2.25f, c4o9 );
-            vf::lbm::backwardInverseChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, 9.0f , c1o9 );
-            vf::lbm::backwardInverseChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, 36.0f, c1o36);
-            vf::lbm::backwardInverseChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, 9.0f , c1o9 );
-            vf::lbm::backwardInverseChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, 36.0f, c1o36);
-
-            //////////////////////////////////////////////////////////////////////////////////////
-            real drhoPost =
-                ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-                (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-                    ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-            mfbbb += drho - drhoPost;
-            ////////////////////////////////////////////////////////////////////////////////////
-            (D.f[dP00])[k   ] = mfabb;                                                                   
-            (D.f[dM00])[kw  ] = mfcbb;                                                                 
-            (D.f[d0P0])[k   ] = mfbab;
-            (D.f[d0M0])[ks  ] = mfbcb;
-            (D.f[d00P])[k   ] = mfbba;
-            (D.f[d00M])[kb  ] = mfbbc;
-            (D.f[dPP0])[k   ] = mfaab;
-            (D.f[dMM0])[ksw ] = mfccb;
-            (D.f[dPM0])[ks  ] = mfacb;
-            (D.f[dMP0])[kw  ] = mfcab;
-            (D.f[dP0P])[k   ] = mfaba;
-            (D.f[dM0M])[kbw ] = mfcbc;
-            (D.f[dP0M])[kb  ] = mfabc;
-            (D.f[dM0P])[kw  ] = mfcba;
-            (D.f[d0PP])[k   ] = mfbaa;
-            (D.f[d0MM])[kbs ] = mfbcc;
-            (D.f[d0PM])[kb  ] = mfbac;
-            (D.f[d0MP])[ks  ] = mfbca;
-            (D.f[d000])[k   ] = mfbbb;
-            (D.f[dPPP])[k   ] = mfaaa;
-            (D.f[dPMP])[ks  ] = mfaca;
-            (D.f[dPPM])[kb  ] = mfaac;
-            (D.f[dPMM])[kbs ] = mfacc;
-            (D.f[dMPP])[kw  ] = mfcaa;
-            (D.f[dMMP])[ksw ] = mfcca;
-            (D.f[dMPM])[kbw ] = mfcac;
-            (D.f[dMMM])[kbsw] = mfccc;
-        }
-    }
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/gpu/core/GPU/Cumulant_F3_27.cu b/src/gpu/core/GPU/Cumulant_F3_27.cu
deleted file mode 100644
index c76103aeb4249fcb449ceb25d6cd6b2156170fe9..0000000000000000000000000000000000000000
--- a/src/gpu/core/GPU/Cumulant_F3_27.cu
+++ /dev/null
@@ -1,3093 +0,0 @@
-//  _    ___      __              __________      _     __        ______________   __
-// | |  / (_)____/ /___  ______ _/ / ____/ /_  __(_)___/ /____   /  ___/ __  / /  / /
-// | | / / / ___/ __/ / / / __ `/ / /_  / / / / / / __  / ___/  / /___/ /_/ / /  / /
-// | |/ / / /  / /_/ /_/ / /_/ / / __/ / / /_/ / / /_/ (__  )  / /_) / ____/ /__/ / 
-// |___/_/_/   \__/\__,_/\__,_/_/_/   /_/\__,_/_/\__,_/____/   \____/_/    \_____/
-//
-//////////////////////////////////////////////////////////////////////////
-/* Device code */
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-
-#include "math.h"
-
-/////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega,
-															 unsigned int* bcMatD,
-															 unsigned int* neighborX,
-															 unsigned int* neighborY,
-															 unsigned int* neighborZ,
-															 real* rhoOut,
-															 real* vxOut,
-															 real* vyOut,
-															 real* vzOut,
-															 real* DDStart,
-															 real* G6,
-															 unsigned long long numberOfLBnodes,
-															 int level,
-															 real* forces,
-															 bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k < numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			Distributions6 G;
-			if (EvenOrOdd == true)
-			{
-				G.g[dP00] = &G6[dP00 * numberOfLBnodes];
-				G.g[dM00] = &G6[dM00 * numberOfLBnodes];
-				G.g[d0P0] = &G6[d0P0 * numberOfLBnodes];
-				G.g[d0M0] = &G6[d0M0 * numberOfLBnodes];
-				G.g[d00P] = &G6[d00P * numberOfLBnodes];
-				G.g[d00M] = &G6[d00M * numberOfLBnodes];
-			}
-			else
-			{
-				G.g[dM00] = &G6[dP00 * numberOfLBnodes];
-				G.g[dP00] = &G6[dM00 * numberOfLBnodes];
-				G.g[d0M0] = &G6[d0P0 * numberOfLBnodes];
-				G.g[d0P0] = &G6[d0M0 * numberOfLBnodes];
-				G.g[d00M] = &G6[d00P * numberOfLBnodes];
-				G.g[d00P] = &G6[d00M * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mgcbb = (G.g[dP00])[k];
-			real mgabb = (G.g[dM00])[kw];
-			real mgbcb = (G.g[d0P0])[k];
-			real mgbab = (G.g[d0M0])[ks];
-			real mgbbc = (G.g[d00P])[k];
-			real mgbba = (G.g[d00M])[kb];
-			real dxuxdxux = c1o2 * (-mgcbb + mgabb);
-			real dyuydyuy = c1o2 * (-mgbcb + mgbab);
-			real dzuzdzuz = c1o2 * (-mgbbc + mgbba);
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];
-			real mfabb = (D.f[dM00])[kw];
-			real mfbcb = (D.f[d0P0])[k];
-			real mfbab = (D.f[d0M0])[ks];
-			real mfbbc = (D.f[d00P])[k];
-			real mfbba = (D.f[d00M])[kb];
-			real mfccb = (D.f[dPP0])[k];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];
-			real mfacb = (D.f[dMP0])[kw];
-			real mfcbc = (D.f[dP0P])[k];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];
-			real mfabc = (D.f[dM0P])[kw];
-			real mfbcc = (D.f[d0PP])[k];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];
-			real mfbac = (D.f[d0MP])[ks];
-			real mfbbb = (D.f[d000])[k];
-			real mfccc = (D.f[dPPP])[k];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks];
-			real mfacc = (D.f[dMPP])[kw];
-			real mfcca = (D.f[dPPM])[kb];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-            real fy = forces[1] / (pow((double)c2o1, (double)level)); // zero;
-            real fz = forces[2] / (pow((double)c2o1, (double)level)); // zero;
-			vvx += fx;
-			vvy += fy;
-			vvz += fz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real oMdrho = c1o1; // comp special
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real wadjust;
-			//real qudricLimitP = 0.01f;// * 0.0001f;
-			//real qudricLimitM = 0.01f;// * 0.0001f;
-			//real qudricLimitD = 0.01f;// * 0.001f;
-									  ////////////////////////////////////////////////////////////////////////////////////
-									  //Hin
-									  ////////////////////////////////////////////////////////////////////////////////////
-									  // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-									  ////////////////////////////////////////////////////////////////////////////////////
-									  // Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-
-									////////////////////////////////////////////////////////////
-									//3.
-									//////////////////////////////
-			//real OxyyPxzz = c8o1*(-c2o1 + omega)*(c1o1 + c2o1*omega) / (-c8o1 - c14o1*omega + c7o1*omega*omega);//one;
-			//real OxyyMxzz = c8o1*(-c2o1 + omega)*(-c7o1 + c4o1*omega) / (c56o1 - c50o1*omega + c9o1*omega*omega);//one;
-			//real Oxyz = c24o1*(-c2o1 + omega)*(-c2o1 - c7o1*omega + c3o1*omega*omega) / (c48o1 + c152o1*omega - c130o1*omega*omega + c29o1*omega*omega*omega);//one;
-																																										  ////////////////////////////////////////////////////////////
-			//central moments to cumulants
-			//4.
-			//real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			//real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			//real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			//real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			//real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			//real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			//real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			//real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			//real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			//real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-			//	- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			//	- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-			//	- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-			//	+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-			//		+ c2o1 * (mfcaa * mfaca * mfaac)
-			//		+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-			//	- c1o3 * (mfacc + mfcac + mfcca) / rho
-			//	- c1o9 * (mfcaa + mfaca + mfaac) / rho
-			//	+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-			//		+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-			//	+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			////////////////////////////////////////////////////////////////////////////
-			//real Dxy = -c3o1*omega*mfbba;
-			//real Dxz = -c3o1*omega*mfbab;
-			//real Dyz = -c3o1*omega*mfabb;
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-
-			real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			real dyuy = dxux + omega * c3o2 * mxxMyy;
-			real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			mgabb = vvx*dxux;
-			mgbab = vvy*dyuy;
-			mgbba = vvz*dzuz;
-
-			mgcbb = vvx*dxux;
-			mgbcb = vvy*dyuy;
-			mgbbc = vvz*dzuz;
-
-			//relax
-			mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)
-				+ (c6o1 - c3o1 * (omega + OxxPyyPzz) + omega * OxxPyyPzz) / (c3o1 * omega) *
-				(dxuxdxux + dyuydyuy + dzuzdzuz);
-			mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy)
-				+ omega * (c2o1*(c1o1 / omega - c1o2) * (c1o1 / omega - c1o2) - c1o6) * (dxuxdxux - dyuydyuy);
-			mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz)
-				+ omega * (c2o1*(c1o1 / omega - c1o2) * (c1o1 / omega - c1o2) - c1o6) *(dxuxdxux - dzuzdzuz);
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//Fehlberg
-			rhoOut[k] = (fabs(dxuxdxux) + fabs(dyuydyuy) + fabs(dzuzdzuz));
-			vxOut[k]  = (fabs(mxxyMyzz) + fabs(mxxzMyyz) + fabs(mxyyMxzz));
-			vyOut[k]  = (fabs(mxxyPyzz) + fabs(mxxzPyyz) + fabs(mxyyPxzz));
-			vzOut[k]  = (fabs(mfbbb));
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//////no correction
-			////mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			////mxxMyy    += -(-omega) * (-mxxMyy);
-			////mxxMzz    += -(-omega) * (-mxxMzz);
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//mfabb += omega * (-mfabb);
-			//mfbab += omega * (-mfbab);
-			//mfbba += omega * (-mfbba);
-			////////////////////////////////////////////////////////////////////////////
-
-			//// linear combinations back
-			//mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			//mfaca = c1o3 * (-two*  mxxMyy + mxxMzz + mxxPyyPzz);
-			//mfaac = c1o3 * (mxxMyy - two* mxxMzz + mxxPyyPzz);
-
-
-			////relax
-			////////////////////////////////////////////////////////////////////////////
-			////das ist der limiter
-			//wadjust = Oxyz + (one - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-			//mfbbb += wadjust * (-mfbbb);
-			//wadjust = OxyyPxzz + (one - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-			//mxxyPyzz += wadjust * (-mxxyPyzz);
-			//wadjust = OxyyMxzz + (one - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-			//mxxyMyzz += wadjust * (-mxxyMyzz);
-			//wadjust = OxyyPxzz + (one - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-			//mxxzPyyz += wadjust * (-mxxzPyyz);
-			//wadjust = OxyyMxzz + (one - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-			//mxxzMyyz += wadjust * (-mxxzMyyz);
-			//wadjust = OxyyPxzz + (one - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-			//mxyyPxzz += wadjust * (-mxyyPxzz);
-			//wadjust = OxyyMxzz + (one - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-			//mxyyMxzz += wadjust * (-mxyyMxzz);
-			////////////////////////////////////////////////////////////////////////////
-			////ohne limiter
-			////mfbbb     += OxyyMxzz * (-mfbbb);
-			////mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			////mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			////mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			////mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			////mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			////mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			////////////////////////////////////////////////////////////////////////////
-
-			//// linear combinations back
-			//mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			//mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			//mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			//mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			//mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			//mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			////4.
-			////////////////////////////////////////////////////////////////////////////
-			////mit limiter
-			////	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			////CUMacc    += wadjust * (-CUMacc);
-			////	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			////CUMcac    += wadjust * (-CUMcac); 
-			////	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			////CUMcca    += wadjust * (-CUMcca); 
-
-			////	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			////CUMbbc    += wadjust * (-CUMbbc); 
-			////	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			////CUMbcb    += wadjust * (-CUMbcb); 
-			////	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			////CUMcbb    += wadjust * (-CUMcbb); 
-			////////////////////////////////////////////////////////////////////////////
-			////ohne limiter
-			////CUMacc += O4 * (-CUMacc);
-			////CUMcac += O4 * (-CUMcac);
-			////CUMcca += O4 * (-CUMcca);
-			////CUMbbc += O4 * (-CUMbbc);
-			////CUMbcb += O4 * (-CUMbcb);
-			////CUMcbb += O4 * (-CUMcbb);
-			//CUMacc = -O4*(one / omega - c1o2)*(dyuy + dzuz)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMacc);
-			//CUMcac = -O4*(one / omega - c1o2)*(dxux + dzuz)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMcac);
-			//CUMcca = -O4*(one / omega - c1o2)*(dyuy + dxux)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMcca);
-			//CUMbbc = -O4*(one / omega - c1o2)*Dxy*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMbbc);
-			//CUMbcb = -O4*(one / omega - c1o2)*Dxz*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMbcb);
-			//CUMcbb = -O4*(one / omega - c1o2)*Dyz*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMcbb);
-			////////////////////////////////////////////////////////////////////////////
-
-
-			////5.
-			//CUMbcc += O5 * (-CUMbcc);
-			//CUMcbc += O5 * (-CUMcbc);
-			//CUMccb += O5 * (-CUMccb);
-
-			////6.
-			//CUMccc += O6 * (-CUMccc);
-
-
-
-			////back cumulants to central moments
-			////4.
-			//mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + two * mfbba * mfbab) / rho;
-			//mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + two * mfbba * mfabb) / rho;
-			//mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + two * mfbab * mfabb) / rho;
-
-			//mfcca = CUMcca + (((mfcaa * mfaca + two * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			//mfcac = CUMcac + (((mfcaa * mfaac + two * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			//mfacc = CUMacc + (((mfaac * mfaca + two * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			////5.
-			//mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			//mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			//mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			////6.
-
-			//mfccc = CUMccc - ((-four *  mfbbb * mfbbb
-			//	- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			//	- four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-			//	- two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-			//	+ (four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-			//		+ two * (mfcaa * mfaca * mfaac)
-			//		+ sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
-			//	- c1o3 * (mfacc + mfcac + mfcca) / rho
-			//	- c1o9 * (mfcaa + mfaca + mfaac) / rho
-			//	+ (two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-			//		+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-			//	+ c1o27*((drho * drho - drho) / (rho*rho)));
-			//////////////////////////////////////////////////////////////////////////////////////
-
-			//////////////////////////////////////////////////////////////////////////////////////
-			////the force be with you
-			//mfbaa = -mfbaa;
-			//mfaba = -mfaba;
-			//mfaab = -mfaab;
-			//////////////////////////////////////////////////////////////////////////////////////
-
-
-			//////////////////////////////////////////////////////////////////////////////////////
-			////back
-			//////////////////////////////////////////////////////////////////////////////////////
-			////mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			//////////////////////////////////////////////////////////////////////////////////////
-			//// Z - Dir
-			//m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + one* oMdrho) * (vz2 - vvz) * c1o2;
-			//m1 = -mfaac - two* mfaab *  vvz + mfaaa                * (one - vz2) - one* oMdrho * vz2;
-			//m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + one* oMdrho) * (vz2 + vvz) * c1o2;
-			//mfaaa = m0;
-			//mfaab = m1;
-			//mfaac = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			//m1 = -mfabc - two* mfabb *  vvz + mfaba * (one - vz2);
-			//m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			//mfaba = m0;
-			//mfabb = m1;
-			//mfabc = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			//m1 = -mfacc - two* mfacb *  vvz + mfaca                  * (one - vz2) - c1o3 * oMdrho * vz2;
-			//m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			//mfaca = m0;
-			//mfacb = m1;
-			//mfacc = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			//m1 = -mfbac - two* mfbab *  vvz + mfbaa * (one - vz2);
-			//m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			//mfbaa = m0;
-			//mfbab = m1;
-			//mfbac = m2;
-			///////////b//////////////////////////////////////////////////////////////////////////
-			//m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			//m1 = -mfbbc - two* mfbbb *  vvz + mfbba * (one - vz2);
-			//m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			//mfbba = m0;
-			//mfbbb = m1;
-			//mfbbc = m2;
-			///////////b//////////////////////////////////////////////////////////////////////////
-			//m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			//m1 = -mfbcc - two* mfbcb *  vvz + mfbca * (one - vz2);
-			//m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			//mfbca = m0;
-			//mfbcb = m1;
-			//mfbcc = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			//m1 = -mfcac - two* mfcab *  vvz + mfcaa                  * (one - vz2) - c1o3 * oMdrho * vz2;
-			//m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			//mfcaa = m0;
-			//mfcab = m1;
-			//mfcac = m2;
-			///////////c//////////////////////////////////////////////////////////////////////////
-			//m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			//m1 = -mfcbc - two* mfcbb *  vvz + mfcba * (one - vz2);
-			//m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			//mfcba = m0;
-			//mfcbb = m1;
-			//mfcbc = m2;
-			///////////c//////////////////////////////////////////////////////////////////////////
-			//m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			//m1 = -mfccc - two* mfccb *  vvz + mfcca                  * (one - vz2) - c1o9 * oMdrho * vz2;
-			//m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			//mfcca = m0;
-			//mfccb = m1;
-			//mfccc = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//////////////////////////////////////////////////////////////////////////////////////
-			////mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			//////////////////////////////////////////////////////////////////////////////////////
-			//// Y - Dir
-			//m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			//m1 = -mfaca - two* mfaba *  vvy + mfaaa                  * (one - vy2) - c1o6 * oMdrho * vy2;
-			//m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			//mfaaa = m0;
-			//mfaba = m1;
-			//mfaca = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			//m1 = -mfacb - two* mfabb *  vvy + mfaab                  * (one - vy2) - c2o3 * oMdrho * vy2;
-			//m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			//mfaab = m0;
-			//mfabb = m1;
-			//mfacb = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			//m1 = -mfacc - two* mfabc *  vvy + mfaac                  * (one - vy2) - c1o6 * oMdrho * vy2;
-			//m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			//mfaac = m0;
-			//mfabc = m1;
-			//mfacc = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			//m1 = -mfbca - two* mfbba *  vvy + mfbaa * (one - vy2);
-			//m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			//mfbaa = m0;
-			//mfbba = m1;
-			//mfbca = m2;
-			///////////b//////////////////////////////////////////////////////////////////////////
-			//m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			//m1 = -mfbcb - two* mfbbb *  vvy + mfbab * (one - vy2);
-			//m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			//mfbab = m0;
-			//mfbbb = m1;
-			//mfbcb = m2;
-			///////////b//////////////////////////////////////////////////////////////////////////
-			//m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			//m1 = -mfbcc - two* mfbbc *  vvy + mfbac * (one - vy2);
-			//m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			//mfbac = m0;
-			//mfbbc = m1;
-			//mfbcc = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			//m1 = -mfcca - two* mfcba *  vvy + mfcaa                   * (one - vy2) - c1o18 * oMdrho * vy2;
-			//m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			//mfcaa = m0;
-			//mfcba = m1;
-			//mfcca = m2;
-			///////////c//////////////////////////////////////////////////////////////////////////
-			//m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			//m1 = -mfccb - two* mfcbb *  vvy + mfcab                  * (one - vy2) - c2o9 * oMdrho * vy2;
-			//m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			//mfcab = m0;
-			//mfcbb = m1;
-			//mfccb = m2;
-			///////////c//////////////////////////////////////////////////////////////////////////
-			//m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			//m1 = -mfccc - two* mfcbc *  vvy + mfcac                   * (one - vy2) - c1o18 * oMdrho * vy2;
-			//m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			//mfcac = m0;
-			//mfcbc = m1;
-			//mfccc = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//////////////////////////////////////////////////////////////////////////////////////
-			////mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			//////////////////////////////////////////////////////////////////////////////////////
-			//// X - Dir
-			//m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			//m1 = -mfcaa - two* mfbaa *  vvx + mfaaa                   * (one - vx2) - c1o36 * oMdrho * vx2;
-			//m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			//mfaaa = m0;
-			//mfbaa = m1;
-			//mfcaa = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			//m1 = -mfcba - two* mfbba *  vvx + mfaba                  * (one - vx2) - c1o9 * oMdrho * vx2;
-			//m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			//mfaba = m0;
-			//mfbba = m1;
-			//mfcba = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			//m1 = -mfcca - two* mfbca *  vvx + mfaca                   * (one - vx2) - c1o36 * oMdrho * vx2;
-			//m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			//mfaca = m0;
-			//mfbca = m1;
-			//mfcca = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			//m1 = -mfcab - two* mfbab *  vvx + mfaab                  * (one - vx2) - c1o9 * oMdrho * vx2;
-			//m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			//mfaab = m0;
-			//mfbab = m1;
-			//mfcab = m2;
-			/////////////b////////////////////////////////////////////////////////////////////////
-			//m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			//m1 = -mfcbb - two* mfbbb *  vvx + mfabb                  * (one - vx2) - c4o9 * oMdrho * vx2;
-			//m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			//mfabb = m0;
-			//mfbbb = m1;
-			//mfcbb = m2;
-			/////////////b////////////////////////////////////////////////////////////////////////
-			//m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			//m1 = -mfccb - two* mfbcb *  vvx + mfacb                  * (one - vx2) - c1o9 * oMdrho * vx2;
-			//m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			//mfacb = m0;
-			//mfbcb = m1;
-			//mfccb = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//////////////////////////////////////////////////////////////////////////////////////
-			//m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			//m1 = -mfcac - two* mfbac *  vvx + mfaac                   * (one - vx2) - c1o36 * oMdrho * vx2;
-			//m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			//mfaac = m0;
-			//mfbac = m1;
-			//mfcac = m2;
-			/////////////c////////////////////////////////////////////////////////////////////////
-			//m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			//m1 = -mfcbc - two* mfbbc *  vvx + mfabc                  * (one - vx2) - c1o9 * oMdrho * vx2;
-			//m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			//mfabc = m0;
-			//mfbbc = m1;
-			//mfcbc = m2;
-			/////////////c////////////////////////////////////////////////////////////////////////
-			//m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			//m1 = -mfccc - two* mfbcc *  vvx + mfacc                   * (one - vx2) - c1o36 * oMdrho * vx2;
-			//m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			//mfacc = m0;
-			//mfbcc = m1;
-			//mfccc = m2;
-			//////////////////////////////////////////////////////////////////////////////////////
-
-			//////////////////////////////////////////////////////////////////////////////////////
-			//(D.f[dP00])[k] = mfabb;
-			//(D.f[dM00])[kw] = mfcbb;
-			//(D.f[d0P0])[k] = mfbab;
-			//(D.f[d0M0])[ks] = mfbcb;
-			//(D.f[d00P])[k] = mfbba;
-			//(D.f[d00M])[kb] = mfbbc;
-			//(D.f[dPP0])[k] = mfaab;
-			//(D.f[dMM0])[ksw] = mfccb;
-			//(D.f[dPM0])[ks] = mfacb;
-			//(D.f[dMP0])[kw] = mfcab;
-			//(D.f[dP0P])[k] = mfaba;
-			//(D.f[dM0M])[kbw] = mfcbc;
-			//(D.f[dP0M])[kb] = mfabc;
-			//(D.f[dM0P])[kw] = mfcba;
-			//(D.f[d0PP])[k] = mfbaa;
-			//(D.f[d0MM])[kbs] = mfbcc;
-			//(D.f[d0PM])[kb] = mfbac;
-			//(D.f[d0MP])[ks] = mfbca;
-			//(D.f[d000])[k] = mfbbb;
-			//(D.f[dPPP])[k] = mfaaa;
-			//(D.f[dPMP])[ks] = mfaca;
-			//(D.f[dPPM])[kb] = mfaac;
-			//(D.f[dPMM])[kbs] = mfacc;
-			//(D.f[dMPP])[kw] = mfcaa;
-			//(D.f[dMMP])[ksw] = mfcca;
-			//(D.f[dMPM])[kbw] = mfcac;
-			//(D.f[dMMM])[kbsw] = mfccc;
-			//////////////////////////////////////////////////////////////////////////////////////
-
-			//(G.g[dP00])[k] = mgabb;
-			//(G.g[dM00])[kw] = mgcbb;
-			//(G.g[d0P0])[k] = mgbab;
-			//(G.g[d0M0])[ks] = mgbcb;
-			//(G.g[d00P])[k] = mgbba;
-			//(G.g[d00M])[kb] = mgbbc;
-		}
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-///////////////////////////////////////////////////////////////////////////////////
-//__global__ void LB_Kernel_Cumulant_D3Q27F3_2018(	real omega,
-//															unsigned int* bcMatD,
-//															unsigned int* neighborX,
-//															unsigned int* neighborY,
-//															unsigned int* neighborZ,
-//															real* DDStart,
-//															real* G6,
-//															int size_Mat,
-//															int level,
-//															real* forces,
-//															bool EvenOrOdd)
-//{
-//	////////////////////////////////////////////////////////////////////////////////
-//	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-//	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-//	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-//
-//	const unsigned nx = blockDim.x;
-//	const unsigned ny = gridDim.x;
-//
-//	const unsigned k = nx*(ny*z + y) + x;
-//	//////////////////////////////////////////////////////////////////////////
-//
-//	if (k < size_Mat)
-//	{
-//		////////////////////////////////////////////////////////////////////////////////
-//		unsigned int BC;
-//		BC = bcMatD[k];
-//
-//		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-//		{
-//			Distributions27 D;
-//			if (EvenOrOdd == true)
-//			{
-//				D.f[dP00] = &DDStart[dP00 * size_Mat];
-//				D.f[dM00] = &DDStart[dM00 * size_Mat];
-//				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-//				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-//				D.f[d00P] = &DDStart[d00P * size_Mat];
-//				D.f[d00M] = &DDStart[d00M * size_Mat];
-//				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-//				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-//				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-//				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-//				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-//				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-//				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-//				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-//				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-//				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-//				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-//				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-//				D.f[d000] = &DDStart[d000 * size_Mat];
-//				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-//				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-//				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-//				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-//				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-//				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-//				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-//				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-//			}
-//			else
-//			{
-//				D.f[dM00] = &DDStart[dP00 * size_Mat];
-//				D.f[dP00] = &DDStart[dM00 * size_Mat];
-//				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-//				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-//				D.f[d00M] = &DDStart[d00P * size_Mat];
-//				D.f[d00P] = &DDStart[d00M * size_Mat];
-//				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-//				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-//				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-//				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-//				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-//				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-//				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-//				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-//				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-//				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-//				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-//				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-//				D.f[d000] = &DDStart[d000 * size_Mat];
-//				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-//				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-//				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-//				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-//				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-//				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-//				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-//				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-//			}
-//
-//			Distributions6 G;
-//			if (EvenOrOdd == true)
-//			{
-//				G.g[dP00] = &G6[dP00 * size_Mat];
-//				G.g[dM00] = &G6[dM00 * size_Mat];
-//				G.g[d0P0] = &G6[d0P0 * size_Mat];
-//				G.g[d0M0] = &G6[d0M0 * size_Mat];
-//				G.g[d00P] = &G6[d00P * size_Mat];
-//				G.g[d00M] = &G6[d00M * size_Mat];
-//			}
-//			else
-//			{
-//				G.g[dM00] = &G6[dP00 * size_Mat];
-//				G.g[dP00] = &G6[dM00 * size_Mat];
-//				G.g[d0M0] = &G6[d0P0 * size_Mat];
-//				G.g[d0P0] = &G6[d0M0 * size_Mat];
-//				G.g[d00M] = &G6[d00P * size_Mat];
-//				G.g[d00P] = &G6[d00M * size_Mat];
-//			}
-//
-//			////////////////////////////////////////////////////////////////////////////////
-//			//index
-//			//unsigned int kzero= k;
-//			//unsigned int ke   = k;
-//			unsigned int kw = neighborX[k];
-//			//unsigned int kn   = k;
-//			unsigned int ks = neighborY[k];
-//			//unsigned int kt   = k;
-//			unsigned int kb = neighborZ[k];
-//			unsigned int ksw = neighborY[kw];
-//			//unsigned int kne  = k;
-//			//unsigned int kse  = ks;
-//			//unsigned int knw  = kw;
-//			unsigned int kbw = neighborZ[kw];
-//			//unsigned int kte  = k;
-//			//unsigned int kbe  = kb;
-//			//unsigned int ktw  = kw;
-//			unsigned int kbs = neighborZ[ks];
-//			//unsigned int ktn  = k;
-//			//unsigned int kbn  = kb;
-//			//unsigned int kts  = ks;
-//			//unsigned int ktse = ks;
-//			//unsigned int kbnw = kbw;
-//			//unsigned int ktnw = kw;
-//			//unsigned int kbse = kbs;
-//			//unsigned int ktsw = ksw;
-//			//unsigned int kbne = kb;
-//			//unsigned int ktne = k;
-//			unsigned int kbsw = neighborZ[ksw];
-//			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			real mgcbb = (G.g[dP00])[k];
-//			real mgabb = (G.g[dM00])[kw];
-//			real mgbcb = (G.g[d0P0])[k];
-//			real mgbab = (G.g[d0M0])[ks];
-//			real mgbbc = (G.g[d00P])[k];
-//			real mgbba = (G.g[d00M])[kb];
-//			real dxuxdxux = c1o2 * (-mgcbb + mgabb);
-//			real dyuydyuy = c1o2 * (-mgbcb + mgbab);
-//			real dzuzdzuz = c1o2 * (-mgbbc + mgbba);
-//			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			real mfcbb = (D.f[dP00])[k];
-//			real mfabb = (D.f[dM00])[kw];
-//			real mfbcb = (D.f[d0P0])[k];
-//			real mfbab = (D.f[d0M0])[ks];
-//			real mfbbc = (D.f[d00P])[k];
-//			real mfbba = (D.f[d00M])[kb];
-//			real mfccb = (D.f[dPP0])[k];
-//			real mfaab = (D.f[dMM0])[ksw];
-//			real mfcab = (D.f[dPM0])[ks];
-//			real mfacb = (D.f[dMP0])[kw];
-//			real mfcbc = (D.f[dP0P])[k];
-//			real mfaba = (D.f[dM0M])[kbw];
-//			real mfcba = (D.f[dP0M])[kb];
-//			real mfabc = (D.f[dM0P])[kw];
-//			real mfbcc = (D.f[d0PP])[k];
-//			real mfbaa = (D.f[d0MM])[kbs];
-//			real mfbca = (D.f[d0PM])[kb];
-//			real mfbac = (D.f[d0MP])[ks];
-//			real mfbbb = (D.f[d000])[k];
-//			real mfccc = (D.f[dPPP])[k];
-//			real mfaac = (D.f[dMMP])[ksw];
-//			real mfcac = (D.f[dPMP])[ks];
-//			real mfacc = (D.f[dMPP])[kw];
-//			real mfcca = (D.f[dPPM])[kb];
-//			real mfaaa = (D.f[dMMM])[kbsw];
-//			real mfcaa = (D.f[dPMM])[kbs];
-//			real mfaca = (D.f[dMPM])[kbw];
-//			////////////////////////////////////////////////////////////////////////////////////
-//			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-//				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-//				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-//
-//			real rho = one + drho;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-//				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-//				(mfcbb - mfabb)) / rho;
-//			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-//				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-//				(mfbcb - mfbab)) / rho;
-//			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-//				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-//				(mfbbc - mfbba)) / rho;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//the force be with you
-//			real fx = forces[0] / (pow(two, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-//			real fy = forces[1] / (pow(two, level)); //zero;
-//			real fz = forces[2] / (pow(two, level)); //zero;
-//			vvx += fx;
-//			vvy += fy;
-//			vvz += fz;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			real oMdrho = one; // comp special
-//			real m0, m1, m2;
-//			real vx2;
-//			real vy2;
-//			real vz2;
-//			vx2 = vvx*vvx;
-//			vy2 = vvy*vvy;
-//			vz2 = vvz*vvz;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			real wadjust;
-//			real qudricLimitP = 0.01f;// * 0.0001f;
-//			real qudricLimitM = 0.01f;// * 0.0001f;
-//			real qudricLimitD = 0.01f;// * 0.001f;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//Hin
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// Z - Dir
-//			m2 = mfaaa + mfaac;
-//			m1 = mfaac - mfaaa;
-//			m0 = m2 + mfaab;
-//			mfaaa = m0;
-//			m0 += c1o36 * oMdrho;
-//			mfaab = m1 - m0 * vvz;
-//			mfaac = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaba + mfabc;
-//			m1 = mfabc - mfaba;
-//			m0 = m2 + mfabb;
-//			mfaba = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfabb = m1 - m0 * vvz;
-//			mfabc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaca + mfacc;
-//			m1 = mfacc - mfaca;
-//			m0 = m2 + mfacb;
-//			mfaca = m0;
-//			m0 += c1o36 * oMdrho;
-//			mfacb = m1 - m0 * vvz;
-//			mfacc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbaa + mfbac;
-//			m1 = mfbac - mfbaa;
-//			m0 = m2 + mfbab;
-//			mfbaa = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfbab = m1 - m0 * vvz;
-//			mfbac = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbba + mfbbc;
-//			m1 = mfbbc - mfbba;
-//			m0 = m2 + mfbbb;
-//			mfbba = m0;
-//			m0 += c4o9 * oMdrho;
-//			mfbbb = m1 - m0 * vvz;
-//			mfbbc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbca + mfbcc;
-//			m1 = mfbcc - mfbca;
-//			m0 = m2 + mfbcb;
-//			mfbca = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfbcb = m1 - m0 * vvz;
-//			mfbcc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcaa + mfcac;
-//			m1 = mfcac - mfcaa;
-//			m0 = m2 + mfcab;
-//			mfcaa = m0;
-//			m0 += c1o36 * oMdrho;
-//			mfcab = m1 - m0 * vvz;
-//			mfcac = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcba + mfcbc;
-//			m1 = mfcbc - mfcba;
-//			m0 = m2 + mfcbb;
-//			mfcba = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfcbb = m1 - m0 * vvz;
-//			mfcbc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcca + mfccc;
-//			m1 = mfccc - mfcca;
-//			m0 = m2 + mfccb;
-//			mfcca = m0;
-//			m0 += c1o36 * oMdrho;
-//			mfccb = m1 - m0 * vvz;
-//			mfccc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// Y - Dir
-//			m2 = mfaaa + mfaca;
-//			m1 = mfaca - mfaaa;
-//			m0 = m2 + mfaba;
-//			mfaaa = m0;
-//			m0 += c1o6 * oMdrho;
-//			mfaba = m1 - m0 * vvy;
-//			mfaca = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaab + mfacb;
-//			m1 = mfacb - mfaab;
-//			m0 = m2 + mfabb;
-//			mfaab = m0;
-//			mfabb = m1 - m0 * vvy;
-//			mfacb = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaac + mfacc;
-//			m1 = mfacc - mfaac;
-//			m0 = m2 + mfabc;
-//			mfaac = m0;
-//			m0 += c1o18 * oMdrho;
-//			mfabc = m1 - m0 * vvy;
-//			mfacc = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbaa + mfbca;
-//			m1 = mfbca - mfbaa;
-//			m0 = m2 + mfbba;
-//			mfbaa = m0;
-//			m0 += c2o3 * oMdrho;
-//			mfbba = m1 - m0 * vvy;
-//			mfbca = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbab + mfbcb;
-//			m1 = mfbcb - mfbab;
-//			m0 = m2 + mfbbb;
-//			mfbab = m0;
-//			mfbbb = m1 - m0 * vvy;
-//			mfbcb = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbac + mfbcc;
-//			m1 = mfbcc - mfbac;
-//			m0 = m2 + mfbbc;
-//			mfbac = m0;
-//			m0 += c2o9 * oMdrho;
-//			mfbbc = m1 - m0 * vvy;
-//			mfbcc = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcaa + mfcca;
-//			m1 = mfcca - mfcaa;
-//			m0 = m2 + mfcba;
-//			mfcaa = m0;
-//			m0 += c1o6 * oMdrho;
-//			mfcba = m1 - m0 * vvy;
-//			mfcca = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcab + mfccb;
-//			m1 = mfccb - mfcab;
-//			m0 = m2 + mfcbb;
-//			mfcab = m0;
-//			mfcbb = m1 - m0 * vvy;
-//			mfccb = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcac + mfccc;
-//			m1 = mfccc - mfcac;
-//			m0 = m2 + mfcbc;
-//			mfcac = m0;
-//			m0 += c1o18 * oMdrho;
-//			mfcbc = m1 - m0 * vvy;
-//			mfccc = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// X - Dir
-//			m2 = mfaaa + mfcaa;
-//			m1 = mfcaa - mfaaa;
-//			m0 = m2 + mfbaa;
-//			mfaaa = m0;
-//			m0 += one* oMdrho;
-//			mfbaa = m1 - m0 * vvx;
-//			mfcaa = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaba + mfcba;
-//			m1 = mfcba - mfaba;
-//			m0 = m2 + mfbba;
-//			mfaba = m0;
-//			mfbba = m1 - m0 * vvx;
-//			mfcba = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaca + mfcca;
-//			m1 = mfcca - mfaca;
-//			m0 = m2 + mfbca;
-//			mfaca = m0;
-//			m0 += c1o3 * oMdrho;
-//			mfbca = m1 - m0 * vvx;
-//			mfcca = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaab + mfcab;
-//			m1 = mfcab - mfaab;
-//			m0 = m2 + mfbab;
-//			mfaab = m0;
-//			mfbab = m1 - m0 * vvx;
-//			mfcab = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfabb + mfcbb;
-//			m1 = mfcbb - mfabb;
-//			m0 = m2 + mfbbb;
-//			mfabb = m0;
-//			mfbbb = m1 - m0 * vvx;
-//			mfcbb = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfacb + mfccb;
-//			m1 = mfccb - mfacb;
-//			m0 = m2 + mfbcb;
-//			mfacb = m0;
-//			mfbcb = m1 - m0 * vvx;
-//			mfccb = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaac + mfcac;
-//			m1 = mfcac - mfaac;
-//			m0 = m2 + mfbac;
-//			mfaac = m0;
-//			m0 += c1o3 * oMdrho;
-//			mfbac = m1 - m0 * vvx;
-//			mfcac = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfabc + mfcbc;
-//			m1 = mfcbc - mfabc;
-//			m0 = m2 + mfbbc;
-//			mfabc = m0;
-//			mfbbc = m1 - m0 * vvx;
-//			mfcbc = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfacc + mfccc;
-//			m1 = mfccc - mfacc;
-//			m0 = m2 + mfbcc;
-//			mfacc = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfbcc = m1 - m0 * vvx;
-//			mfccc = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// Cumulants
-//			////////////////////////////////////////////////////////////////////////////////////
-//			real OxxPyyPzz = one;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-//
-//			////////////////////////////////////////////////////////////
-//			//3.
-//			//////////////////////////////
-//			real OxyyPxzz = eight*(-two + omega)*(one + two*omega) / (-eight - fourteen*omega + seven*omega*omega);//one;
-//			real OxyyMxzz = eight*(-two + omega)*(-seven + four*omega) / (fiftysix - fifty*omega + nine*omega*omega);//one;
-//			real Oxyz = twentyfour*(-two + omega)*(-two - seven*omega + three*omega*omega) / (fourtyeight + c152*omega - c130*omega*omega + twentynine*omega*omega*omega);//one;
-//			////////////////////////////////////////////////////////////
-//			//4.
-//			//////////////////////////////
-//			real O4 = one;
-//			//////////////////////////////
-//			//real O4        = omega;//TRT
-//			////////////////////////////////////////////////////////////
-//			//5.
-//			//////////////////////////////
-//			real O5 = one;
-//			////////////////////////////////////////////////////////////
-//			//6.
-//			//////////////////////////////
-//			real O6 = one;
-//			////////////////////////////////////////////////////////////
-//
-//
-//			//central moments to cumulants
-//			//4.
-//			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + two * mfbba * mfbab) / rho;
-//			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + two * mfbba * mfabb) / rho;
-//			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + two * mfbab * mfabb) / rho;
-//
-//			real CUMcca = mfcca - (((mfcaa * mfaca + two * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-//			real CUMcac = mfcac - (((mfcaa * mfaac + two * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-//			real CUMacc = mfacc - (((mfaac * mfaca + two * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-//
-//			//5.
-//			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-//			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-//			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-//
-//			//6.
-//
-//			real CUMccc = mfccc + ((-four *  mfbbb * mfbbb
-//				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-//				- four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-//				- two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-//				+ (four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-//					+ two * (mfcaa * mfaca * mfaac)
-//					+ sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
-//				- c1o3 * (mfacc + mfcac + mfcca) / rho
-//				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-//				+ (two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-//					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-//				+ c1o27*((drho * drho - drho) / (rho*rho)));
-//
-//			//2.
-//			// linear combinations
-//			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-//			real mxxMyy = mfcaa - mfaca;
-//			real mxxMzz = mfcaa - mfaac;
-//
-//			////////////////////////////////////////////////////////////////////////////
-//			real Dxy = -three*omega*mfbba;
-//			real Dxz = -three*omega*mfbab;
-//			real Dyz = -three*omega*mfabb;
-//
-//			//3.
-//			// linear combinations
-//
-//			real mxxyPyzz = mfcba + mfabc;
-//			real mxxyMyzz = mfcba - mfabc;
-//
-//			real mxxzPyyz = mfcab + mfacb;
-//			real mxxzMyyz = mfcab - mfacb;
-//
-//			real mxyyPxzz = mfbca + mfbac;
-//			real mxyyMxzz = mfbca - mfbac;
-//
-//			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-//
-//			real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-//			real dyuy = dxux + omega * c3o2 * mxxMyy;
-//			real dzuz = dxux + omega * c3o2 * mxxMzz;
-//
-//			mgabb = vvx*dxux;
-//			mgbab = vvy*dyuy;
-//			mgbba = vvz*dzuz;
-//			
-//			mgcbb = vvx*dxux;
-//			mgbcb = vvy*dyuy;
-//			mgbbc = vvz*dzuz;
-//
-//			//relax
-//			mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)
-//				+ (six - three * (omega + OxxPyyPzz) + omega * OxxPyyPzz) / (three * omega) *
-//				(dxuxdxux+ dyuydyuy+ dzuzdzuz);
-//			mxxMyy += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy)
-//				      +  omega * (two*(one / omega - c1o2) * (one / omega - c1o2) - c1o6) * (dxuxdxux - dyuydyuy );
-//			mxxMzz += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz)
-//					  + omega * (two*(one / omega - c1o2) * (one / omega - c1o2) - c1o6) *(dxuxdxux - dzuzdzuz);
-//
-//			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-//			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			////no correction
-//			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-//			//mxxMyy    += -(-omega) * (-mxxMyy);
-//			//mxxMzz    += -(-omega) * (-mxxMzz);
-//			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			mfabb += omega * (-mfabb);
-//			mfbab += omega * (-mfbab);
-//			mfbba += omega * (-mfbba);
-//			//////////////////////////////////////////////////////////////////////////
-//
-//			// linear combinations back
-//			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-//			mfaca = c1o3 * (-two*  mxxMyy + mxxMzz + mxxPyyPzz);
-//			mfaac = c1o3 * (mxxMyy - two* mxxMzz + mxxPyyPzz);
-//
-//
-//			//relax
-//			//////////////////////////////////////////////////////////////////////////
-//			//das ist der limiter
-//			wadjust = Oxyz + (one - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-//			mfbbb += wadjust * (-mfbbb);
-//			wadjust = OxyyPxzz + (one - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-//			mxxyPyzz += wadjust * (-mxxyPyzz);
-//			wadjust = OxyyMxzz + (one - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-//			mxxyMyzz += wadjust * (-mxxyMyzz);
-//			wadjust = OxyyPxzz + (one - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-//			mxxzPyyz += wadjust * (-mxxzPyyz);
-//			wadjust = OxyyMxzz + (one - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-//			mxxzMyyz += wadjust * (-mxxzMyyz);
-//			wadjust = OxyyPxzz + (one - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-//			mxyyPxzz += wadjust * (-mxyyPxzz);
-//			wadjust = OxyyMxzz + (one - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-//			mxyyMxzz += wadjust * (-mxyyMxzz);
-//			//////////////////////////////////////////////////////////////////////////
-//			//ohne limiter
-//			//mfbbb     += OxyyMxzz * (-mfbbb);
-//			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-//			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-//			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-//			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-//			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-//			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-//			//////////////////////////////////////////////////////////////////////////
-//
-//			// linear combinations back
-//			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-//			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-//			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-//			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-//			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-//			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-//
-//			//4.
-//			//////////////////////////////////////////////////////////////////////////
-//			//mit limiter
-//			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-//			//CUMacc    += wadjust * (-CUMacc);
-//			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-//			//CUMcac    += wadjust * (-CUMcac); 
-//			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-//			//CUMcca    += wadjust * (-CUMcca); 
-//
-//			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-//			//CUMbbc    += wadjust * (-CUMbbc); 
-//			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-//			//CUMbcb    += wadjust * (-CUMbcb); 
-//			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-//			//CUMcbb    += wadjust * (-CUMcbb); 
-//			//////////////////////////////////////////////////////////////////////////
-//			//ohne limiter
-//			//CUMacc += O4 * (-CUMacc);
-//			//CUMcac += O4 * (-CUMcac);
-//			//CUMcca += O4 * (-CUMcca);
-//			//CUMbbc += O4 * (-CUMbbc);
-//			//CUMbcb += O4 * (-CUMbcb);
-//			//CUMcbb += O4 * (-CUMcbb);
-//			CUMacc = -O4*(one / omega - c1o2)*(dyuy + dzuz)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMacc);
-//			CUMcac = -O4*(one / omega - c1o2)*(dxux + dzuz)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMcac);
-//			CUMcca = -O4*(one / omega - c1o2)*(dyuy + dxux)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMcca);
-//			CUMbbc = -O4*(one / omega - c1o2)*Dxy*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMbbc);
-//			CUMbcb = -O4*(one / omega - c1o2)*Dxz*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMbcb);
-//			CUMcbb = -O4*(one / omega - c1o2)*Dyz*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMcbb);
-//			//////////////////////////////////////////////////////////////////////////
-//
-//
-//			//5.
-//			CUMbcc += O5 * (-CUMbcc);
-//			CUMcbc += O5 * (-CUMcbc);
-//			CUMccb += O5 * (-CUMccb);
-//
-//			//6.
-//			CUMccc += O6 * (-CUMccc);
-//
-//
-//
-//			//back cumulants to central moments
-//			//4.
-//			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + two * mfbba * mfbab) / rho;
-//			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + two * mfbba * mfabb) / rho;
-//			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + two * mfbab * mfabb) / rho;
-//
-//			mfcca = CUMcca + (((mfcaa * mfaca + two * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-//			mfcac = CUMcac + (((mfcaa * mfaac + two * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-//			mfacc = CUMacc + (((mfaac * mfaca + two * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-//
-//			//5.
-//			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-//			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-//			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-//
-//			//6.
-//
-//			mfccc = CUMccc - ((-four *  mfbbb * mfbbb
-//				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-//				- four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-//				- two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-//				+ (four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-//					+ two * (mfcaa * mfaca * mfaac)
-//					+ sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
-//				- c1o3 * (mfacc + mfcac + mfcca) / rho
-//				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-//				+ (two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-//					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-//				+ c1o27*((drho * drho - drho) / (rho*rho)));
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//the force be with you
-//			mfbaa = -mfbaa;
-//			mfaba = -mfaba;
-//			mfaab = -mfaab;
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//back
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// Z - Dir
-//			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + one* oMdrho) * (vz2 - vvz) * c1o2;
-//			m1 = -mfaac - two* mfaab *  vvz + mfaaa                * (one - vz2) - one* oMdrho * vz2;
-//			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + one* oMdrho) * (vz2 + vvz) * c1o2;
-//			mfaaa = m0;
-//			mfaab = m1;
-//			mfaac = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-//			m1 = -mfabc - two* mfabb *  vvz + mfaba * (one - vz2);
-//			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-//			mfaba = m0;
-//			mfabb = m1;
-//			mfabc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-//			m1 = -mfacc - two* mfacb *  vvz + mfaca                  * (one - vz2) - c1o3 * oMdrho * vz2;
-//			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-//			mfaca = m0;
-//			mfacb = m1;
-//			mfacc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-//			m1 = -mfbac - two* mfbab *  vvz + mfbaa * (one - vz2);
-//			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-//			mfbaa = m0;
-//			mfbab = m1;
-//			mfbac = m2;
-//			/////////b//////////////////////////////////////////////////////////////////////////
-//			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-//			m1 = -mfbbc - two* mfbbb *  vvz + mfbba * (one - vz2);
-//			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-//			mfbba = m0;
-//			mfbbb = m1;
-//			mfbbc = m2;
-//			/////////b//////////////////////////////////////////////////////////////////////////
-//			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-//			m1 = -mfbcc - two* mfbcb *  vvz + mfbca * (one - vz2);
-//			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-//			mfbca = m0;
-//			mfbcb = m1;
-//			mfbcc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-//			m1 = -mfcac - two* mfcab *  vvz + mfcaa                  * (one - vz2) - c1o3 * oMdrho * vz2;
-//			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-//			mfcaa = m0;
-//			mfcab = m1;
-//			mfcac = m2;
-//			/////////c//////////////////////////////////////////////////////////////////////////
-//			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-//			m1 = -mfcbc - two* mfcbb *  vvz + mfcba * (one - vz2);
-//			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-//			mfcba = m0;
-//			mfcbb = m1;
-//			mfcbc = m2;
-//			/////////c//////////////////////////////////////////////////////////////////////////
-//			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-//			m1 = -mfccc - two* mfccb *  vvz + mfcca                  * (one - vz2) - c1o9 * oMdrho * vz2;
-//			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-//			mfcca = m0;
-//			mfccb = m1;
-//			mfccc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// Y - Dir
-//			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfaca - two* mfaba *  vvy + mfaaa                  * (one - vy2) - c1o6 * oMdrho * vy2;
-//			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfaaa = m0;
-//			mfaba = m1;
-//			mfaca = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfacb - two* mfabb *  vvy + mfaab                  * (one - vy2) - c2o3 * oMdrho * vy2;
-//			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfaab = m0;
-//			mfabb = m1;
-//			mfacb = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfacc - two* mfabc *  vvy + mfaac                  * (one - vy2) - c1o6 * oMdrho * vy2;
-//			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfaac = m0;
-//			mfabc = m1;
-//			mfacc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-//			m1 = -mfbca - two* mfbba *  vvy + mfbaa * (one - vy2);
-//			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-//			mfbaa = m0;
-//			mfbba = m1;
-//			mfbca = m2;
-//			/////////b//////////////////////////////////////////////////////////////////////////
-//			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-//			m1 = -mfbcb - two* mfbbb *  vvy + mfbab * (one - vy2);
-//			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-//			mfbab = m0;
-//			mfbbb = m1;
-//			mfbcb = m2;
-//			/////////b//////////////////////////////////////////////////////////////////////////
-//			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-//			m1 = -mfbcc - two* mfbbc *  vvy + mfbac * (one - vy2);
-//			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-//			mfbac = m0;
-//			mfbbc = m1;
-//			mfbcc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfcca - two* mfcba *  vvy + mfcaa                   * (one - vy2) - c1o18 * oMdrho * vy2;
-//			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfcaa = m0;
-//			mfcba = m1;
-//			mfcca = m2;
-//			/////////c//////////////////////////////////////////////////////////////////////////
-//			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfccb - two* mfcbb *  vvy + mfcab                  * (one - vy2) - c2o9 * oMdrho * vy2;
-//			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfcab = m0;
-//			mfcbb = m1;
-//			mfccb = m2;
-//			/////////c//////////////////////////////////////////////////////////////////////////
-//			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfccc - two* mfcbc *  vvy + mfcac                   * (one - vy2) - c1o18 * oMdrho * vy2;
-//			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfcac = m0;
-//			mfcbc = m1;
-//			mfccc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// X - Dir
-//			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcaa - two* mfbaa *  vvx + mfaaa                   * (one - vx2) - c1o36 * oMdrho * vx2;
-//			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaaa = m0;
-//			mfbaa = m1;
-//			mfcaa = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcba - two* mfbba *  vvx + mfaba                  * (one - vx2) - c1o9 * oMdrho * vx2;
-//			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaba = m0;
-//			mfbba = m1;
-//			mfcba = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcca - two* mfbca *  vvx + mfaca                   * (one - vx2) - c1o36 * oMdrho * vx2;
-//			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaca = m0;
-//			mfbca = m1;
-//			mfcca = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcab - two* mfbab *  vvx + mfaab                  * (one - vx2) - c1o9 * oMdrho * vx2;
-//			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaab = m0;
-//			mfbab = m1;
-//			mfcab = m2;
-//			///////////b////////////////////////////////////////////////////////////////////////
-//			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcbb - two* mfbbb *  vvx + mfabb                  * (one - vx2) - c4o9 * oMdrho * vx2;
-//			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfabb = m0;
-//			mfbbb = m1;
-//			mfcbb = m2;
-//			///////////b////////////////////////////////////////////////////////////////////////
-//			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfccb - two* mfbcb *  vvx + mfacb                  * (one - vx2) - c1o9 * oMdrho * vx2;
-//			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfacb = m0;
-//			mfbcb = m1;
-//			mfccb = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcac - two* mfbac *  vvx + mfaac                   * (one - vx2) - c1o36 * oMdrho * vx2;
-//			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaac = m0;
-//			mfbac = m1;
-//			mfcac = m2;
-//			///////////c////////////////////////////////////////////////////////////////////////
-//			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcbc - two* mfbbc *  vvx + mfabc                  * (one - vx2) - c1o9 * oMdrho * vx2;
-//			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfabc = m0;
-//			mfbbc = m1;
-//			mfcbc = m2;
-//			///////////c////////////////////////////////////////////////////////////////////////
-//			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfccc - two* mfbcc *  vvx + mfacc                   * (one - vx2) - c1o36 * oMdrho * vx2;
-//			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfacc = m0;
-//			mfbcc = m1;
-//			mfccc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//			////////////////////////////////////////////////////////////////////////////////////
-//			(D.f[dP00])[k] = mfabb;   
-//			(D.f[dM00])[kw] = mfcbb;  
-//			(D.f[d0P0])[k] = mfbab;   
-//			(D.f[d0M0])[ks] = mfbcb;  
-//			(D.f[d00P])[k] = mfbba;   
-//			(D.f[d00M])[kb] = mfbbc;  
-//			(D.f[dPP0])[k] = mfaab;  
-//			(D.f[dMM0])[ksw] = mfccb;
-//			(D.f[dPM0])[ks] = mfacb; 
-//			(D.f[dMP0])[kw] = mfcab; 
-//			(D.f[dP0P])[k] = mfaba;  
-//			(D.f[dM0M])[kbw] = mfcbc;
-//			(D.f[dP0M])[kb] = mfabc; 
-//			(D.f[dM0P])[kw] = mfcba; 
-//			(D.f[d0PP])[k] = mfbaa;  
-//			(D.f[d0MM])[kbs] = mfbcc;
-//			(D.f[d0PM])[kb] = mfbac; 
-//			(D.f[d0MP])[ks] = mfbca; 
-//			(D.f[d000])[k] = mfbbb;
-//			(D.f[dPPP])[k] = mfaaa; 
-//			(D.f[dPMP])[ks] = mfaca;
-//			(D.f[dPPM])[kb] = mfaac;
-//			(D.f[dPMM])[kbs] = mfacc;
-//			(D.f[dMPP])[kw] = mfcaa;
-//			(D.f[dMMP])[ksw] = mfcca;
-//			(D.f[dMPM])[kbw] = mfcac;
-//			(D.f[dMMM])[kbsw] = mfccc;
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//			(G.g[dP00])[k]  = mgabb;                                                               
-//			(G.g[dM00])[kw] = mgcbb;                                                              
-//			(G.g[d0P0])[k]  = mgbab;
-//			(G.g[d0M0])[ks] = mgbcb;
-//			(G.g[d00P])[k]  = mgbba;
-//			(G.g[d00M])[kb] = mgbbc;
-//		}
-//	}
-//}
-//////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/////////////////////////////////////////////////////////////////////////////////
-//__global__ void LB_Kernel_Cumulant_D3Q27F3(	real omega,
-//														unsigned int* bcMatD,
-//														unsigned int* neighborX,
-//														unsigned int* neighborY,
-//														unsigned int* neighborZ,
-//														real* DDStart,
-//														real* G6,
-//														int size_Mat,
-//														int level,
-//														real* forces,
-//														bool EvenOrOdd)
-//{
-//	////////////////////////////////////////////////////////////////////////////////
-//	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-//	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-//	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-//
-//	const unsigned nx = blockDim.x;
-//	const unsigned ny = gridDim.x;
-//
-//	const unsigned k = nx*(ny*z + y) + x;
-//	//////////////////////////////////////////////////////////////////////////
-//
-//	if (k < size_Mat)
-//	{
-//		////////////////////////////////////////////////////////////////////////////////
-//		unsigned int BC;
-//		BC = bcMatD[k];
-//
-//		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-//		{
-//			Distributions27 D;
-//			if (EvenOrOdd == true)
-//			{
-//				D.f[dP00] = &DDStart[dP00 * size_Mat];
-//				D.f[dM00] = &DDStart[dM00 * size_Mat];
-//				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-//				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-//				D.f[d00P] = &DDStart[d00P * size_Mat];
-//				D.f[d00M] = &DDStart[d00M * size_Mat];
-//				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-//				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-//				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-//				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-//				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-//				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-//				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-//				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-//				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-//				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-//				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-//				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-//				D.f[d000] = &DDStart[d000 * size_Mat];
-//				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-//				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-//				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-//				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-//				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-//				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-//				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-//				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-//			}
-//			else
-//			{
-//				D.f[dM00] = &DDStart[dP00 * size_Mat];
-//				D.f[dP00] = &DDStart[dM00 * size_Mat];
-//				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-//				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-//				D.f[d00M] = &DDStart[d00P * size_Mat];
-//				D.f[d00P] = &DDStart[d00M * size_Mat];
-//				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-//				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-//				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-//				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-//				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-//				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-//				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-//				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-//				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-//				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-//				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-//				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-//				D.f[d000] = &DDStart[d000 * size_Mat];
-//				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-//				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-//				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-//				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-//				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-//				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-//				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-//				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-//			}
-//
-//			Distributions6 G;
-//			if (EvenOrOdd == true)
-//			{
-//				G.g[dP00] = &G6[dP00 * size_Mat];
-//				G.g[dM00] = &G6[dM00 * size_Mat];
-//				G.g[d0P0] = &G6[d0P0 * size_Mat];
-//				G.g[d0M0] = &G6[d0M0 * size_Mat];
-//				G.g[d00P] = &G6[d00P * size_Mat];
-//				G.g[d00M] = &G6[d00M * size_Mat];
-//			}
-//			else
-//			{
-//				G.g[dM00] = &G6[dP00 * size_Mat];
-//				G.g[dP00] = &G6[dM00 * size_Mat];
-//				G.g[d0M0] = &G6[d0P0 * size_Mat];
-//				G.g[d0P0] = &G6[d0M0 * size_Mat];
-//				G.g[d00M] = &G6[d00P * size_Mat];
-//				G.g[d00P] = &G6[d00M * size_Mat];
-//			}
-//
-//			////////////////////////////////////////////////////////////////////////////////
-//			//index
-//			//unsigned int kzero= k;
-//			//unsigned int ke   = k;
-//			unsigned int kw = neighborX[k];
-//			//unsigned int kn   = k;
-//			unsigned int ks = neighborY[k];
-//			//unsigned int kt   = k;
-//			unsigned int kb = neighborZ[k];
-//			unsigned int ksw = neighborY[kw];
-//			//unsigned int kne  = k;
-//			//unsigned int kse  = ks;
-//			//unsigned int knw  = kw;
-//			unsigned int kbw = neighborZ[kw];
-//			//unsigned int kte  = k;
-//			//unsigned int kbe  = kb;
-//			//unsigned int ktw  = kw;
-//			unsigned int kbs = neighborZ[ks];
-//			//unsigned int ktn  = k;
-//			//unsigned int kbn  = kb;
-//			//unsigned int kts  = ks;
-//			//unsigned int ktse = ks;
-//			//unsigned int kbnw = kbw;
-//			//unsigned int ktnw = kw;
-//			//unsigned int kbse = kbs;
-//			//unsigned int ktsw = ksw;
-//			//unsigned int kbne = kb;
-//			//unsigned int ktne = k;
-//			unsigned int kbsw = neighborZ[ksw];
-//
-//			//unsigned int kzero= k;
-//			//unsigned int ke   = k;
-//			//unsigned int kw   = neighborX[k];
-//			//unsigned int kn   = k;
-//			//unsigned int ks   = neighborY[k];
-//			//unsigned int kt   = k;
-//			//unsigned int kb   = neighborZ[k];
-//			//unsigned int ksw  = neighborY[kw];
-//			//unsigned int kne  = k;
-//			//unsigned int kse  = ks;
-//			//unsigned int knw  = kw;
-//			//unsigned int kbw  = neighborZ[kw];
-//			//unsigned int kte  = k;
-//			//unsigned int kbe  = kb;
-//			//unsigned int ktw  = kw;
-//			//unsigned int kbs  = neighborZ[ks];
-//			//unsigned int ktn  = k;
-//			//unsigned int kbn  = kb;
-//			//unsigned int kts  = ks;
-//			//unsigned int ktse = ks;
-//			//unsigned int kbnw = kbw;
-//			//unsigned int ktnw = kw;
-//			//unsigned int kbse = kbs;
-//			//unsigned int ktsw = ksw;
-//			//unsigned int kbne = kb;
-//			//unsigned int ktne = k;
-//			//unsigned int kbsw = neighborZ[ksw];
-//			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			real mgcbb = (G.g[dP00])[k];
-//			real mgabb = (G.g[dM00])[kw];
-//			real mgbcb = (G.g[d0P0])[k];
-//			real mgbab = (G.g[d0M0])[ks];
-//			real mgbbc = (G.g[d00P])[k];
-//			real mgbba = (G.g[d00M])[kb];
-//			real dxxux = c1o2 * (-mgcbb + mgabb);
-//			real dyyuy = c1o2 * (-mgbcb + mgbab);
-//			real dzzuz = c1o2 * (-mgbbc + mgbba);
-//			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-//			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-//			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-//			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-//			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-//			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-//			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-//			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-//			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-//			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-//			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-//			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-//			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-//			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-//			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-//			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-//			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-//			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-//			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-//			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-//			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-//			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-//			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-//			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-//			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-//			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-//			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-//			////////////////////////////////////////////////////////////////////////////////////
-//			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-//				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-//				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-//
-//			real rho = one + drho;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//slow
-//			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-//			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-//			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-//			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-//				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-//				(mfcbb - mfabb)) / rho;
-//			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-//				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-//				(mfbcb - mfbab)) / rho;
-//			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-//				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-//				(mfbbc - mfbba)) / rho;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//the force be with you
-//			real fx = forces[0] / (pow(two, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-//			real fy = forces[1] / (pow(two, level)); //zero;
-//			real fz = forces[2] / (pow(two, level)); //zero;
-//			vvx += fx;
-//			vvy += fy;
-//			vvz += fz;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//real omega = omega_in;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//fast
-//			real oMdrho = one; // comp special
-//								  //real oMdrho = one - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-//								  //					   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-//								  //					   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-//								  //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-//								  //				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-//								  //				mfcbb-mfabb;
-//								  //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-//								  //				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-//								  //				mfbcb-mfbab;
-//								  //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-//								  //				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-//								  //				mfbbc-mfbba;
-//								  ////////////////////////////////////////////////////////////////////////////////////
-//								  // oMdrho assembler style -------> faaaaaastaaaa
-//								  // or much sloooowaaaa ... it dep�ndssssss on sadaku
-//			real m0, m1, m2;
-//			//real oMdrho;
-//			//{
-//			//	oMdrho=mfccc+mfaaa;
-//			//	m0=mfaca+mfcac;
-//			//	m1=mfacc+mfcaa;
-//			//	m2=mfaac+mfcca;
-//			//	oMdrho+=m0;
-//			//	m1+=m2;
-//			//	oMdrho+=m1;
-//			//	m0=mfbac+mfbca;
-//			//	m1=mfbaa+mfbcc;
-//			//	m0+=m1;
-//			//	m1=mfabc+mfcba;
-//			//	m2=mfaba+mfcbc;
-//			//	m1+=m2;
-//			//	m0+=m1;
-//			//	m1=mfacb+mfcab;
-//			//	m2=mfaab+mfccb;
-//			//	m1+=m2;
-//			//	m0+=m1;
-//			//	oMdrho+=m0;
-//			//	m0=mfabb+mfcbb;
-//			//	m1=mfbab+mfbcb;
-//			//	m2=mfbba+mfbbc;
-//			//	m0+=m1+m2;
-//			//	m0+=mfbbb; //hat gefehlt
-//			//	oMdrho = one - (oMdrho + m0);
-//			//}
-//			//real vvx;
-//			real vx2;
-//			//{
-//			//	vvx = mfccc-mfaaa;
-//			//	m0  = mfcac-mfaca;
-//			//	m1  = mfcaa-mfacc;
-//			//	m2  = mfcca-mfaac;
-//			//	vvx+= m0;
-//			//	m1 += m2;
-//			//	vvx+= m1;
-//			//	vx2 = mfcba-mfabc;
-//			//	m0  = mfcbc-mfaba;
-//			//	m1  = mfcab-mfacb;
-//			//	m2  = mfccb-mfaab;
-//			//	vx2+= m0;
-//			//	m1 += m2;
-//			//	vx2+= m1;
-//			//	vvx+= vx2;
-//			//	vx2 = mfcbb-mfabb;
-//			//	vvx+= vx2;
-//			//}
-//			//real vvy;
-//			real vy2;
-//			//{
-//			//	vvy = mfccc-mfaaa;
-//			//	m0  = mfaca-mfcac;
-//			//	m1  = mfacc-mfcaa;
-//			//	m2  = mfcca-mfaac;
-//			//	vvy+= m0;
-//			//	m1 += m2;
-//			//	vvy+= m1;
-//			//	vy2 = mfbca-mfbac;
-//			//	m0  = mfbcc-mfbaa;
-//			//	m1  = mfacb-mfcab;
-//			//	m2  = mfccb-mfaab;
-//			//	vy2+= m0;
-//			//	m1 += m2;
-//			//	vy2+= m1;
-//			//	vvy+= vy2;
-//			//	vy2 = mfbcb-mfbab;
-//			//	vvy+= vy2;
-//			//}
-//			//real vvz;
-//			real vz2;
-//			//{
-//			//	vvz = mfccc-mfaaa;
-//			//	m0  = mfcac-mfaca;
-//			//	m1  = mfacc-mfcaa;
-//			//	m2  = mfaac-mfcca;
-//			//	vvz+= m0;
-//			//	m1 += m2;
-//			//	vvz+= m1;
-//			//	vz2 = mfbac-mfbca;
-//			//	m0  = mfbcc-mfbaa;
-//			//	m1  = mfabc-mfcba;
-//			//	m2  = mfcbc-mfaba;
-//			//	vz2+= m0;
-//			//	m1 += m2;
-//			//	vz2+= m1;
-//			//	vvz+= vz2;
-//			//	vz2 = mfbbc-mfbba;
-//			//	vvz+= vz2;
-//			//}
-//			vx2 = vvx*vvx;
-//			vy2 = vvy*vvy;
-//			vz2 = vvz*vvz;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			real wadjust;
-//			real qudricLimitP = 0.01f;// * 0.0001f;
-//			real qudricLimitM = 0.01f;// * 0.0001f;
-//			real qudricLimitD = 0.01f;// * 0.001f;
-//										 ////////////////////////////////////////////////////////////////////////////////////
-//										 //Hin
-//										 ////////////////////////////////////////////////////////////////////////////////////
-//										 // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-//										 ////////////////////////////////////////////////////////////////////////////////////
-//										 // Z - Dir
-//			m2 = mfaaa + mfaac;
-//			m1 = mfaac - mfaaa;
-//			m0 = m2 + mfaab;
-//			mfaaa = m0;
-//			m0 += c1o36 * oMdrho;
-//			mfaab = m1 - m0 * vvz;
-//			mfaac = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaba + mfabc;
-//			m1 = mfabc - mfaba;
-//			m0 = m2 + mfabb;
-//			mfaba = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfabb = m1 - m0 * vvz;
-//			mfabc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaca + mfacc;
-//			m1 = mfacc - mfaca;
-//			m0 = m2 + mfacb;
-//			mfaca = m0;
-//			m0 += c1o36 * oMdrho;
-//			mfacb = m1 - m0 * vvz;
-//			mfacc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbaa + mfbac;
-//			m1 = mfbac - mfbaa;
-//			m0 = m2 + mfbab;
-//			mfbaa = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfbab = m1 - m0 * vvz;
-//			mfbac = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbba + mfbbc;
-//			m1 = mfbbc - mfbba;
-//			m0 = m2 + mfbbb;
-//			mfbba = m0;
-//			m0 += c4o9 * oMdrho;
-//			mfbbb = m1 - m0 * vvz;
-//			mfbbc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbca + mfbcc;
-//			m1 = mfbcc - mfbca;
-//			m0 = m2 + mfbcb;
-//			mfbca = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfbcb = m1 - m0 * vvz;
-//			mfbcc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcaa + mfcac;
-//			m1 = mfcac - mfcaa;
-//			m0 = m2 + mfcab;
-//			mfcaa = m0;
-//			m0 += c1o36 * oMdrho;
-//			mfcab = m1 - m0 * vvz;
-//			mfcac = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcba + mfcbc;
-//			m1 = mfcbc - mfcba;
-//			m0 = m2 + mfcbb;
-//			mfcba = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfcbb = m1 - m0 * vvz;
-//			mfcbc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcca + mfccc;
-//			m1 = mfccc - mfcca;
-//			m0 = m2 + mfccb;
-//			mfcca = m0;
-//			m0 += c1o36 * oMdrho;
-//			mfccb = m1 - m0 * vvz;
-//			mfccc = m2 - two*	m1 * vvz + vz2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// Y - Dir
-//			m2 = mfaaa + mfaca;
-//			m1 = mfaca - mfaaa;
-//			m0 = m2 + mfaba;
-//			mfaaa = m0;
-//			m0 += c1o6 * oMdrho;
-//			mfaba = m1 - m0 * vvy;
-//			mfaca = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaab + mfacb;
-//			m1 = mfacb - mfaab;
-//			m0 = m2 + mfabb;
-//			mfaab = m0;
-//			mfabb = m1 - m0 * vvy;
-//			mfacb = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaac + mfacc;
-//			m1 = mfacc - mfaac;
-//			m0 = m2 + mfabc;
-//			mfaac = m0;
-//			m0 += c1o18 * oMdrho;
-//			mfabc = m1 - m0 * vvy;
-//			mfacc = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbaa + mfbca;
-//			m1 = mfbca - mfbaa;
-//			m0 = m2 + mfbba;
-//			mfbaa = m0;
-//			m0 += c2o3 * oMdrho;
-//			mfbba = m1 - m0 * vvy;
-//			mfbca = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbab + mfbcb;
-//			m1 = mfbcb - mfbab;
-//			m0 = m2 + mfbbb;
-//			mfbab = m0;
-//			mfbbb = m1 - m0 * vvy;
-//			mfbcb = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfbac + mfbcc;
-//			m1 = mfbcc - mfbac;
-//			m0 = m2 + mfbbc;
-//			mfbac = m0;
-//			m0 += c2o9 * oMdrho;
-//			mfbbc = m1 - m0 * vvy;
-//			mfbcc = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcaa + mfcca;
-//			m1 = mfcca - mfcaa;
-//			m0 = m2 + mfcba;
-//			mfcaa = m0;
-//			m0 += c1o6 * oMdrho;
-//			mfcba = m1 - m0 * vvy;
-//			mfcca = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcab + mfccb;
-//			m1 = mfccb - mfcab;
-//			m0 = m2 + mfcbb;
-//			mfcab = m0;
-//			mfcbb = m1 - m0 * vvy;
-//			mfccb = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfcac + mfccc;
-//			m1 = mfccc - mfcac;
-//			m0 = m2 + mfcbc;
-//			mfcac = m0;
-//			m0 += c1o18 * oMdrho;
-//			mfcbc = m1 - m0 * vvy;
-//			mfccc = m2 - two*	m1 * vvy + vy2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// X - Dir
-//			m2 = mfaaa + mfcaa;
-//			m1 = mfcaa - mfaaa;
-//			m0 = m2 + mfbaa;
-//			mfaaa = m0;
-//			m0 += one* oMdrho;
-//			mfbaa = m1 - m0 * vvx;
-//			mfcaa = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaba + mfcba;
-//			m1 = mfcba - mfaba;
-//			m0 = m2 + mfbba;
-//			mfaba = m0;
-//			mfbba = m1 - m0 * vvx;
-//			mfcba = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaca + mfcca;
-//			m1 = mfcca - mfaca;
-//			m0 = m2 + mfbca;
-//			mfaca = m0;
-//			m0 += c1o3 * oMdrho;
-//			mfbca = m1 - m0 * vvx;
-//			mfcca = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaab + mfcab;
-//			m1 = mfcab - mfaab;
-//			m0 = m2 + mfbab;
-//			mfaab = m0;
-//			mfbab = m1 - m0 * vvx;
-//			mfcab = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfabb + mfcbb;
-//			m1 = mfcbb - mfabb;
-//			m0 = m2 + mfbbb;
-//			mfabb = m0;
-//			mfbbb = m1 - m0 * vvx;
-//			mfcbb = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfacb + mfccb;
-//			m1 = mfccb - mfacb;
-//			m0 = m2 + mfbcb;
-//			mfacb = m0;
-//			mfbcb = m1 - m0 * vvx;
-//			mfccb = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfaac + mfcac;
-//			m1 = mfcac - mfaac;
-//			m0 = m2 + mfbac;
-//			mfaac = m0;
-//			m0 += c1o3 * oMdrho;
-//			mfbac = m1 - m0 * vvx;
-//			mfcac = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfabc + mfcbc;
-//			m1 = mfcbc - mfabc;
-//			m0 = m2 + mfbbc;
-//			mfabc = m0;
-//			mfbbc = m1 - m0 * vvx;
-//			mfcbc = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m2 = mfacc + mfccc;
-//			m1 = mfccc - mfacc;
-//			m0 = m2 + mfbcc;
-//			mfacc = m0;
-//			m0 += c1o9 * oMdrho;
-//			mfbcc = m1 - m0 * vvx;
-//			mfccc = m2 - two*	m1 * vvx + vx2 * m0;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// Cumulants
-//			////////////////////////////////////////////////////////////////////////////////////
-//			real OxxPyyPzz = one;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-//
-//			////////////////////////////////////////////////////////////
-//			//3.
-//			//////////////////////////////
-//			real OxyyPxzz = eight*(-two + omega)*(one + two*omega) / (-eight - fourteen*omega + seven*omega*omega);//one;
-//			real OxyyMxzz = eight*(-two + omega)*(-seven + four*omega) / (fiftysix - fifty*omega + nine*omega*omega);//one;
-//			real Oxyz = twentyfour*(-two + omega)*(-two - seven*omega + three*omega*omega) / (fourtyeight + c152*omega - c130*omega*omega + twentynine*omega*omega*omega);//one;
-//			////////////////////////////////////////////////////////////
-//			//4.
-//			//////////////////////////////
-//			real O4 = one;
-//			//////////////////////////////
-//			//real O4        = omega;//TRT
-//			////////////////////////////////////////////////////////////
-//			//5.
-//			//////////////////////////////
-//			real O5 = one;
-//			////////////////////////////////////////////////////////////
-//			//6.
-//			//////////////////////////////
-//			real O6 = one;
-//			////////////////////////////////////////////////////////////
-//
-//
-//			//central moments to cumulants
-//			//4.
-//			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + two * mfbba * mfbab) / rho;
-//			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + two * mfbba * mfabb) / rho;
-//			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + two * mfbab * mfabb) / rho;
-//
-//			real CUMcca = mfcca - (((mfcaa * mfaca + two * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-//			real CUMcac = mfcac - (((mfcaa * mfaac + two * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-//			real CUMacc = mfacc - (((mfaac * mfaca + two * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-//
-//			//5.
-//			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-//			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-//			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-//
-//			//6.
-//
-//			real CUMccc = mfccc + ((-four *  mfbbb * mfbbb
-//				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-//				- four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-//				- two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-//				+ (four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-//					+ two * (mfcaa * mfaca * mfaac)
-//					+ sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
-//				- c1o3 * (mfacc + mfcac + mfcca) / rho
-//				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-//				+ (two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-//					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-//				+ c1o27*((drho * drho - drho) / (rho*rho)));
-//
-//			//2.
-//			// linear combinations
-//			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-//			real mxxMyy = mfcaa - mfaca;
-//			real mxxMzz = mfcaa - mfaac;
-//
-//			////////////////////////////////////////////////////////////////////////////
-//			real Dxy = -three*omega*mfbba;
-//			real Dxz = -three*omega*mfbab;
-//			real Dyz = -three*omega*mfabb;
-//
-//			//3.
-//			// linear combinations
-//
-//			real mxxyPyzz = mfcba + mfabc;
-//			real mxxyMyzz = mfcba - mfabc;
-//
-//			real mxxzPyyz = mfcab + mfacb;
-//			real mxxzMyyz = mfcab - mfacb;
-//
-//			real mxyyPxzz = mfbca + mfbac;
-//			real mxyyMxzz = mfbca - mfbac;
-//
-//			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-//
-//			real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-//			real dyuy = dxux + omega * c3o2 * mxxMyy;
-//			real dzuz = dxux + omega * c3o2 * mxxMzz;
-//
-//			mgabb = dxux;
-//			mgbab = dyuy;
-//			mgbba = dzuz;
-//			
-//			mgcbb = dxux;
-//			mgbcb = dyuy;
-//			mgbbc = dzuz;
-//
-//			//relax
-//			//mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-//			//mxxMyy += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-//			//mxxMzz += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-//			mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)
-//					  + (six - three * (omega + OxxPyyPzz) + omega * OxxPyyPzz) / (three * omega) * ((dxux * dxux + dyuy * dyuy + dzuz * dzuz) / rho + vvx * dxxux + vvy * dyyuy + vvz * dzzuz);
-//			mxxMyy += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy)
-//				      +  omega * (two*(one / omega - c1o2) * (one / omega - c1o2) - c1o6) * ((dxux * dxux - dyuy * dyuy) / rho + vvx * dxxux - vvy * dyyuy);
-//			mxxMzz += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz)
-//					  + omega * (two*(one / omega - c1o2) * (one / omega - c1o2) - c1o6) * ((dxux * dxux - dzuz * dzuz) / rho + vvx * dxxux - vvz * dzzuz);
-//
-//			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-//			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			////no correction
-//			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-//			//mxxMyy    += -(-omega) * (-mxxMyy);
-//			//mxxMzz    += -(-omega) * (-mxxMzz);
-//			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//			mfabb += omega * (-mfabb);
-//			mfbab += omega * (-mfbab);
-//			mfbba += omega * (-mfbba);
-//			//////////////////////////////////////////////////////////////////////////
-//
-//			// linear combinations back
-//			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-//			mfaca = c1o3 * (-two*  mxxMyy + mxxMzz + mxxPyyPzz);
-//			mfaac = c1o3 * (mxxMyy - two* mxxMzz + mxxPyyPzz);
-//
-//
-//			//relax
-//			//////////////////////////////////////////////////////////////////////////
-//			//das ist der limiter
-//			wadjust = Oxyz + (one - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-//			mfbbb += wadjust * (-mfbbb);
-//			wadjust = OxyyPxzz + (one - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-//			mxxyPyzz += wadjust * (-mxxyPyzz);
-//			wadjust = OxyyMxzz + (one - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-//			mxxyMyzz += wadjust * (-mxxyMyzz);
-//			wadjust = OxyyPxzz + (one - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-//			mxxzPyyz += wadjust * (-mxxzPyyz);
-//			wadjust = OxyyMxzz + (one - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-//			mxxzMyyz += wadjust * (-mxxzMyyz);
-//			wadjust = OxyyPxzz + (one - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-//			mxyyPxzz += wadjust * (-mxyyPxzz);
-//			wadjust = OxyyMxzz + (one - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-//			mxyyMxzz += wadjust * (-mxyyMxzz);
-//			//////////////////////////////////////////////////////////////////////////
-//			//ohne limiter
-//			//mfbbb     += OxyyMxzz * (-mfbbb);
-//			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-//			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-//			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-//			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-//			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-//			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-//			//////////////////////////////////////////////////////////////////////////
-//
-//			// linear combinations back
-//			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-//			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-//			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-//			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-//			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-//			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-//
-//			//4.
-//			//////////////////////////////////////////////////////////////////////////
-//			//mit limiter
-//			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-//			//CUMacc    += wadjust * (-CUMacc);
-//			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-//			//CUMcac    += wadjust * (-CUMcac); 
-//			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-//			//CUMcca    += wadjust * (-CUMcca); 
-//
-//			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-//			//CUMbbc    += wadjust * (-CUMbbc); 
-//			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-//			//CUMbcb    += wadjust * (-CUMbcb); 
-//			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-//			//CUMcbb    += wadjust * (-CUMcbb); 
-//			//////////////////////////////////////////////////////////////////////////
-//			//ohne limiter
-//			//CUMacc += O4 * (-CUMacc);
-//			//CUMcac += O4 * (-CUMcac);
-//			//CUMcca += O4 * (-CUMcca);
-//			//CUMbbc += O4 * (-CUMbbc);
-//			//CUMbcb += O4 * (-CUMbcb);
-//			//CUMcbb += O4 * (-CUMcbb);
-//			CUMacc = -O4*(one / omega - c1o2)*(dyuy + dzuz)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMacc);
-//			CUMcac = -O4*(one / omega - c1o2)*(dxux + dzuz)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMcac);
-//			CUMcca = -O4*(one / omega - c1o2)*(dyuy + dxux)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMcca);
-//			CUMbbc = -O4*(one / omega - c1o2)*Dxy*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMbbc);
-//			CUMbcb = -O4*(one / omega - c1o2)*Dxz*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMbcb);
-//			CUMcbb = -O4*(one / omega - c1o2)*Dyz*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMcbb);
-//			//////////////////////////////////////////////////////////////////////////
-//
-//
-//			//5.
-//			CUMbcc += O5 * (-CUMbcc);
-//			CUMcbc += O5 * (-CUMcbc);
-//			CUMccb += O5 * (-CUMccb);
-//
-//			//6.
-//			CUMccc += O6 * (-CUMccc);
-//
-//
-//
-//			//back cumulants to central moments
-//			//4.
-//			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + two * mfbba * mfbab) / rho;
-//			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + two * mfbba * mfabb) / rho;
-//			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + two * mfbab * mfabb) / rho;
-//
-//			mfcca = CUMcca + (((mfcaa * mfaca + two * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-//			mfcac = CUMcac + (((mfcaa * mfaac + two * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-//			mfacc = CUMacc + (((mfaac * mfaca + two * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-//
-//			//5.
-//			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-//			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-//			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-//
-//			//6.
-//
-//			mfccc = CUMccc - ((-four *  mfbbb * mfbbb
-//				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-//				- four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-//				- two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-//				+ (four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-//					+ two * (mfcaa * mfaca * mfaac)
-//					+ sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
-//				- c1o3 * (mfacc + mfcac + mfcca) / rho
-//				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-//				+ (two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-//					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-//				+ c1o27*((drho * drho - drho) / (rho*rho)));
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//the force be with you
-//			mfbaa = -mfbaa;
-//			mfaba = -mfaba;
-//			mfaab = -mfaab;
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//back
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// Z - Dir
-//			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + one* oMdrho) * (vz2 - vvz) * c1o2;
-//			m1 = -mfaac - two* mfaab *  vvz + mfaaa                * (one - vz2) - one* oMdrho * vz2;
-//			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + one* oMdrho) * (vz2 + vvz) * c1o2;
-//			mfaaa = m0;
-//			mfaab = m1;
-//			mfaac = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-//			m1 = -mfabc - two* mfabb *  vvz + mfaba * (one - vz2);
-//			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-//			mfaba = m0;
-//			mfabb = m1;
-//			mfabc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-//			m1 = -mfacc - two* mfacb *  vvz + mfaca                  * (one - vz2) - c1o3 * oMdrho * vz2;
-//			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-//			mfaca = m0;
-//			mfacb = m1;
-//			mfacc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-//			m1 = -mfbac - two* mfbab *  vvz + mfbaa * (one - vz2);
-//			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-//			mfbaa = m0;
-//			mfbab = m1;
-//			mfbac = m2;
-//			/////////b//////////////////////////////////////////////////////////////////////////
-//			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-//			m1 = -mfbbc - two* mfbbb *  vvz + mfbba * (one - vz2);
-//			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-//			mfbba = m0;
-//			mfbbb = m1;
-//			mfbbc = m2;
-//			/////////b//////////////////////////////////////////////////////////////////////////
-//			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-//			m1 = -mfbcc - two* mfbcb *  vvz + mfbca * (one - vz2);
-//			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-//			mfbca = m0;
-//			mfbcb = m1;
-//			mfbcc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-//			m1 = -mfcac - two* mfcab *  vvz + mfcaa                  * (one - vz2) - c1o3 * oMdrho * vz2;
-//			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-//			mfcaa = m0;
-//			mfcab = m1;
-//			mfcac = m2;
-//			/////////c//////////////////////////////////////////////////////////////////////////
-//			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-//			m1 = -mfcbc - two* mfcbb *  vvz + mfcba * (one - vz2);
-//			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-//			mfcba = m0;
-//			mfcbb = m1;
-//			mfcbc = m2;
-//			/////////c//////////////////////////////////////////////////////////////////////////
-//			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-//			m1 = -mfccc - two* mfccb *  vvz + mfcca                  * (one - vz2) - c1o9 * oMdrho * vz2;
-//			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-//			mfcca = m0;
-//			mfccb = m1;
-//			mfccc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// Y - Dir
-//			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfaca - two* mfaba *  vvy + mfaaa                  * (one - vy2) - c1o6 * oMdrho * vy2;
-//			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfaaa = m0;
-//			mfaba = m1;
-//			mfaca = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfacb - two* mfabb *  vvy + mfaab                  * (one - vy2) - c2o3 * oMdrho * vy2;
-//			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfaab = m0;
-//			mfabb = m1;
-//			mfacb = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfacc - two* mfabc *  vvy + mfaac                  * (one - vy2) - c1o6 * oMdrho * vy2;
-//			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfaac = m0;
-//			mfabc = m1;
-//			mfacc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-//			m1 = -mfbca - two* mfbba *  vvy + mfbaa * (one - vy2);
-//			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-//			mfbaa = m0;
-//			mfbba = m1;
-//			mfbca = m2;
-//			/////////b//////////////////////////////////////////////////////////////////////////
-//			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-//			m1 = -mfbcb - two* mfbbb *  vvy + mfbab * (one - vy2);
-//			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-//			mfbab = m0;
-//			mfbbb = m1;
-//			mfbcb = m2;
-//			/////////b//////////////////////////////////////////////////////////////////////////
-//			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-//			m1 = -mfbcc - two* mfbbc *  vvy + mfbac * (one - vy2);
-//			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-//			mfbac = m0;
-//			mfbbc = m1;
-//			mfbcc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfcca - two* mfcba *  vvy + mfcaa                   * (one - vy2) - c1o18 * oMdrho * vy2;
-//			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfcaa = m0;
-//			mfcba = m1;
-//			mfcca = m2;
-//			/////////c//////////////////////////////////////////////////////////////////////////
-//			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfccb - two* mfcbb *  vvy + mfcab                  * (one - vy2) - c2o9 * oMdrho * vy2;
-//			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfcab = m0;
-//			mfcbb = m1;
-//			mfccb = m2;
-//			/////////c//////////////////////////////////////////////////////////////////////////
-//			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-//			m1 = -mfccc - two* mfcbc *  vvy + mfcac                   * (one - vy2) - c1o18 * oMdrho * vy2;
-//			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-//			mfcac = m0;
-//			mfcbc = m1;
-//			mfccc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-//			////////////////////////////////////////////////////////////////////////////////////
-//			// X - Dir
-//			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcaa - two* mfbaa *  vvx + mfaaa                   * (one - vx2) - c1o36 * oMdrho * vx2;
-//			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaaa = m0;
-//			mfbaa = m1;
-//			mfcaa = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcba - two* mfbba *  vvx + mfaba                  * (one - vx2) - c1o9 * oMdrho * vx2;
-//			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaba = m0;
-//			mfbba = m1;
-//			mfcba = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcca - two* mfbca *  vvx + mfaca                   * (one - vx2) - c1o36 * oMdrho * vx2;
-//			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaca = m0;
-//			mfbca = m1;
-//			mfcca = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcab - two* mfbab *  vvx + mfaab                  * (one - vx2) - c1o9 * oMdrho * vx2;
-//			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaab = m0;
-//			mfbab = m1;
-//			mfcab = m2;
-//			///////////b////////////////////////////////////////////////////////////////////////
-//			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcbb - two* mfbbb *  vvx + mfabb                  * (one - vx2) - c4o9 * oMdrho * vx2;
-//			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfabb = m0;
-//			mfbbb = m1;
-//			mfcbb = m2;
-//			///////////b////////////////////////////////////////////////////////////////////////
-//			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfccb - two* mfbcb *  vvx + mfacb                  * (one - vx2) - c1o9 * oMdrho * vx2;
-//			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfacb = m0;
-//			mfbcb = m1;
-//			mfccb = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//			////////////////////////////////////////////////////////////////////////////////////
-//			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcac - two* mfbac *  vvx + mfaac                   * (one - vx2) - c1o36 * oMdrho * vx2;
-//			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfaac = m0;
-//			mfbac = m1;
-//			mfcac = m2;
-//			///////////c////////////////////////////////////////////////////////////////////////
-//			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfcbc - two* mfbbc *  vvx + mfabc                  * (one - vx2) - c1o9 * oMdrho * vx2;
-//			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfabc = m0;
-//			mfbbc = m1;
-//			mfcbc = m2;
-//			///////////c////////////////////////////////////////////////////////////////////////
-//			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-//			m1 = -mfccc - two* mfbcc *  vvx + mfacc                   * (one - vx2) - c1o36 * oMdrho * vx2;
-//			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-//			mfacc = m0;
-//			mfbcc = m1;
-//			mfccc = m2;
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//			////////////////////////////////////////////////////////////////////////////////////
-//			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-//			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-//			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-//			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-//			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-//			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-//			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-//			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-//			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-//			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-//			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-//			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-//			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-//			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-//			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-//			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-//			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-//			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-//			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-//			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-//			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-//			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-//			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-//			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-//			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-//			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-//			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-//			////////////////////////////////////////////////////////////////////////////////////
-//
-//			(G.g[dP00])[k]  = mgabb;                                                               
-//			(G.g[dM00])[kw] = mgcbb;                                                              
-//			(G.g[d0P0])[k]  = mgbab;
-//			(G.g[d0M0])[ks] = mgbcb;
-//			(G.g[d00P])[k]  = mgbba;
-//			(G.g[d00M])[kb] = mgbbc;
-//		}
-//	}
-//}
-//////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/gpu/core/GPU/DragLift27.cu b/src/gpu/core/GPU/DragLift27.cu
index e4dbb955489113b33804dcf1dfe64ade72b7826b..d1bfab02f7df2c4ea7f0d1c70589e636810bc3ad 100644
--- a/src/gpu/core/GPU/DragLift27.cu
+++ b/src/gpu/core/GPU/DragLift27.cu
@@ -8,257 +8,257 @@ using namespace vf::lbm::dir;
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void DragLiftPost27(  real* DD, 
-											int* k_Q, 
-											real* QQ,
-											int numberOfBCnodes, 
-											double *DragX,
-											double *DragY,
-											double *DragZ,
-											unsigned int* neighborX,
-											unsigned int* neighborY,
-											unsigned int* neighborZ,
-											unsigned long long numberOfLBnodes, 
-											bool isEvenTimestep)
+                                            int* k_Q, 
+                                            real* QQ,
+                                            int numberOfBCnodes, 
+                                            double *DragX,
+                                            double *DragY,
+                                            double *DragZ,
+                                            unsigned int* neighborX,
+                                            unsigned int* neighborY,
+                                            unsigned int* neighborZ,
+                                            unsigned long long numberOfLBnodes, 
+                                            bool isEvenTimestep)
 {
-	Distributions27 D;
-	if (isEvenTimestep==true)
-	{
-		D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00P] = &DD[d00P * numberOfLBnodes];
-		D.f[d00M] = &DD[d00M * numberOfLBnodes];
-		D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-		D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-		D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-		D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-		D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-		D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-		D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-		D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-		D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-	} 
-	else
-	{
-		D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00M] = &DD[d00P * numberOfLBnodes];
-		D.f[d00P] = &DD[d00M * numberOfLBnodes];
-		D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-		D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-		D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-		D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-		D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-		D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-		D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-		D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-		D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-	}
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
+    Distributions27 D;
+    if (isEvenTimestep==true)
+    {
+        D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00P] = &DD[d00P * numberOfLBnodes];
+        D.f[d00M] = &DD[d00M * numberOfLBnodes];
+        D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+        D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+        D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+        D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+        D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+        D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+        D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+        D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+        D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+    } 
+    else
+    {
+        D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00M] = &DD[d00P * numberOfLBnodes];
+        D.f[d00P] = &DD[d00M * numberOfLBnodes];
+        D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+        D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+        D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+        D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+        D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+        D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+        D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+        D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+        D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+    }
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
 
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
 
-	if(k<numberOfBCnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		real *q_dirE,   *q_dirW,   *q_dirN,   *q_dirS,   *q_dirT,   *q_dirB, 
-			*q_dirNE,  *q_dirSW,  *q_dirSE,  *q_dirNW,  *q_dirTE,  *q_dirBW,
-			*q_dirBE,  *q_dirTW,  *q_dirTN,  *q_dirBS,  *q_dirBN,  *q_dirTS,
-			*q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
-			*q_dirBSE, *q_dirBNW; 
-		q_dirE   = &QQ[dP00 * numberOfBCnodes];
-		q_dirW   = &QQ[dM00 * numberOfBCnodes];
-		q_dirN   = &QQ[d0P0 * numberOfBCnodes];
-		q_dirS   = &QQ[d0M0 * numberOfBCnodes];
-		q_dirT   = &QQ[d00P * numberOfBCnodes];
-		q_dirB   = &QQ[d00M * numberOfBCnodes];
-		q_dirNE  = &QQ[dPP0 * numberOfBCnodes];
-		q_dirSW  = &QQ[dMM0 * numberOfBCnodes];
-		q_dirSE  = &QQ[dPM0 * numberOfBCnodes];
-		q_dirNW  = &QQ[dMP0 * numberOfBCnodes];
-		q_dirTE  = &QQ[dP0P * numberOfBCnodes];
-		q_dirBW  = &QQ[dM0M * numberOfBCnodes];
-		q_dirBE  = &QQ[dP0M * numberOfBCnodes];
-		q_dirTW  = &QQ[dM0P * numberOfBCnodes];
-		q_dirTN  = &QQ[d0PP * numberOfBCnodes];
-		q_dirBS  = &QQ[d0MM * numberOfBCnodes];
-		q_dirBN  = &QQ[d0PM * numberOfBCnodes];
-		q_dirTS  = &QQ[d0MP * numberOfBCnodes];
-		q_dirTNE = &QQ[dPPP * numberOfBCnodes];
-		q_dirTSW = &QQ[dMMP * numberOfBCnodes];
-		q_dirTSE = &QQ[dPMP * numberOfBCnodes];
-		q_dirTNW = &QQ[dMPP * numberOfBCnodes];
-		q_dirBNE = &QQ[dPPM * numberOfBCnodes];
-		q_dirBSW = &QQ[dMMM * numberOfBCnodes];
-		q_dirBSE = &QQ[dPMM * numberOfBCnodes];
-		q_dirBNW = &QQ[dMPM * numberOfBCnodes];
-		////////////////////////////////////////////////////////////////////////////////
-		//index
-		unsigned int KQK  = k_Q[k];
-		//unsigned int kzero= KQK;
-		unsigned int ke   = KQK;
-		unsigned int kw   = neighborX[KQK];
-		unsigned int kn   = KQK;
-		unsigned int ks   = neighborY[KQK];
-		unsigned int kt   = KQK;
-		unsigned int kb   = neighborZ[KQK];
-		unsigned int ksw  = neighborY[kw];
-		unsigned int kne  = KQK;
-		unsigned int kse  = ks;
-		unsigned int knw  = kw;
-		unsigned int kbw  = neighborZ[kw];
-		unsigned int kte  = KQK;
-		unsigned int kbe  = kb;
-		unsigned int ktw  = kw;
-		unsigned int kbs  = neighborZ[ks];
-		unsigned int ktn  = KQK;
-		unsigned int kbn  = kb;
-		unsigned int kts  = ks;
-		unsigned int ktse = ks;
-		unsigned int kbnw = kbw;
-		unsigned int ktnw = kw;
-		unsigned int kbse = kbs;
-		unsigned int ktsw = ksw;
-		unsigned int kbne = kb;
-		unsigned int ktne = KQK;
-		unsigned int kbsw = neighborZ[ksw];
-		////////////////////////////////////////////////////////////////////////////////
-		real f_E,  f_W,  f_N,  f_S,  f_T,  f_B,   f_NE,  f_SW,  f_SE,  f_NW,  f_TE,  f_BW,  f_BE,
+    if(k<numberOfBCnodes)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        real *q_dirE,   *q_dirW,   *q_dirN,   *q_dirS,   *q_dirT,   *q_dirB, 
+            *q_dirNE,  *q_dirSW,  *q_dirSE,  *q_dirNW,  *q_dirTE,  *q_dirBW,
+            *q_dirBE,  *q_dirTW,  *q_dirTN,  *q_dirBS,  *q_dirBN,  *q_dirTS,
+            *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
+            *q_dirBSE, *q_dirBNW; 
+        q_dirE   = &QQ[dP00 * numberOfBCnodes];
+        q_dirW   = &QQ[dM00 * numberOfBCnodes];
+        q_dirN   = &QQ[d0P0 * numberOfBCnodes];
+        q_dirS   = &QQ[d0M0 * numberOfBCnodes];
+        q_dirT   = &QQ[d00P * numberOfBCnodes];
+        q_dirB   = &QQ[d00M * numberOfBCnodes];
+        q_dirNE  = &QQ[dPP0 * numberOfBCnodes];
+        q_dirSW  = &QQ[dMM0 * numberOfBCnodes];
+        q_dirSE  = &QQ[dPM0 * numberOfBCnodes];
+        q_dirNW  = &QQ[dMP0 * numberOfBCnodes];
+        q_dirTE  = &QQ[dP0P * numberOfBCnodes];
+        q_dirBW  = &QQ[dM0M * numberOfBCnodes];
+        q_dirBE  = &QQ[dP0M * numberOfBCnodes];
+        q_dirTW  = &QQ[dM0P * numberOfBCnodes];
+        q_dirTN  = &QQ[d0PP * numberOfBCnodes];
+        q_dirBS  = &QQ[d0MM * numberOfBCnodes];
+        q_dirBN  = &QQ[d0PM * numberOfBCnodes];
+        q_dirTS  = &QQ[d0MP * numberOfBCnodes];
+        q_dirTNE = &QQ[dPPP * numberOfBCnodes];
+        q_dirTSW = &QQ[dMMP * numberOfBCnodes];
+        q_dirTSE = &QQ[dPMP * numberOfBCnodes];
+        q_dirTNW = &QQ[dMPP * numberOfBCnodes];
+        q_dirBNE = &QQ[dPPM * numberOfBCnodes];
+        q_dirBSW = &QQ[dMMM * numberOfBCnodes];
+        q_dirBSE = &QQ[dPMM * numberOfBCnodes];
+        q_dirBNW = &QQ[dMPM * numberOfBCnodes];
+        ////////////////////////////////////////////////////////////////////////////////
+        //index
+        unsigned int KQK  = k_Q[k];
+        //unsigned int kzero= KQK;
+        unsigned int ke   = KQK;
+        unsigned int kw   = neighborX[KQK];
+        unsigned int kn   = KQK;
+        unsigned int ks   = neighborY[KQK];
+        unsigned int kt   = KQK;
+        unsigned int kb   = neighborZ[KQK];
+        unsigned int ksw  = neighborY[kw];
+        unsigned int kne  = KQK;
+        unsigned int kse  = ks;
+        unsigned int knw  = kw;
+        unsigned int kbw  = neighborZ[kw];
+        unsigned int kte  = KQK;
+        unsigned int kbe  = kb;
+        unsigned int ktw  = kw;
+        unsigned int kbs  = neighborZ[ks];
+        unsigned int ktn  = KQK;
+        unsigned int kbn  = kb;
+        unsigned int kts  = ks;
+        unsigned int ktse = ks;
+        unsigned int kbnw = kbw;
+        unsigned int ktnw = kw;
+        unsigned int kbse = kbs;
+        unsigned int ktsw = ksw;
+        unsigned int kbne = kb;
+        unsigned int ktne = KQK;
+        unsigned int kbsw = neighborZ[ksw];
+        ////////////////////////////////////////////////////////////////////////////////
+        real f_E,  f_W,  f_N,  f_S,  f_T,  f_B,   f_NE,  f_SW,  f_SE,  f_NW,  f_TE,  f_BW,  f_BE,
                 f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
 
-		f_W    = (D.f[dP00])[ke   ];
-		f_E    = (D.f[dM00])[kw   ];
-		f_S    = (D.f[d0P0])[kn   ];
-		f_N    = (D.f[d0M0])[ks   ];
-		f_B    = (D.f[d00P])[kt   ];
-		f_T    = (D.f[d00M])[kb   ];
-		f_SW   = (D.f[dPP0])[kne  ];
-		f_NE   = (D.f[dMM0])[ksw  ];
-		f_NW   = (D.f[dPM0])[kse  ];
-		f_SE   = (D.f[dMP0])[knw  ];
-		f_BW   = (D.f[dP0P])[kte  ];
-		f_TE   = (D.f[dM0M])[kbw  ];
-		f_TW   = (D.f[dP0M])[kbe  ];
-		f_BE   = (D.f[dM0P])[ktw  ];
-		f_BS   = (D.f[d0PP])[ktn  ];
-		f_TN   = (D.f[d0MM])[kbs  ];
-		f_TS   = (D.f[d0PM])[kbn  ];
-		f_BN   = (D.f[d0MP])[kts  ];
-		f_BSW  = (D.f[dPPP])[ktne ];
-		f_BNE  = (D.f[dMMP])[ktsw ];
-		f_BNW  = (D.f[dPMP])[ktse ];
-		f_BSE  = (D.f[dMPP])[ktnw ];
-		f_TSW  = (D.f[dPPM])[kbne ];
-		f_TNE  = (D.f[dMMM])[kbsw ];
-		f_TNW  = (D.f[dPMM])[kbse ];
-		f_TSE  = (D.f[dMPM])[kbnw ];
-		////////////////////////////////////////////////////////////////////////////////
-		double	OnE   = c0o1, OnW   = c0o1, OnN   = c0o1, OnS   = c0o1, OnT = c0o1, OnB = c0o1, 
-				OnNE  = c0o1, OnSW  = c0o1, OnSE  = c0o1, OnNW  = c0o1, 
-				OnTE  = c0o1, OnBW  = c0o1, OnBE  = c0o1, OnTW  = c0o1,
-				OnTN  = c0o1, OnBS  = c0o1, OnBN  = c0o1, OnTS  = c0o1, 
-				OnTNE = c0o1, OnTSW = c0o1, OnTSE = c0o1, OnTNW = c0o1, 
-				OnBNE = c0o1, OnBSW = c0o1, OnBSE = c0o1, OnBNW = c0o1;
-		////////////////////////////////////////////////////////////////////////////////
-		real q;
-		q = q_dirE[k];		if (q>=c0o1 && q<=c1o1) OnE   = c1o1;
-		q = q_dirW[k];		if (q>=c0o1 && q<=c1o1) OnW   = c1o1;
-		q = q_dirN[k];		if (q>=c0o1 && q<=c1o1) OnN   = c1o1;
-		q = q_dirS[k];		if (q>=c0o1 && q<=c1o1) OnS   = c1o1;
-		q = q_dirT[k];		if (q>=c0o1 && q<=c1o1) OnT   = c1o1;
-		q = q_dirB[k];		if (q>=c0o1 && q<=c1o1) OnB   = c1o1;
-		q = q_dirNE[k];		if (q>=c0o1 && q<=c1o1) OnNE  = c1o1;
-		q = q_dirSW[k];		if (q>=c0o1 && q<=c1o1) OnSW  = c1o1;
-		q = q_dirSE[k];		if (q>=c0o1 && q<=c1o1) OnSE  = c1o1;
-		q = q_dirNW[k];		if (q>=c0o1 && q<=c1o1) OnNW  = c1o1;
-		q = q_dirTE[k];		if (q>=c0o1 && q<=c1o1) OnTE  = c1o1;
-		q = q_dirBW[k];		if (q>=c0o1 && q<=c1o1) OnBW  = c1o1;
-		q = q_dirBE[k];		if (q>=c0o1 && q<=c1o1) OnBE  = c1o1;
-		q = q_dirTW[k];		if (q>=c0o1 && q<=c1o1) OnTW  = c1o1;
-		q = q_dirTN[k];		if (q>=c0o1 && q<=c1o1) OnTN  = c1o1;
-		q = q_dirBS[k];		if (q>=c0o1 && q<=c1o1) OnBS  = c1o1;
-		q = q_dirBN[k];		if (q>=c0o1 && q<=c1o1) OnBN  = c1o1;
-		q = q_dirTS[k];		if (q>=c0o1 && q<=c1o1) OnTS  = c1o1;
-		q = q_dirTNE[k];	if (q>=c0o1 && q<=c1o1) OnTNE = c1o1;
-		q = q_dirBSW[k];	if (q>=c0o1 && q<=c1o1) OnBSW = c1o1;
-		q = q_dirBNE[k];	if (q>=c0o1 && q<=c1o1) OnBNE = c1o1;
-		q = q_dirTSW[k];	if (q>=c0o1 && q<=c1o1) OnTSW = c1o1;
-		q = q_dirTSE[k];	if (q>=c0o1 && q<=c1o1) OnTSE = c1o1;
-		q = q_dirBNW[k];	if (q>=c0o1 && q<=c1o1) OnBNW = c1o1;
-		q = q_dirBSE[k];	if (q>=c0o1 && q<=c1o1) OnBSE = c1o1;
-		q = q_dirTNW[k];	if (q>=c0o1 && q<=c1o1) OnTNW = c1o1;
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		double dragX, dragY, dragZ;
+        f_W    = (D.f[dP00])[ke   ];
+        f_E    = (D.f[dM00])[kw   ];
+        f_S    = (D.f[d0P0])[kn   ];
+        f_N    = (D.f[d0M0])[ks   ];
+        f_B    = (D.f[d00P])[kt   ];
+        f_T    = (D.f[d00M])[kb   ];
+        f_SW   = (D.f[dPP0])[kne  ];
+        f_NE   = (D.f[dMM0])[ksw  ];
+        f_NW   = (D.f[dPM0])[kse  ];
+        f_SE   = (D.f[dMP0])[knw  ];
+        f_BW   = (D.f[dP0P])[kte  ];
+        f_TE   = (D.f[dM0M])[kbw  ];
+        f_TW   = (D.f[dP0M])[kbe  ];
+        f_BE   = (D.f[dM0P])[ktw  ];
+        f_BS   = (D.f[d0PP])[ktn  ];
+        f_TN   = (D.f[d0MM])[kbs  ];
+        f_TS   = (D.f[d0PM])[kbn  ];
+        f_BN   = (D.f[d0MP])[kts  ];
+        f_BSW  = (D.f[dPPP])[ktne ];
+        f_BNE  = (D.f[dMMP])[ktsw ];
+        f_BNW  = (D.f[dPMP])[ktse ];
+        f_BSE  = (D.f[dMPP])[ktnw ];
+        f_TSW  = (D.f[dPPM])[kbne ];
+        f_TNE  = (D.f[dMMM])[kbsw ];
+        f_TNW  = (D.f[dPMM])[kbse ];
+        f_TSE  = (D.f[dMPM])[kbnw ];
+        ////////////////////////////////////////////////////////////////////////////////
+        double    OnE   = c0o1, OnW   = c0o1, OnN   = c0o1, OnS   = c0o1, OnT = c0o1, OnB = c0o1, 
+                OnNE  = c0o1, OnSW  = c0o1, OnSE  = c0o1, OnNW  = c0o1, 
+                OnTE  = c0o1, OnBW  = c0o1, OnBE  = c0o1, OnTW  = c0o1,
+                OnTN  = c0o1, OnBS  = c0o1, OnBN  = c0o1, OnTS  = c0o1, 
+                OnTNE = c0o1, OnTSW = c0o1, OnTSE = c0o1, OnTNW = c0o1, 
+                OnBNE = c0o1, OnBSW = c0o1, OnBSE = c0o1, OnBNW = c0o1;
+        ////////////////////////////////////////////////////////////////////////////////
+        real q;
+        q = q_dirE[k];        if (q>=c0o1 && q<=c1o1) OnE   = c1o1;
+        q = q_dirW[k];        if (q>=c0o1 && q<=c1o1) OnW   = c1o1;
+        q = q_dirN[k];        if (q>=c0o1 && q<=c1o1) OnN   = c1o1;
+        q = q_dirS[k];        if (q>=c0o1 && q<=c1o1) OnS   = c1o1;
+        q = q_dirT[k];        if (q>=c0o1 && q<=c1o1) OnT   = c1o1;
+        q = q_dirB[k];        if (q>=c0o1 && q<=c1o1) OnB   = c1o1;
+        q = q_dirNE[k];        if (q>=c0o1 && q<=c1o1) OnNE  = c1o1;
+        q = q_dirSW[k];        if (q>=c0o1 && q<=c1o1) OnSW  = c1o1;
+        q = q_dirSE[k];        if (q>=c0o1 && q<=c1o1) OnSE  = c1o1;
+        q = q_dirNW[k];        if (q>=c0o1 && q<=c1o1) OnNW  = c1o1;
+        q = q_dirTE[k];        if (q>=c0o1 && q<=c1o1) OnTE  = c1o1;
+        q = q_dirBW[k];        if (q>=c0o1 && q<=c1o1) OnBW  = c1o1;
+        q = q_dirBE[k];        if (q>=c0o1 && q<=c1o1) OnBE  = c1o1;
+        q = q_dirTW[k];        if (q>=c0o1 && q<=c1o1) OnTW  = c1o1;
+        q = q_dirTN[k];        if (q>=c0o1 && q<=c1o1) OnTN  = c1o1;
+        q = q_dirBS[k];        if (q>=c0o1 && q<=c1o1) OnBS  = c1o1;
+        q = q_dirBN[k];        if (q>=c0o1 && q<=c1o1) OnBN  = c1o1;
+        q = q_dirTS[k];        if (q>=c0o1 && q<=c1o1) OnTS  = c1o1;
+        q = q_dirTNE[k];    if (q>=c0o1 && q<=c1o1) OnTNE = c1o1;
+        q = q_dirBSW[k];    if (q>=c0o1 && q<=c1o1) OnBSW = c1o1;
+        q = q_dirBNE[k];    if (q>=c0o1 && q<=c1o1) OnBNE = c1o1;
+        q = q_dirTSW[k];    if (q>=c0o1 && q<=c1o1) OnTSW = c1o1;
+        q = q_dirTSE[k];    if (q>=c0o1 && q<=c1o1) OnTSE = c1o1;
+        q = q_dirBNW[k];    if (q>=c0o1 && q<=c1o1) OnBNW = c1o1;
+        q = q_dirBSE[k];    if (q>=c0o1 && q<=c1o1) OnBSE = c1o1;
+        q = q_dirTNW[k];    if (q>=c0o1 && q<=c1o1) OnTNW = c1o1;
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        double dragX, dragY, dragZ;
 
-		dragX = ((((f_BSE * OnBSE) - (f_TNW * OnTNW))   + 
-				  ((f_BNE * OnBNE) - (f_TSW * OnTSW))   + 
-				  ((f_TSE * OnTSE) - (f_BNW * OnBNW))   + 
-				  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
-				 (((f_BE  * OnBE ) - (f_TW  * OnTW ))   + 
-				  ((f_TE  * OnTE ) - (f_BW  * OnBW ))   + 
-				  ((f_SE  * OnSE ) - (f_NW  * OnNW ))   + 
-				  ((f_NE  * OnNE ) - (f_SW  * OnSW )))) + 
-				  ((f_E   * OnE  ) - (f_W   * OnW  ));
+        dragX = ((((f_BSE * OnBSE) - (f_TNW * OnTNW))   + 
+                  ((f_BNE * OnBNE) - (f_TSW * OnTSW))   + 
+                  ((f_TSE * OnTSE) - (f_BNW * OnBNW))   + 
+                  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
+                 (((f_BE  * OnBE ) - (f_TW  * OnTW ))   + 
+                  ((f_TE  * OnTE ) - (f_BW  * OnBW ))   + 
+                  ((f_SE  * OnSE ) - (f_NW  * OnNW ))   + 
+                  ((f_NE  * OnNE ) - (f_SW  * OnSW )))) + 
+                  ((f_E   * OnE  ) - (f_W   * OnW  ));
 
-		dragY = ((((f_TNW * OnTNW) - (f_BSE * OnBSE))   + 
-				  ((f_BNE * OnBNE) - (f_TSW * OnTSW))   + 
-				  ((f_BNW * OnBNW) - (f_TSE * OnTSE))   + 
-				  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
-				 (((f_BN  * OnBN ) - (f_TS  * OnTS ))   + 
-				  ((f_TN  * OnTN ) - (f_BS  * OnBS ))   + 
-				  ((f_NW  * OnNW ) - (f_SE  * OnSE ))   + 
-				  ((f_NE  * OnNE ) - (f_SW  * OnSW )))) + 
-				  ((f_N   * OnN  ) - (f_S   * OnS  ));
+        dragY = ((((f_TNW * OnTNW) - (f_BSE * OnBSE))   + 
+                  ((f_BNE * OnBNE) - (f_TSW * OnTSW))   + 
+                  ((f_BNW * OnBNW) - (f_TSE * OnTSE))   + 
+                  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
+                 (((f_BN  * OnBN ) - (f_TS  * OnTS ))   + 
+                  ((f_TN  * OnTN ) - (f_BS  * OnBS ))   + 
+                  ((f_NW  * OnNW ) - (f_SE  * OnSE ))   + 
+                  ((f_NE  * OnNE ) - (f_SW  * OnSW )))) + 
+                  ((f_N   * OnN  ) - (f_S   * OnS  ));
 
-		dragZ = ((((f_TNW * OnTNW) - (f_BSE * OnBSE))   + 
-				  ((f_TSW * OnTSW) - (f_BNE * OnBNE))   + 
-				  ((f_TSE * OnTSE) - (f_BNW * OnBNW))   + 
-				  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
-				 (((f_TS  * OnTS ) - (f_BN  * OnBN ))   + 
-				  ((f_TN  * OnTN ) - (f_BS  * OnBS ))   + 
-				  ((f_TW  * OnTW ) - (f_BE  * OnBE ))   + 
-				  ((f_TE  * OnTE ) - (f_BW  * OnBW )))) + 
-				  ((f_T   * OnT  ) - (f_B   * OnB  ));
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		DragX[k] = -dragX;
-		DragY[k] = -dragY;
-		DragZ[k] = -dragZ;
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	}
+        dragZ = ((((f_TNW * OnTNW) - (f_BSE * OnBSE))   + 
+                  ((f_TSW * OnTSW) - (f_BNE * OnBNE))   + 
+                  ((f_TSE * OnTSE) - (f_BNW * OnBNW))   + 
+                  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
+                 (((f_TS  * OnTS ) - (f_BN  * OnBN ))   + 
+                  ((f_TN  * OnTN ) - (f_BS  * OnBS ))   + 
+                  ((f_TW  * OnTW ) - (f_BE  * OnBE ))   + 
+                  ((f_TE  * OnTE ) - (f_BW  * OnBW )))) + 
+                  ((f_T   * OnT  ) - (f_B   * OnB  ));
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        DragX[k] = -dragX;
+        DragY[k] = -dragY;
+        DragZ[k] = -dragZ;
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    }
 }
 
 
@@ -273,255 +273,255 @@ __global__ void DragLiftPost27(  real* DD,
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void DragLiftPre27(   real* DD, 
-											int* k_Q, 
-											real* QQ,
-											int numberOfBCnodes, 
-											double *DragX,
-											double *DragY,
-											double *DragZ,
-											unsigned int* neighborX,
-											unsigned int* neighborY,
-											unsigned int* neighborZ,
-											unsigned long long numberOfLBnodes, 
-											bool isEvenTimestep)
+                                            int* k_Q, 
+                                            real* QQ,
+                                            int numberOfBCnodes, 
+                                            double *DragX,
+                                            double *DragY,
+                                            double *DragZ,
+                                            unsigned int* neighborX,
+                                            unsigned int* neighborY,
+                                            unsigned int* neighborZ,
+                                            unsigned long long numberOfLBnodes, 
+                                            bool isEvenTimestep)
 {
-	Distributions27 D;
-	if (isEvenTimestep==true)
-	{
-		D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00P] = &DD[d00P * numberOfLBnodes];
-		D.f[d00M] = &DD[d00M * numberOfLBnodes];
-		D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-		D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-		D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-		D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-		D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-		D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-		D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-		D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-		D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-	} 
-	else
-	{
-		D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00M] = &DD[d00P * numberOfLBnodes];
-		D.f[d00P] = &DD[d00M * numberOfLBnodes];
-		D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-		D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-		D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-		D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-		D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-		D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-		D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-		D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-		D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-	}
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
+    Distributions27 D;
+    if (isEvenTimestep==true)
+    {
+        D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00P] = &DD[d00P * numberOfLBnodes];
+        D.f[d00M] = &DD[d00M * numberOfLBnodes];
+        D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+        D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+        D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+        D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+        D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+        D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+        D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+        D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+        D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+    } 
+    else
+    {
+        D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00M] = &DD[d00P * numberOfLBnodes];
+        D.f[d00P] = &DD[d00M * numberOfLBnodes];
+        D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+        D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+        D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+        D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+        D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+        D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+        D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+        D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+        D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+    }
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
 
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
 
-	if(k<numberOfBCnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		real *q_dirE,   *q_dirW,   *q_dirN,   *q_dirS,   *q_dirT,   *q_dirB, 
-			*q_dirNE,  *q_dirSW,  *q_dirSE,  *q_dirNW,  *q_dirTE,  *q_dirBW,
-			*q_dirBE,  *q_dirTW,  *q_dirTN,  *q_dirBS,  *q_dirBN,  *q_dirTS,
-			*q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
-			*q_dirBSE, *q_dirBNW; 
-		q_dirE   = &QQ[dP00 * numberOfBCnodes];
-		q_dirW   = &QQ[dM00 * numberOfBCnodes];
-		q_dirN   = &QQ[d0P0 * numberOfBCnodes];
-		q_dirS   = &QQ[d0M0 * numberOfBCnodes];
-		q_dirT   = &QQ[d00P * numberOfBCnodes];
-		q_dirB   = &QQ[d00M * numberOfBCnodes];
-		q_dirNE  = &QQ[dPP0 * numberOfBCnodes];
-		q_dirSW  = &QQ[dMM0 * numberOfBCnodes];
-		q_dirSE  = &QQ[dPM0 * numberOfBCnodes];
-		q_dirNW  = &QQ[dMP0 * numberOfBCnodes];
-		q_dirTE  = &QQ[dP0P * numberOfBCnodes];
-		q_dirBW  = &QQ[dM0M * numberOfBCnodes];
-		q_dirBE  = &QQ[dP0M * numberOfBCnodes];
-		q_dirTW  = &QQ[dM0P * numberOfBCnodes];
-		q_dirTN  = &QQ[d0PP * numberOfBCnodes];
-		q_dirBS  = &QQ[d0MM * numberOfBCnodes];
-		q_dirBN  = &QQ[d0PM * numberOfBCnodes];
-		q_dirTS  = &QQ[d0MP * numberOfBCnodes];
-		q_dirTNE = &QQ[dPPP * numberOfBCnodes];
-		q_dirTSW = &QQ[dMMP * numberOfBCnodes];
-		q_dirTSE = &QQ[dPMP * numberOfBCnodes];
-		q_dirTNW = &QQ[dMPP * numberOfBCnodes];
-		q_dirBNE = &QQ[dPPM * numberOfBCnodes];
-		q_dirBSW = &QQ[dMMM * numberOfBCnodes];
-		q_dirBSE = &QQ[dPMM * numberOfBCnodes];
-		q_dirBNW = &QQ[dMPM * numberOfBCnodes];
-		////////////////////////////////////////////////////////////////////////////////
-		//index
-		unsigned int KQK  = k_Q[k];
-		//unsigned int kzero= KQK;
-		unsigned int ke   = KQK;
-		unsigned int kw   = neighborX[KQK];
-		unsigned int kn   = KQK;
-		unsigned int ks   = neighborY[KQK];
-		unsigned int kt   = KQK;
-		unsigned int kb   = neighborZ[KQK];
-		unsigned int ksw  = neighborY[kw];
-		unsigned int kne  = KQK;
-		unsigned int kse  = ks;
-		unsigned int knw  = kw;
-		unsigned int kbw  = neighborZ[kw];
-		unsigned int kte  = KQK;
-		unsigned int kbe  = kb;
-		unsigned int ktw  = kw;
-		unsigned int kbs  = neighborZ[ks];
-		unsigned int ktn  = KQK;
-		unsigned int kbn  = kb;
-		unsigned int kts  = ks;
-		unsigned int ktse = ks;
-		unsigned int kbnw = kbw;
-		unsigned int ktnw = kw;
-		unsigned int kbse = kbs;
-		unsigned int ktsw = ksw;
-		unsigned int kbne = kb;
-		unsigned int ktne = KQK;
-		unsigned int kbsw = neighborZ[ksw];
-		////////////////////////////////////////////////////////////////////////////////
-		real f_E,  f_W,  f_N,  f_S,  f_T,  f_B,   f_NE,  f_SW,  f_SE,  f_NW,  f_TE,  f_BW,  f_BE,
+    if(k<numberOfBCnodes)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        real *q_dirE,   *q_dirW,   *q_dirN,   *q_dirS,   *q_dirT,   *q_dirB, 
+            *q_dirNE,  *q_dirSW,  *q_dirSE,  *q_dirNW,  *q_dirTE,  *q_dirBW,
+            *q_dirBE,  *q_dirTW,  *q_dirTN,  *q_dirBS,  *q_dirBN,  *q_dirTS,
+            *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
+            *q_dirBSE, *q_dirBNW; 
+        q_dirE   = &QQ[dP00 * numberOfBCnodes];
+        q_dirW   = &QQ[dM00 * numberOfBCnodes];
+        q_dirN   = &QQ[d0P0 * numberOfBCnodes];
+        q_dirS   = &QQ[d0M0 * numberOfBCnodes];
+        q_dirT   = &QQ[d00P * numberOfBCnodes];
+        q_dirB   = &QQ[d00M * numberOfBCnodes];
+        q_dirNE  = &QQ[dPP0 * numberOfBCnodes];
+        q_dirSW  = &QQ[dMM0 * numberOfBCnodes];
+        q_dirSE  = &QQ[dPM0 * numberOfBCnodes];
+        q_dirNW  = &QQ[dMP0 * numberOfBCnodes];
+        q_dirTE  = &QQ[dP0P * numberOfBCnodes];
+        q_dirBW  = &QQ[dM0M * numberOfBCnodes];
+        q_dirBE  = &QQ[dP0M * numberOfBCnodes];
+        q_dirTW  = &QQ[dM0P * numberOfBCnodes];
+        q_dirTN  = &QQ[d0PP * numberOfBCnodes];
+        q_dirBS  = &QQ[d0MM * numberOfBCnodes];
+        q_dirBN  = &QQ[d0PM * numberOfBCnodes];
+        q_dirTS  = &QQ[d0MP * numberOfBCnodes];
+        q_dirTNE = &QQ[dPPP * numberOfBCnodes];
+        q_dirTSW = &QQ[dMMP * numberOfBCnodes];
+        q_dirTSE = &QQ[dPMP * numberOfBCnodes];
+        q_dirTNW = &QQ[dMPP * numberOfBCnodes];
+        q_dirBNE = &QQ[dPPM * numberOfBCnodes];
+        q_dirBSW = &QQ[dMMM * numberOfBCnodes];
+        q_dirBSE = &QQ[dPMM * numberOfBCnodes];
+        q_dirBNW = &QQ[dMPM * numberOfBCnodes];
+        ////////////////////////////////////////////////////////////////////////////////
+        //index
+        unsigned int KQK  = k_Q[k];
+        //unsigned int kzero= KQK;
+        unsigned int ke   = KQK;
+        unsigned int kw   = neighborX[KQK];
+        unsigned int kn   = KQK;
+        unsigned int ks   = neighborY[KQK];
+        unsigned int kt   = KQK;
+        unsigned int kb   = neighborZ[KQK];
+        unsigned int ksw  = neighborY[kw];
+        unsigned int kne  = KQK;
+        unsigned int kse  = ks;
+        unsigned int knw  = kw;
+        unsigned int kbw  = neighborZ[kw];
+        unsigned int kte  = KQK;
+        unsigned int kbe  = kb;
+        unsigned int ktw  = kw;
+        unsigned int kbs  = neighborZ[ks];
+        unsigned int ktn  = KQK;
+        unsigned int kbn  = kb;
+        unsigned int kts  = ks;
+        unsigned int ktse = ks;
+        unsigned int kbnw = kbw;
+        unsigned int ktnw = kw;
+        unsigned int kbse = kbs;
+        unsigned int ktsw = ksw;
+        unsigned int kbne = kb;
+        unsigned int ktne = KQK;
+        unsigned int kbsw = neighborZ[ksw];
+        ////////////////////////////////////////////////////////////////////////////////
+        real f_E,  f_W,  f_N,  f_S,  f_T,  f_B,   f_NE,  f_SW,  f_SE,  f_NW,  f_TE,  f_BW,  f_BE,
                 f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
 
-		f_E   = (D.f[dP00])[ke   ];
-		f_W   = (D.f[dM00])[kw   ];
-		f_N   = (D.f[d0P0])[kn   ];
-		f_S   = (D.f[d0M0])[ks   ];
-		f_T   = (D.f[d00P])[kt   ];
-		f_B   = (D.f[d00M])[kb   ];
-		f_NE  = (D.f[dPP0])[kne  ];
-		f_SW  = (D.f[dMM0])[ksw  ];
-		f_SE  = (D.f[dPM0])[kse  ];
-		f_NW  = (D.f[dMP0])[knw  ];
-		f_TE  = (D.f[dP0P])[kte  ];
-		f_BW  = (D.f[dM0M])[kbw  ];
-		f_BE  = (D.f[dP0M])[kbe  ];
-		f_TW  = (D.f[dM0P])[ktw  ];
-		f_TN  = (D.f[d0PP])[ktn  ];
-		f_BS  = (D.f[d0MM])[kbs  ];
-		f_BN  = (D.f[d0PM])[kbn  ];
-		f_TS  = (D.f[d0MP])[kts  ];
-		f_TNE = (D.f[dPPP])[ktne ];
-		f_TSW = (D.f[dMMP])[ktsw ];
-		f_TSE = (D.f[dPMP])[ktse ];
-		f_TNW = (D.f[dMPP])[ktnw ];
-		f_BNE = (D.f[dPPM])[kbne ];
-		f_BSW = (D.f[dMMM])[kbsw ];
-		f_BSE = (D.f[dPMM])[kbse ];
-		f_BNW = (D.f[dMPM])[kbnw ];
-		 ////////////////////////////////////////////////////////////////////////////////
-		double	OnE   = c0o1, OnW   = c0o1, OnN   = c0o1, OnS   = c0o1, OnT = c0o1, OnB = c0o1, 
-				OnNE  = c0o1, OnSW  = c0o1, OnSE  = c0o1, OnNW  = c0o1, 
-				OnTE  = c0o1, OnBW  = c0o1, OnBE  = c0o1, OnTW  = c0o1,
-				OnTN  = c0o1, OnBS  = c0o1, OnBN  = c0o1, OnTS  = c0o1, 
-				OnTNE = c0o1, OnTSW = c0o1, OnTSE = c0o1, OnTNW = c0o1, 
-				OnBNE = c0o1, OnBSW = c0o1, OnBSE = c0o1, OnBNW = c0o1;
-		////////////////////////////////////////////////////////////////////////////////
-		real q;
-		q = q_dirE[k];		if (q>=c0o1 && q<=c1o1) OnW   = c1o1;
-		q = q_dirW[k];		if (q>=c0o1 && q<=c1o1) OnE   = c1o1;
-		q = q_dirN[k];		if (q>=c0o1 && q<=c1o1) OnS   = c1o1;
-		q = q_dirS[k];		if (q>=c0o1 && q<=c1o1) OnN   = c1o1;
-		q = q_dirT[k];		if (q>=c0o1 && q<=c1o1) OnB   = c1o1;
-		q = q_dirB[k];		if (q>=c0o1 && q<=c1o1) OnT   = c1o1;
-		q = q_dirNE[k];		if (q>=c0o1 && q<=c1o1) OnSW  = c1o1;
-		q = q_dirSW[k];		if (q>=c0o1 && q<=c1o1) OnNE  = c1o1;
-		q = q_dirSE[k];		if (q>=c0o1 && q<=c1o1) OnNW  = c1o1;
-		q = q_dirNW[k];		if (q>=c0o1 && q<=c1o1) OnSE  = c1o1;
-		q = q_dirTE[k];		if (q>=c0o1 && q<=c1o1) OnBW  = c1o1;
-		q = q_dirBW[k];		if (q>=c0o1 && q<=c1o1) OnTE  = c1o1;
-		q = q_dirBE[k];		if (q>=c0o1 && q<=c1o1) OnTW  = c1o1;
-		q = q_dirTW[k];		if (q>=c0o1 && q<=c1o1) OnBE  = c1o1;
-		q = q_dirTN[k];		if (q>=c0o1 && q<=c1o1) OnBS  = c1o1;
-		q = q_dirBS[k];		if (q>=c0o1 && q<=c1o1) OnTN  = c1o1;
-		q = q_dirBN[k];		if (q>=c0o1 && q<=c1o1) OnTS  = c1o1;
-		q = q_dirTS[k];		if (q>=c0o1 && q<=c1o1) OnBN  = c1o1;
-		q = q_dirTNE[k];	if (q>=c0o1 && q<=c1o1) OnBSW = c1o1;
-		q = q_dirBSW[k];	if (q>=c0o1 && q<=c1o1) OnTNE = c1o1;
-		q = q_dirBNE[k];	if (q>=c0o1 && q<=c1o1) OnTSW = c1o1;
-		q = q_dirTSW[k];	if (q>=c0o1 && q<=c1o1) OnBNE = c1o1;
-		q = q_dirTSE[k];	if (q>=c0o1 && q<=c1o1) OnBNW = c1o1;
-		q = q_dirBNW[k];	if (q>=c0o1 && q<=c1o1) OnTSE = c1o1;
-		q = q_dirBSE[k];	if (q>=c0o1 && q<=c1o1) OnTNW = c1o1;
-		q = q_dirTNW[k];	if (q>=c0o1 && q<=c1o1) OnBSE = c1o1;
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		double dragX, dragY, dragZ;
+        f_E   = (D.f[dP00])[ke   ];
+        f_W   = (D.f[dM00])[kw   ];
+        f_N   = (D.f[d0P0])[kn   ];
+        f_S   = (D.f[d0M0])[ks   ];
+        f_T   = (D.f[d00P])[kt   ];
+        f_B   = (D.f[d00M])[kb   ];
+        f_NE  = (D.f[dPP0])[kne  ];
+        f_SW  = (D.f[dMM0])[ksw  ];
+        f_SE  = (D.f[dPM0])[kse  ];
+        f_NW  = (D.f[dMP0])[knw  ];
+        f_TE  = (D.f[dP0P])[kte  ];
+        f_BW  = (D.f[dM0M])[kbw  ];
+        f_BE  = (D.f[dP0M])[kbe  ];
+        f_TW  = (D.f[dM0P])[ktw  ];
+        f_TN  = (D.f[d0PP])[ktn  ];
+        f_BS  = (D.f[d0MM])[kbs  ];
+        f_BN  = (D.f[d0PM])[kbn  ];
+        f_TS  = (D.f[d0MP])[kts  ];
+        f_TNE = (D.f[dPPP])[ktne ];
+        f_TSW = (D.f[dMMP])[ktsw ];
+        f_TSE = (D.f[dPMP])[ktse ];
+        f_TNW = (D.f[dMPP])[ktnw ];
+        f_BNE = (D.f[dPPM])[kbne ];
+        f_BSW = (D.f[dMMM])[kbsw ];
+        f_BSE = (D.f[dPMM])[kbse ];
+        f_BNW = (D.f[dMPM])[kbnw ];
+         ////////////////////////////////////////////////////////////////////////////////
+        double    OnE   = c0o1, OnW   = c0o1, OnN   = c0o1, OnS   = c0o1, OnT = c0o1, OnB = c0o1, 
+                OnNE  = c0o1, OnSW  = c0o1, OnSE  = c0o1, OnNW  = c0o1, 
+                OnTE  = c0o1, OnBW  = c0o1, OnBE  = c0o1, OnTW  = c0o1,
+                OnTN  = c0o1, OnBS  = c0o1, OnBN  = c0o1, OnTS  = c0o1, 
+                OnTNE = c0o1, OnTSW = c0o1, OnTSE = c0o1, OnTNW = c0o1, 
+                OnBNE = c0o1, OnBSW = c0o1, OnBSE = c0o1, OnBNW = c0o1;
+        ////////////////////////////////////////////////////////////////////////////////
+        real q;
+        q = q_dirE[k];        if (q>=c0o1 && q<=c1o1) OnW   = c1o1;
+        q = q_dirW[k];        if (q>=c0o1 && q<=c1o1) OnE   = c1o1;
+        q = q_dirN[k];        if (q>=c0o1 && q<=c1o1) OnS   = c1o1;
+        q = q_dirS[k];        if (q>=c0o1 && q<=c1o1) OnN   = c1o1;
+        q = q_dirT[k];        if (q>=c0o1 && q<=c1o1) OnB   = c1o1;
+        q = q_dirB[k];        if (q>=c0o1 && q<=c1o1) OnT   = c1o1;
+        q = q_dirNE[k];        if (q>=c0o1 && q<=c1o1) OnSW  = c1o1;
+        q = q_dirSW[k];        if (q>=c0o1 && q<=c1o1) OnNE  = c1o1;
+        q = q_dirSE[k];        if (q>=c0o1 && q<=c1o1) OnNW  = c1o1;
+        q = q_dirNW[k];        if (q>=c0o1 && q<=c1o1) OnSE  = c1o1;
+        q = q_dirTE[k];        if (q>=c0o1 && q<=c1o1) OnBW  = c1o1;
+        q = q_dirBW[k];        if (q>=c0o1 && q<=c1o1) OnTE  = c1o1;
+        q = q_dirBE[k];        if (q>=c0o1 && q<=c1o1) OnTW  = c1o1;
+        q = q_dirTW[k];        if (q>=c0o1 && q<=c1o1) OnBE  = c1o1;
+        q = q_dirTN[k];        if (q>=c0o1 && q<=c1o1) OnBS  = c1o1;
+        q = q_dirBS[k];        if (q>=c0o1 && q<=c1o1) OnTN  = c1o1;
+        q = q_dirBN[k];        if (q>=c0o1 && q<=c1o1) OnTS  = c1o1;
+        q = q_dirTS[k];        if (q>=c0o1 && q<=c1o1) OnBN  = c1o1;
+        q = q_dirTNE[k];    if (q>=c0o1 && q<=c1o1) OnBSW = c1o1;
+        q = q_dirBSW[k];    if (q>=c0o1 && q<=c1o1) OnTNE = c1o1;
+        q = q_dirBNE[k];    if (q>=c0o1 && q<=c1o1) OnTSW = c1o1;
+        q = q_dirTSW[k];    if (q>=c0o1 && q<=c1o1) OnBNE = c1o1;
+        q = q_dirTSE[k];    if (q>=c0o1 && q<=c1o1) OnBNW = c1o1;
+        q = q_dirBNW[k];    if (q>=c0o1 && q<=c1o1) OnTSE = c1o1;
+        q = q_dirBSE[k];    if (q>=c0o1 && q<=c1o1) OnTNW = c1o1;
+        q = q_dirTNW[k];    if (q>=c0o1 && q<=c1o1) OnBSE = c1o1;
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        double dragX, dragY, dragZ;
 
-		dragX = ((((f_BSE * OnBSE) - (f_TNW * OnTNW))   + 
-				  ((f_BNE * OnBNE) - (f_TSW * OnTSW))   + 
-				  ((f_TSE * OnTSE) - (f_BNW * OnBNW))   + 
-				  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
-				 (((f_BE  * OnBE ) - (f_TW  * OnTW ))   + 
-				  ((f_TE  * OnTE ) - (f_BW  * OnBW ))   + 
-				  ((f_SE  * OnSE ) - (f_NW  * OnNW ))   + 
-				  ((f_NE  * OnNE ) - (f_SW  * OnSW )))) + 
-				  ((f_E   * OnE  ) - (f_W   * OnW  ));
+        dragX = ((((f_BSE * OnBSE) - (f_TNW * OnTNW))   + 
+                  ((f_BNE * OnBNE) - (f_TSW * OnTSW))   + 
+                  ((f_TSE * OnTSE) - (f_BNW * OnBNW))   + 
+                  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
+                 (((f_BE  * OnBE ) - (f_TW  * OnTW ))   + 
+                  ((f_TE  * OnTE ) - (f_BW  * OnBW ))   + 
+                  ((f_SE  * OnSE ) - (f_NW  * OnNW ))   + 
+                  ((f_NE  * OnNE ) - (f_SW  * OnSW )))) + 
+                  ((f_E   * OnE  ) - (f_W   * OnW  ));
 
-		dragY = ((((f_TNW * OnTNW) - (f_BSE * OnBSE))   + 
-				  ((f_BNE * OnBNE) - (f_TSW * OnTSW))   + 
-				  ((f_BNW * OnBNW) - (f_TSE * OnTSE))   + 
-				  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
-				 (((f_BN  * OnBN ) - (f_TS  * OnTS ))   + 
-				  ((f_TN  * OnTN ) - (f_BS  * OnBS ))   + 
-				  ((f_NW  * OnNW ) - (f_SE  * OnSE ))   + 
-				  ((f_NE  * OnNE ) - (f_SW  * OnSW )))) + 
-				  ((f_N   * OnN  ) - (f_S   * OnS  ));
+        dragY = ((((f_TNW * OnTNW) - (f_BSE * OnBSE))   + 
+                  ((f_BNE * OnBNE) - (f_TSW * OnTSW))   + 
+                  ((f_BNW * OnBNW) - (f_TSE * OnTSE))   + 
+                  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
+                 (((f_BN  * OnBN ) - (f_TS  * OnTS ))   + 
+                  ((f_TN  * OnTN ) - (f_BS  * OnBS ))   + 
+                  ((f_NW  * OnNW ) - (f_SE  * OnSE ))   + 
+                  ((f_NE  * OnNE ) - (f_SW  * OnSW )))) + 
+                  ((f_N   * OnN  ) - (f_S   * OnS  ));
 
-		dragZ = ((((f_TNW * OnTNW) - (f_BSE * OnBSE))   + 
-				  ((f_TSW * OnTSW) - (f_BNE * OnBNE))   + 
-				  ((f_TSE * OnTSE) - (f_BNW * OnBNW))   + 
-				  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
-				 (((f_TS  * OnTS ) - (f_BN  * OnBN ))   + 
-				  ((f_TN  * OnTN ) - (f_BS  * OnBS ))   + 
-				  ((f_TW  * OnTW ) - (f_BE  * OnBE ))   + 
-				  ((f_TE  * OnTE ) - (f_BW  * OnBW )))) + 
-				  ((f_T   * OnT  ) - (f_B   * OnB  ));
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		DragX[k] = -dragX;
-		DragY[k] = -dragY;
-		DragZ[k] = -dragZ;
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	}
+        dragZ = ((((f_TNW * OnTNW) - (f_BSE * OnBSE))   + 
+                  ((f_TSW * OnTSW) - (f_BNE * OnBNE))   + 
+                  ((f_TSE * OnTSE) - (f_BNW * OnBNW))   + 
+                  ((f_TNE * OnTNE) - (f_BSW * OnBSW)))  + 
+                 (((f_TS  * OnTS ) - (f_BN  * OnBN ))   + 
+                  ((f_TN  * OnTN ) - (f_BS  * OnBS ))   + 
+                  ((f_TW  * OnTW ) - (f_BE  * OnBE ))   + 
+                  ((f_TE  * OnTE ) - (f_BW  * OnBW )))) + 
+                  ((f_T   * OnT  ) - (f_B   * OnB  ));
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        DragX[k] = -dragX;
+        DragY[k] = -dragY;
+        DragZ[k] = -dragZ;
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    }
 }
diff --git a/src/gpu/core/GPU/EnstrophyAnalyzer.cu b/src/gpu/core/GPU/EnstrophyAnalyzer.cu
index 242038afcea351c0d9187a606d82d5bcd16c214c..3063e580193552e1b1fb7e5a0d62189a82efe975 100644
--- a/src/gpu/core/GPU/EnstrophyAnalyzer.cu
+++ b/src/gpu/core/GPU/EnstrophyAnalyzer.cu
@@ -66,15 +66,15 @@ bool EnstrophyAnalyzer::run(uint iter)
         enstrophy.data().get(), 
         isFluid.data().get(),
         para->getParD(lev)->numberOfNodes);
-	cudaDeviceSynchronize(); 
-	getLastCudaError("enstrophyKernel execution failed");
+    cudaDeviceSynchronize(); 
+    getLastCudaError("enstrophyKernel execution failed");
 
-	real EnstrophyTmp       = thrust::reduce(enstrophy.begin(), enstrophy.end(), c0o1, thrust::plus<real>());
+    real EnstrophyTmp       = thrust::reduce(enstrophy.begin(), enstrophy.end(), c0o1, thrust::plus<real>());
     uint numberOfFluidNodes = thrust::reduce(isFluid.begin(),   isFluid.end(),   0,    thrust::plus<uint>());
 
     //std::cout << "Enstrophy " << EnstrophyTmp << "   " << numberOfFluidNodes << std::endl;
 
-	this->enstrophyTimeSeries.push_back( EnstrophyTmp / real(numberOfFluidNodes) );
+    this->enstrophyTimeSeries.push_back( EnstrophyTmp / real(numberOfFluidNodes) );
 
     //TODO: Should this function probably return nothing?
     return true;
@@ -93,16 +93,16 @@ __global__ void enstrophyKernel(real* veloX, real* veloY, real* veloZ, real* rho
     const uint ny = gridDim.x;
 
     const uint index = nx*(ny*z + y) + x;
-	////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////
     //printf("%d\n", index);
 
     //if( index % 34 == 0 || index % 34 == 33 ) return;
 
     if( index >= (uint)numberOfLBnodes) return;
 
-	unsigned int BC;
-	BC = geo[index];
-	if (BC != GEO_FLUID) return;
+    unsigned int BC;
+    BC = geo[index];
+    if (BC != GEO_FLUID) return;
 
     enstrophyFunction( veloX, veloY, veloZ, rho, neighborX, neighborY, neighborZ, neighborWSB, geo, enstrophy, isFluid, index );
 }
@@ -113,16 +113,16 @@ __host__ __device__ void enstrophyFunction(real* veloX, real* veloY, real* veloZ
     uint maxOrderY = 8;
     uint maxOrderZ = 8;
 
-	//////////////////////////////////////////////////////////////////////////
-	//neighbor index                                
-	uint k       = index;                             
-	uint kPx     = neighborX[k];                    if( geo[ kPx     ] != GEO_FLUID ) return;
-	uint kPy     = neighborY[k];                    if( geo[ kPy     ] != GEO_FLUID ) return;
-	uint kPz     = neighborZ[k];                    if( geo[ kPz     ] != GEO_FLUID ) return;
-	uint kMxyz   = neighborWSB[k];                    
-	uint kMx     = neighborZ[neighborY[kMxyz]];     if( geo[ kMx     ] != GEO_FLUID ) return;
-	uint kMy     = neighborZ[neighborX[kMxyz]];     if( geo[ kMy     ] != GEO_FLUID ) return;
-	uint kMz     = neighborY[neighborX[kMxyz]];     if( geo[ kMz     ] != GEO_FLUID ) return;
+    //////////////////////////////////////////////////////////////////////////
+    //neighbor index                                
+    uint k       = index;                             
+    uint kPx     = neighborX[k];                    if( geo[ kPx     ] != GEO_FLUID ) return;
+    uint kPy     = neighborY[k];                    if( geo[ kPy     ] != GEO_FLUID ) return;
+    uint kPz     = neighborZ[k];                    if( geo[ kPz     ] != GEO_FLUID ) return;
+    uint kMxyz   = neighborWSB[k];                    
+    uint kMx     = neighborZ[neighborY[kMxyz]];     if( geo[ kMx     ] != GEO_FLUID ) return;
+    uint kMy     = neighborZ[neighborX[kMxyz]];     if( geo[ kMy     ] != GEO_FLUID ) return;
+    uint kMz     = neighborY[neighborX[kMxyz]];     if( geo[ kMz     ] != GEO_FLUID ) return;
     //////////////////////////////////////////////////////////////////////////
     uint kPx2    = neighborX[kPx];                  if( geo[ kPx2    ] != GEO_FLUID ) maxOrderX = 2;
     uint kPy2    = neighborY[kPy];                  if( geo[ kPy2    ] != GEO_FLUID ) maxOrderY = 2;
@@ -154,103 +154,103 @@ __host__ __device__ void enstrophyFunction(real* veloX, real* veloY, real* veloZ
     uint kMy4    = neighborZ[neighborX[kMy3WSB]];   if( geo[ kMy4    ] != GEO_FLUID && maxOrderY > 6 ) maxOrderY = 6;
     uint kMz4    = neighborY[neighborX[kMz3WSB]];   if( geo[ kMz4    ] != GEO_FLUID && maxOrderZ > 6 ) maxOrderZ = 6;
     //////////////////////////////////////////////////////////////////////////
-	//getVeloX//
-	//real veloXNeighborPx = veloX[kPx];
-	//real veloXNeighborMx = veloX[kMx];
-	real veloXNeighborPy = veloX[kPy];
-	real veloXNeighborMy = veloX[kMy];
-	real veloXNeighborPz = veloX[kPz];
-	real veloXNeighborMz = veloX[kMz];
-	//getVeloY//
-	real veloYNeighborPx = veloY[kPx];
-	real veloYNeighborMx = veloY[kMx];
-	//real veloYNeighborPy = veloY[kPy];
-	//real veloYNeighborMy = veloY[kMy];
-	real veloYNeighborPz = veloY[kPz];
-	real veloYNeighborMz = veloY[kMz];
-	//getVeloZ//
-	real veloZNeighborPx = veloZ[kPx];
-	real veloZNeighborMx = veloZ[kMx];
-	real veloZNeighborPy = veloZ[kPy];
-	real veloZNeighborMy = veloZ[kMy];
-	//real veloZNeighborPz = veloZ[kPz];
-	//real veloZNeighborMz = veloZ[kMz];
-	//////////////////////////////////////////////////////////////////////////////
-	//getVeloX//
-	//real veloXNeighborPx2 = veloX[kPx2];
-	//real veloXNeighborMx2 = veloX[kMx2];
-	real veloXNeighborPy2 = veloX[kPy2];
-	real veloXNeighborMy2 = veloX[kMy2];
-	real veloXNeighborPz2 = veloX[kPz2];
-	real veloXNeighborMz2 = veloX[kMz2];
-	//getVeloY//
-	real veloYNeighborPx2 = veloY[kPx2];
-	real veloYNeighborMx2 = veloY[kMx2];
-	//real veloYNeighborPy2 = veloY[kPy2];
-	//real veloYNeighborMy2 = veloY[kMy2];
-	real veloYNeighborPz2 = veloY[kPz2];
-	real veloYNeighborMz2 = veloY[kMz2];
-	//getVeloZ//
-	real veloZNeighborPx2 = veloZ[kPx2];
-	real veloZNeighborMx2 = veloZ[kMx2];
-	real veloZNeighborPy2 = veloZ[kPy2];
-	real veloZNeighborMy2 = veloZ[kMy2];
-	//real veloZNeighborPz2 = veloZ[kPz2];
-	//real veloZNeighborMz2 = veloZ[kMz2];
-	//////////////////////////////////////////////////////////////////////////////
-	//getVeloX//
-	//real veloXNeighborPx3 = veloX[kPx3];
-	//real veloXNeighborMx3 = veloX[kMx3];
-	real veloXNeighborPy3 = veloX[kPy3];
-	real veloXNeighborMy3 = veloX[kMy3];
-	real veloXNeighborPz3 = veloX[kPz3];
-	real veloXNeighborMz3 = veloX[kMz3];
-	//getVeloY//
-	real veloYNeighborPx3 = veloY[kPx3];
-	real veloYNeighborMx3 = veloY[kMx3];
-	//real veloYNeighborPy3 = veloY[kPy3];
-	//real veloYNeighborMy3 = veloY[kMy3];
-	real veloYNeighborPz3 = veloY[kPz3];
-	real veloYNeighborMz3 = veloY[kMz3];
-	//getVeloZ//
-	real veloZNeighborPx3 = veloZ[kPx3];
-	real veloZNeighborMx3 = veloZ[kMx3];
-	real veloZNeighborPy3 = veloZ[kPy3];
-	real veloZNeighborMy3 = veloZ[kMy3];
-	//real veloZNeighborPz3 = veloZ[kPz3];
-	//real veloZNeighborMz3 = veloZ[kMz3];
-	//////////////////////////////////////////////////////////////////////////////
-	//getVeloX//
-	//real veloXNeighborPx4 = veloX[kPx4];
-	//real veloXNeighborMx4 = veloX[kMx4];
-	real veloXNeighborPy4 = veloX[kPy4];
-	real veloXNeighborMy4 = veloX[kMy4];
-	real veloXNeighborPz4 = veloX[kPz4];
-	real veloXNeighborMz4 = veloX[kMz4];
-	//getVeloY//
-	real veloYNeighborPx4 = veloY[kPx4];
-	real veloYNeighborMx4 = veloY[kMx4];
-	//real veloYNeighborPy4 = veloY[kPy4];
-	//real veloYNeighborMy4 = veloY[kMy4];
-	real veloYNeighborPz4 = veloY[kPz4];
-	real veloYNeighborMz4 = veloY[kMz4];
-	//getVeloZ//
-	real veloZNeighborPx4 = veloZ[kPx4];
-	real veloZNeighborMx4 = veloZ[kMx4];
-	real veloZNeighborPy4 = veloZ[kPy4];
-	real veloZNeighborMy4 = veloZ[kMy4];
-	//real veloZNeighborPz4 = veloZ[kPz4];
-	//real veloZNeighborMz4 = veloZ[kMz4];
-	//////////////////////////////////////////////////////////////////////////////
-	//real dxvx = c0o1;
-	real dyvx = c0o1;
-	real dzvx = c0o1;
-	real dxvy = c0o1;
-	//real dyvy = c0o1;
-	real dzvy = c0o1;
-	real dxvz = c0o1;
-	real dyvz = c0o1;
-	//real dzvz = c0o1;
+    //getVeloX//
+    //real veloXNeighborPx = veloX[kPx];
+    //real veloXNeighborMx = veloX[kMx];
+    real veloXNeighborPy = veloX[kPy];
+    real veloXNeighborMy = veloX[kMy];
+    real veloXNeighborPz = veloX[kPz];
+    real veloXNeighborMz = veloX[kMz];
+    //getVeloY//
+    real veloYNeighborPx = veloY[kPx];
+    real veloYNeighborMx = veloY[kMx];
+    //real veloYNeighborPy = veloY[kPy];
+    //real veloYNeighborMy = veloY[kMy];
+    real veloYNeighborPz = veloY[kPz];
+    real veloYNeighborMz = veloY[kMz];
+    //getVeloZ//
+    real veloZNeighborPx = veloZ[kPx];
+    real veloZNeighborMx = veloZ[kMx];
+    real veloZNeighborPy = veloZ[kPy];
+    real veloZNeighborMy = veloZ[kMy];
+    //real veloZNeighborPz = veloZ[kPz];
+    //real veloZNeighborMz = veloZ[kMz];
+    //////////////////////////////////////////////////////////////////////////////
+    //getVeloX//
+    //real veloXNeighborPx2 = veloX[kPx2];
+    //real veloXNeighborMx2 = veloX[kMx2];
+    real veloXNeighborPy2 = veloX[kPy2];
+    real veloXNeighborMy2 = veloX[kMy2];
+    real veloXNeighborPz2 = veloX[kPz2];
+    real veloXNeighborMz2 = veloX[kMz2];
+    //getVeloY//
+    real veloYNeighborPx2 = veloY[kPx2];
+    real veloYNeighborMx2 = veloY[kMx2];
+    //real veloYNeighborPy2 = veloY[kPy2];
+    //real veloYNeighborMy2 = veloY[kMy2];
+    real veloYNeighborPz2 = veloY[kPz2];
+    real veloYNeighborMz2 = veloY[kMz2];
+    //getVeloZ//
+    real veloZNeighborPx2 = veloZ[kPx2];
+    real veloZNeighborMx2 = veloZ[kMx2];
+    real veloZNeighborPy2 = veloZ[kPy2];
+    real veloZNeighborMy2 = veloZ[kMy2];
+    //real veloZNeighborPz2 = veloZ[kPz2];
+    //real veloZNeighborMz2 = veloZ[kMz2];
+    //////////////////////////////////////////////////////////////////////////////
+    //getVeloX//
+    //real veloXNeighborPx3 = veloX[kPx3];
+    //real veloXNeighborMx3 = veloX[kMx3];
+    real veloXNeighborPy3 = veloX[kPy3];
+    real veloXNeighborMy3 = veloX[kMy3];
+    real veloXNeighborPz3 = veloX[kPz3];
+    real veloXNeighborMz3 = veloX[kMz3];
+    //getVeloY//
+    real veloYNeighborPx3 = veloY[kPx3];
+    real veloYNeighborMx3 = veloY[kMx3];
+    //real veloYNeighborPy3 = veloY[kPy3];
+    //real veloYNeighborMy3 = veloY[kMy3];
+    real veloYNeighborPz3 = veloY[kPz3];
+    real veloYNeighborMz3 = veloY[kMz3];
+    //getVeloZ//
+    real veloZNeighborPx3 = veloZ[kPx3];
+    real veloZNeighborMx3 = veloZ[kMx3];
+    real veloZNeighborPy3 = veloZ[kPy3];
+    real veloZNeighborMy3 = veloZ[kMy3];
+    //real veloZNeighborPz3 = veloZ[kPz3];
+    //real veloZNeighborMz3 = veloZ[kMz3];
+    //////////////////////////////////////////////////////////////////////////////
+    //getVeloX//
+    //real veloXNeighborPx4 = veloX[kPx4];
+    //real veloXNeighborMx4 = veloX[kMx4];
+    real veloXNeighborPy4 = veloX[kPy4];
+    real veloXNeighborMy4 = veloX[kMy4];
+    real veloXNeighborPz4 = veloX[kPz4];
+    real veloXNeighborMz4 = veloX[kMz4];
+    //getVeloY//
+    real veloYNeighborPx4 = veloY[kPx4];
+    real veloYNeighborMx4 = veloY[kMx4];
+    //real veloYNeighborPy4 = veloY[kPy4];
+    //real veloYNeighborMy4 = veloY[kMy4];
+    real veloYNeighborPz4 = veloY[kPz4];
+    real veloYNeighborMz4 = veloY[kMz4];
+    //getVeloZ//
+    real veloZNeighborPx4 = veloZ[kPx4];
+    real veloZNeighborMx4 = veloZ[kMx4];
+    real veloZNeighborPy4 = veloZ[kPy4];
+    real veloZNeighborMy4 = veloZ[kMy4];
+    //real veloZNeighborPz4 = veloZ[kPz4];
+    //real veloZNeighborMz4 = veloZ[kMz4];
+    //////////////////////////////////////////////////////////////////////////////
+    //real dxvx = c0o1;
+    real dyvx = c0o1;
+    real dzvx = c0o1;
+    real dxvy = c0o1;
+    //real dyvy = c0o1;
+    real dzvy = c0o1;
+    real dxvz = c0o1;
+    real dyvz = c0o1;
+    //real dzvz = c0o1;
     //////////////////////////////////////////////////////////////////////////
 
     //maxOrderX = 2;
@@ -305,9 +305,9 @@ __host__ __device__ void enstrophyFunction(real* veloX, real* veloY, real* veloZ
 
     //////////////////////////////////////////////////////////////////////////
 
-	real tmpX = dyvz - dzvy;
-	real tmpY = dzvx - dxvz;
-	real tmpZ = dxvy - dyvx;
+    real tmpX = dyvz - dzvy;
+    real tmpY = dzvx - dxvz;
+    real tmpZ = dxvy - dyvx;
     //////////////////////////////////////////////////////////////////////////
 
     isFluid[ index ] = 1;
@@ -319,13 +319,13 @@ __host__ __device__ void enstrophyFunction(real* veloX, real* veloY, real* veloZ
 
 EnstrophyAnalyzer::EnstrophyAnalyzer(SPtr<Parameter> para, uint analyzeIter)
 {
-	this->para = para;
-	this->analyzeIter = analyzeIter;
+    this->para = para;
+    this->analyzeIter = analyzeIter;
 }
 
 void EnstrophyAnalyzer::writeToFile( std::string filename )
 {
-	std::cout << "EnstrophyAnalyzer::writeToFile( " << filename << " )" << "\n";
+    std::cout << "EnstrophyAnalyzer::writeToFile( " << filename << " )" << "\n";
 
     std::ofstream file;
 
@@ -336,7 +336,7 @@ void EnstrophyAnalyzer::writeToFile( std::string filename )
 
     file.close();
 
-	std::cout << "done!\n";
+    std::cout << "done!\n";
 }
 
 
diff --git a/src/gpu/core/GPU/EnstrophyAnalyzer.h b/src/gpu/core/GPU/EnstrophyAnalyzer.h
index dd633a5375a75dc66ff19d933fc9af81bf0b1a5a..0fd5235e45ea350b646e1f29d058464c04e00d6c 100644
--- a/src/gpu/core/GPU/EnstrophyAnalyzer.h
+++ b/src/gpu/core/GPU/EnstrophyAnalyzer.h
@@ -16,7 +16,7 @@ class EnstrophyAnalyzer
 {
 private:
 
-	SPtr<Parameter> para;
+    SPtr<Parameter> para;
 
     uint analyzeIter;
 
@@ -28,7 +28,7 @@ public:
 
     bool run( uint iter );
 
-	void writeToFile( std::string filename );
+    void writeToFile( std::string filename );
 
 };
 
diff --git a/src/gpu/core/GPU/ExchangeData27.cu b/src/gpu/core/GPU/ExchangeData27.cu
index e0d13773b8c38d276cec5ffdd6f6dc0fb19465eb..6d66578e6379e1ebf5e872404a558902886beacc 100644
--- a/src/gpu/core/GPU/ExchangeData27.cu
+++ b/src/gpu/core/GPU/ExchangeData27.cu
@@ -8,8 +8,8 @@ using namespace vf::lbm::dir;
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 __global__ void getSendFsPost27(real* DD,
-										   real* bufferFs,
-										   int* sendIndex,
+                                           real* bufferFs,
+                                           int* sendIndex,
                                            int buffmax,
                                            unsigned int* neighborX,
                                            unsigned int* neighborY,
@@ -61,7 +61,7 @@ __global__ void getSendFsPost27(real* DD,
       unsigned int ktne    = kIndex;
       unsigned int kbsw    = neighborZ[ksw];
       ////////////////////////////////////////////////////////////////////////////////
-	  //set Pointer for Fs
+      //set Pointer for Fs
       Distributions27 D;
       if (isEvenTimestep==true)
       {
@@ -124,7 +124,7 @@ __global__ void getSendFsPost27(real* DD,
          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //set Pointer for Buffer Fs
+      //set Pointer for Buffer Fs
       Distributions27 Dbuff;
       Dbuff.f[dP00] = &bufferFs[dP00 * buffmax];
       Dbuff.f[dM00] = &bufferFs[dM00 * buffmax];
@@ -154,7 +154,7 @@ __global__ void getSendFsPost27(real* DD,
       Dbuff.f[dPMM] = &bufferFs[dPMM * buffmax];
       Dbuff.f[dMPM] = &bufferFs[dMPM * buffmax];
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //copy to buffer
+      //copy to buffer
       //(Dbuff.f[dP00])[k] = (D.f[dP00])[ke   ];
       //(Dbuff.f[dM00])[k] = (D.f[dM00])[kw   ];
       //(Dbuff.f[d0P0])[k] = (D.f[d0P0])[kn   ];
@@ -244,8 +244,8 @@ __global__ void getSendFsPost27(real* DD,
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 __global__ void setRecvFsPost27(real* DD,
-										   real* bufferFs,
-										   int* recvIndex,
+                                           real* bufferFs,
+                                           int* recvIndex,
                                            int buffmax,
                                            unsigned int* neighborX,
                                            unsigned int* neighborY,
@@ -297,7 +297,7 @@ __global__ void setRecvFsPost27(real* DD,
       unsigned int ktne    = kIndex;
       unsigned int kbsw    = neighborZ[ksw];
       ////////////////////////////////////////////////////////////////////////////////
-	  //set Pointer for Fs
+      //set Pointer for Fs
       Distributions27 D;
       if (isEvenTimestep==true)
       {
@@ -360,7 +360,7 @@ __global__ void setRecvFsPost27(real* DD,
          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //set Pointer for Buffer Fs
+      //set Pointer for Buffer Fs
       Distributions27 Dbuff;
       Dbuff.f[dP00] = &bufferFs[dP00 * buffmax];
       Dbuff.f[dM00] = &bufferFs[dM00 * buffmax];
@@ -390,7 +390,7 @@ __global__ void setRecvFsPost27(real* DD,
       Dbuff.f[dPMM] = &bufferFs[dPMM * buffmax];
       Dbuff.f[dMPM] = &bufferFs[dMPM * buffmax];
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //copy from buffer
+      //copy from buffer
       //(D.f[dP00])[ke   ] = (Dbuff.f[dP00])[k];
       //(D.f[dM00])[kw   ] = (Dbuff.f[dM00])[k];
       //(D.f[d0P0])[kn   ] = (Dbuff.f[d0P0])[k];
@@ -479,8 +479,8 @@ __global__ void setRecvFsPost27(real* DD,
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 __global__ void getSendFsPre27(real* DD,
-										  real* bufferFs,
-										  int* sendIndex,
+                                          real* bufferFs,
+                                          int* sendIndex,
                                           int buffmax,
                                           unsigned int* neighborX,
                                           unsigned int* neighborY,
@@ -532,7 +532,7 @@ __global__ void getSendFsPre27(real* DD,
       unsigned int ktne    = kIndex;
       unsigned int kbsw    = neighborZ[ksw];
       ////////////////////////////////////////////////////////////////////////////////
-	  //set Pointer for Fs
+      //set Pointer for Fs
       Distributions27 D;
       if (isEvenTimestep==true)
       {
@@ -595,7 +595,7 @@ __global__ void getSendFsPre27(real* DD,
          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //set Pointer for Buffer Fs
+      //set Pointer for Buffer Fs
       Distributions27 Dbuff;
       Dbuff.f[dP00] = &bufferFs[dP00 * buffmax];
       Dbuff.f[dM00] = &bufferFs[dM00 * buffmax];
@@ -625,7 +625,7 @@ __global__ void getSendFsPre27(real* DD,
       Dbuff.f[dPMM] = &bufferFs[dPMM * buffmax];
       Dbuff.f[dMPM] = &bufferFs[dMPM * buffmax];
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //copy to buffer
+      //copy to buffer
       (Dbuff.f[dP00])[k] = (D.f[dP00])[ke   ];
       (Dbuff.f[dM00])[k] = (D.f[dM00])[kw   ];
       (Dbuff.f[d0P0])[k] = (D.f[d0P0])[kn   ];
@@ -688,8 +688,8 @@ __global__ void getSendFsPre27(real* DD,
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 __global__ void setRecvFsPre27(real* DD,
-										  real* bufferFs,
-										  int* recvIndex,
+                                          real* bufferFs,
+                                          int* recvIndex,
                                           int buffmax,
                                           unsigned int* neighborX,
                                           unsigned int* neighborY,
@@ -741,7 +741,7 @@ __global__ void setRecvFsPre27(real* DD,
       unsigned int ktne    = kIndex;
       unsigned int kbsw    = neighborZ[ksw];
       ////////////////////////////////////////////////////////////////////////////////
-	  //set Pointer for Fs
+      //set Pointer for Fs
       Distributions27 D;
       if (isEvenTimestep==true)
       {
@@ -804,7 +804,7 @@ __global__ void setRecvFsPre27(real* DD,
          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //set Pointer for Buffer Fs
+      //set Pointer for Buffer Fs
       Distributions27 Dbuff;
       Dbuff.f[dP00] = &bufferFs[dP00 * buffmax];
       Dbuff.f[dM00] = &bufferFs[dM00 * buffmax];
@@ -834,7 +834,7 @@ __global__ void setRecvFsPre27(real* DD,
       Dbuff.f[dPMM] = &bufferFs[dPMM * buffmax];
       Dbuff.f[dMPM] = &bufferFs[dMPM * buffmax];
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //copy from buffer
+      //copy from buffer
       (D.f[dP00])[ke   ] = (Dbuff.f[dP00])[k];
       (D.f[dM00])[kw   ] = (Dbuff.f[dM00])[k];
       (D.f[d0P0])[kn   ] = (Dbuff.f[d0P0])[k];
@@ -896,75 +896,75 @@ __global__ void setRecvFsPre27(real* DD,
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 __global__ void getSendGsF3(
-	real* G6,
-	real* bufferGs,
-	int* sendIndex,
-	int buffmax,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned long long numberOfLBnodes,
-	bool isEvenTimestep)
+    real* G6,
+    real* bufferGs,
+    int* sendIndex,
+    int buffmax,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned long long numberOfLBnodes,
+    bool isEvenTimestep)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k < buffmax)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		//set index
-		unsigned int kIndex = sendIndex[k];
-		unsigned int kr = kIndex;
-		unsigned int kw = neighborX[kIndex];
-		unsigned int ks = neighborY[kIndex];
-		unsigned int kb = neighborZ[kIndex];
-		////////////////////////////////////////////////////////////////////////////////
-		//set Pointer for Gs
-		Distributions6 G;
-		if (isEvenTimestep)
-		{
-			G.g[dP00] = &G6[dP00 * numberOfLBnodes];
-			G.g[dM00] = &G6[dM00 * numberOfLBnodes];
-			G.g[d0P0] = &G6[d0P0 * numberOfLBnodes];
-			G.g[d0M0] = &G6[d0M0 * numberOfLBnodes];
-			G.g[d00P] = &G6[d00P * numberOfLBnodes];
-			G.g[d00M] = &G6[d00M * numberOfLBnodes];
-		}
-		else
-		{
-			G.g[dM00] = &G6[dP00 * numberOfLBnodes];
-			G.g[dP00] = &G6[dM00 * numberOfLBnodes];
-			G.g[d0M0] = &G6[d0P0 * numberOfLBnodes];
-			G.g[d0P0] = &G6[d0M0 * numberOfLBnodes];
-			G.g[d00M] = &G6[d00P * numberOfLBnodes];
-			G.g[d00P] = &G6[d00M * numberOfLBnodes];
-		}
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		//set Pointer for Buffer Gs
-		Distributions6 Dbuff;
-		Dbuff.g[dP00] = &bufferGs[dP00 * buffmax];
-		Dbuff.g[dM00] = &bufferGs[dM00 * buffmax];
-		Dbuff.g[d0P0] = &bufferGs[d0P0 * buffmax];
-		Dbuff.g[d0M0] = &bufferGs[d0M0 * buffmax];
-		Dbuff.g[d00P] = &bufferGs[d00P * buffmax];
-		Dbuff.g[d00M] = &bufferGs[d00M * buffmax];
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		//write Gs to buffer
-		(Dbuff.g[dP00])[k] = (G.g[dM00])[kw];
-		(Dbuff.g[dM00])[k] = (G.g[dP00])[kr];
-		(Dbuff.g[d0P0])[k] = (G.g[d0M0])[ks];
-		(Dbuff.g[d0M0])[k] = (G.g[d0P0])[kr];
-		(Dbuff.g[d00P])[k] = (G.g[d00M])[kb];
-		(Dbuff.g[d00M])[k] = (G.g[d00P])[kr];
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if (k < buffmax)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        //set index
+        unsigned int kIndex = sendIndex[k];
+        unsigned int kr = kIndex;
+        unsigned int kw = neighborX[kIndex];
+        unsigned int ks = neighborY[kIndex];
+        unsigned int kb = neighborZ[kIndex];
+        ////////////////////////////////////////////////////////////////////////////////
+        //set Pointer for Gs
+        Distributions6 G;
+        if (isEvenTimestep)
+        {
+            G.g[dP00] = &G6[dP00 * numberOfLBnodes];
+            G.g[dM00] = &G6[dM00 * numberOfLBnodes];
+            G.g[d0P0] = &G6[d0P0 * numberOfLBnodes];
+            G.g[d0M0] = &G6[d0M0 * numberOfLBnodes];
+            G.g[d00P] = &G6[d00P * numberOfLBnodes];
+            G.g[d00M] = &G6[d00M * numberOfLBnodes];
+        }
+        else
+        {
+            G.g[dM00] = &G6[dP00 * numberOfLBnodes];
+            G.g[dP00] = &G6[dM00 * numberOfLBnodes];
+            G.g[d0M0] = &G6[d0P0 * numberOfLBnodes];
+            G.g[d0P0] = &G6[d0M0 * numberOfLBnodes];
+            G.g[d00M] = &G6[d00P * numberOfLBnodes];
+            G.g[d00P] = &G6[d00M * numberOfLBnodes];
+        }
+        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //set Pointer for Buffer Gs
+        Distributions6 Dbuff;
+        Dbuff.g[dP00] = &bufferGs[dP00 * buffmax];
+        Dbuff.g[dM00] = &bufferGs[dM00 * buffmax];
+        Dbuff.g[d0P0] = &bufferGs[d0P0 * buffmax];
+        Dbuff.g[d0M0] = &bufferGs[d0M0 * buffmax];
+        Dbuff.g[d00P] = &bufferGs[d00P * buffmax];
+        Dbuff.g[d00M] = &bufferGs[d00M * buffmax];
+        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //write Gs to buffer
+        (Dbuff.g[dP00])[k] = (G.g[dM00])[kw];
+        (Dbuff.g[dM00])[k] = (G.g[dP00])[kr];
+        (Dbuff.g[d0P0])[k] = (G.g[d0M0])[ks];
+        (Dbuff.g[d0M0])[k] = (G.g[d0P0])[kr];
+        (Dbuff.g[d00P])[k] = (G.g[d00M])[kb];
+        (Dbuff.g[d00M])[k] = (G.g[d00P])[kr];
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -999,74 +999,74 @@ __global__ void getSendGsF3(
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 __global__ void setRecvGsF3(
-	real* G6,
-	real* bufferGs,
-	int* recvIndex,
-	int buffmax,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned long long numberOfLBnodes,
-	bool isEvenTimestep)
+    real* G6,
+    real* bufferGs,
+    int* recvIndex,
+    int buffmax,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned long long numberOfLBnodes,
+    bool isEvenTimestep)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k < buffmax)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		//set index
-		unsigned int kIndex = recvIndex[k];
-		unsigned int kr = kIndex;
-		unsigned int kw = neighborX[kIndex];
-		unsigned int ks = neighborY[kIndex];
-		unsigned int kb = neighborZ[kIndex];
-		////////////////////////////////////////////////////////////////////////////////
-		//set Pointer for Gs
-		Distributions6 G;
-		if (isEvenTimestep)
-		{
-			G.g[dP00] = &G6[dP00 * numberOfLBnodes];
-			G.g[dM00] = &G6[dM00 * numberOfLBnodes];
-			G.g[d0P0] = &G6[d0P0 * numberOfLBnodes];
-			G.g[d0M0] = &G6[d0M0 * numberOfLBnodes];
-			G.g[d00P] = &G6[d00P * numberOfLBnodes];
-			G.g[d00M] = &G6[d00M * numberOfLBnodes];
-		}
-		else
-		{
-			G.g[dM00] = &G6[dP00 * numberOfLBnodes];
-			G.g[dP00] = &G6[dM00 * numberOfLBnodes];
-			G.g[d0M0] = &G6[d0P0 * numberOfLBnodes];
-			G.g[d0P0] = &G6[d0M0 * numberOfLBnodes];
-			G.g[d00M] = &G6[d00P * numberOfLBnodes];
-			G.g[d00P] = &G6[d00M * numberOfLBnodes];
-		}
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		//set Pointer for Buffer Gs
-		Distributions6 Dbuff;
-		Dbuff.g[dP00] = &bufferGs[dP00 * buffmax];
-		Dbuff.g[dM00] = &bufferGs[dM00 * buffmax];
-		Dbuff.g[d0P0] = &bufferGs[d0P0 * buffmax];
-		Dbuff.g[d0M0] = &bufferGs[d0M0 * buffmax];
-		Dbuff.g[d00P] = &bufferGs[d00P * buffmax];
-		Dbuff.g[d00M] = &bufferGs[d00M * buffmax];
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		//write buffer to Gs
-		(G.g[dM00])[kw] = (Dbuff.g[dP00])[k];
-		(G.g[dP00])[kr] = (Dbuff.g[dM00])[k];
-		(G.g[d0M0])[ks] = (Dbuff.g[d0P0])[k];
-		(G.g[d0P0])[kr] = (Dbuff.g[d0M0])[k];
-		(G.g[d00M])[kb] = (Dbuff.g[d00P])[k];
-		(G.g[d00P])[kr] = (Dbuff.g[d00M])[k];
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if (k < buffmax)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        //set index
+        unsigned int kIndex = recvIndex[k];
+        unsigned int kr = kIndex;
+        unsigned int kw = neighborX[kIndex];
+        unsigned int ks = neighborY[kIndex];
+        unsigned int kb = neighborZ[kIndex];
+        ////////////////////////////////////////////////////////////////////////////////
+        //set Pointer for Gs
+        Distributions6 G;
+        if (isEvenTimestep)
+        {
+            G.g[dP00] = &G6[dP00 * numberOfLBnodes];
+            G.g[dM00] = &G6[dM00 * numberOfLBnodes];
+            G.g[d0P0] = &G6[d0P0 * numberOfLBnodes];
+            G.g[d0M0] = &G6[d0M0 * numberOfLBnodes];
+            G.g[d00P] = &G6[d00P * numberOfLBnodes];
+            G.g[d00M] = &G6[d00M * numberOfLBnodes];
+        }
+        else
+        {
+            G.g[dM00] = &G6[dP00 * numberOfLBnodes];
+            G.g[dP00] = &G6[dM00 * numberOfLBnodes];
+            G.g[d0M0] = &G6[d0P0 * numberOfLBnodes];
+            G.g[d0P0] = &G6[d0M0 * numberOfLBnodes];
+            G.g[d00M] = &G6[d00P * numberOfLBnodes];
+            G.g[d00P] = &G6[d00M * numberOfLBnodes];
+        }
+        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //set Pointer for Buffer Gs
+        Distributions6 Dbuff;
+        Dbuff.g[dP00] = &bufferGs[dP00 * buffmax];
+        Dbuff.g[dM00] = &bufferGs[dM00 * buffmax];
+        Dbuff.g[d0P0] = &bufferGs[d0P0 * buffmax];
+        Dbuff.g[d0M0] = &bufferGs[d0M0 * buffmax];
+        Dbuff.g[d00P] = &bufferGs[d00P * buffmax];
+        Dbuff.g[d00M] = &bufferGs[d00M * buffmax];
+        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //write buffer to Gs
+        (G.g[dM00])[kw] = (Dbuff.g[dP00])[k];
+        (G.g[dP00])[kr] = (Dbuff.g[dM00])[k];
+        (G.g[d0M0])[ks] = (Dbuff.g[d0P0])[k];
+        (G.g[d0P0])[kr] = (Dbuff.g[d0M0])[k];
+        (G.g[d00M])[kb] = (Dbuff.g[d00P])[k];
+        (G.g[d00P])[kr] = (Dbuff.g[d00M])[k];
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/gpu/core/GPU/GPU_Interface.h b/src/gpu/core/GPU/GPU_Interface.h
index ba9b1e4cf05e6f16020a3c90e71384c71da41bc5..c207dff116aa04e6c2190cf2a6cd97234c20cdb2 100644
--- a/src/gpu/core/GPU/GPU_Interface.h
+++ b/src/gpu/core/GPU/GPU_Interface.h
@@ -31,245 +31,6 @@ class Parameter;
 //////////////////////////////////////////////////////////////////////////
 //Kernel
 //////////////////////////////////////////////////////////////////////////
-void KernelCas27(unsigned int grid_nx, 
-                            unsigned int grid_ny, 
-                            unsigned int grid_nz, 
-                            real s9,
-                            unsigned int* bcMatD,
-                            unsigned int* neighborX,
-                            unsigned int* neighborY,
-                            unsigned int* neighborZ,
-                            real* DD,
-                            unsigned long long numberOfLBnodes,
-                            bool EvenOrOdd);
-
-void KernelCasSP27(unsigned int numberOfThreads, 
-                              real s9,
-                              unsigned int* bcMatD,
-                              unsigned int* neighborX,
-                              unsigned int* neighborY,
-                              unsigned int* neighborZ,
-                              real* DD,
-                              unsigned long long numberOfLBnodes,
-                              bool EvenOrOdd);
-
-void KernelCasSPMS27(unsigned int numberOfThreads, 
-                                real s9,
-                                unsigned int* bcMatD,
-                                unsigned int* neighborX,
-                                unsigned int* neighborY,
-                                unsigned int* neighborZ,
-                                real* DD,
-                                unsigned long long numberOfLBnodes,
-                                bool EvenOrOdd);
-
-void KernelCasSPMSOHM27( unsigned int numberOfThreads, 
-                                   real s9,
-                                   unsigned int* bcMatD,
-                                   unsigned int* neighborX,
-                                   unsigned int* neighborY,
-                                   unsigned int* neighborZ,
-                                   real* DD,
-                                   unsigned long long numberOfLBnodes,
-                                   bool EvenOrOdd);
-
-void KernelKumCompSRTSP27(
-	unsigned int numberOfThreads,
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	unsigned long long numberOfLBnodes,
-	int level,
-	real* forces,
-	bool EvenOrOdd);
-
-void KernelCumulantD3Q27All4(unsigned int numberOfThreads,
-									    real s9,
-									    unsigned int* bcMatD,
-									    unsigned int* neighborX,
-									    unsigned int* neighborY,
-									    unsigned int* neighborZ,
-									    real* DD,
-									    unsigned long long numberOfLBnodes,
-									    int level,
-									    real* forces,
-									    bool EvenOrOdd);
-
-void KernelKumAA2016CompBulkSP27(unsigned int numberOfThreads, 
-											real s9,
-											unsigned int* bcMatD,
-											unsigned int* neighborX,
-											unsigned int* neighborY,
-											unsigned int* neighborZ,
-											real* DD,
-											unsigned long long numberOfLBnodes,
-											int size_Array,
-											int level,
-											real* forces,
-											bool EvenOrOdd);
-
-void KernelKum1hSP27(    unsigned int numberOfThreads, 
-									real omega,
-									real deltaPhi,
-									real angularVelocity,
-									unsigned int* bcMatD,
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									real* coordX,
-									real* coordY,
-									real* coordZ,
-									real* DDStart,
-									unsigned long long numberOfLBnodes,
-									bool EvenOrOdd);
-
-void KernelCascadeSP27(unsigned int numberOfThreads, 
-								  real s9,
-								  unsigned int* bcMatD,
-								  unsigned int* neighborX,
-								  unsigned int* neighborY,
-								  unsigned int* neighborZ,
-								  real* DD,
-								  unsigned long long numberOfLBnodes,
-								  bool EvenOrOdd);
-
-void KernelKumNewSP27(   unsigned int numberOfThreads, 
-									real s9,
-									unsigned int* bcMatD,
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									real* DD,
-									unsigned long long numberOfLBnodes,
-									bool EvenOrOdd);
-
-
-void CumulantOnePreconditionedErrorDiffusionChimCompSP27(
-	unsigned int numberOfThreads,
-	real s9,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DD,
-	unsigned long long numberOfLBnodes,
-	int size_Array,
-	int level,
-	real* forces,
-	bool EvenOrOdd);
-
-void CumulantOnePreconditionedChimCompSP27(
-	unsigned int numberOfThreads,
-	real s9,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DD,
-	unsigned long long numberOfLBnodes,
-	int size_Array,
-	int level,
-	real* forces,
-	bool EvenOrOdd);
-
-void CumulantOneChimCompSP27(
-	unsigned int numberOfThreads,
-	real s9,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DD,
-	unsigned long long numberOfLBnodes,
-	int size_Array,
-	int level,
-	real* forces,
-	bool EvenOrOdd);
-
-
-void KernelKumIsoTestSP27(unsigned int numberOfThreads, 
-									 real s9,
-									 unsigned int* bcMatD,
-									 unsigned int* neighborX,
-									 unsigned int* neighborY,
-									 unsigned int* neighborZ,
-									 real* DD,
-									 real* dxxUx,
-									 real* dyyUy,
-									 real* dzzUz,
-									 unsigned long long numberOfLBnodes,
-									 bool EvenOrOdd);
-
-void KernelKumCompSP27(  unsigned int numberOfThreads, 
-									real s9,
-									unsigned int* bcMatD,
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									real* DD,
-									unsigned long long numberOfLBnodes,
-									bool EvenOrOdd);
-
-void KernelWaleBySoniMalavCumAA2016CompSP27(
-	unsigned int numberOfThreads,
-	real s9,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DD,
-	real* turbulentViscosity,
-	unsigned long long numberOfLBnodes,
-	int size_Array,
-	int level,
-	real* forces,
-	bool EvenOrOdd);
-
-void KernelPMCumOneCompSP27(unsigned int numberOfThreads, 
-									   real omega,
-									   unsigned int* neighborX,
-									   unsigned int* neighborY,
-									   unsigned int* neighborZ,
-									   real* DD,
-									   unsigned long long numberOfLBnodes,
-									   int level,
-									   real* forces,
-									   real porosity,
-									   real darcy,
-									   real forchheimer,
-									   unsigned int sizeOfPorousMedia,
-									   unsigned int* nodeIdsPorousMedia, 
-									   bool EvenOrOdd);
-
-void KernelADincomp7(   unsigned int numberOfThreads, 
-								   real diffusivity,
-								   unsigned int* bcMatD,
-								   unsigned int* neighborX,
-								   unsigned int* neighborY,
-								   unsigned int* neighborZ,
-								   real* DD,
-								   real* DD7,
-								   unsigned long long numberOfLBnodes,
-								   bool EvenOrOdd);
-
-void KernelADincomp27(   unsigned int numberOfThreads, 
-									real diffusivity,
-									unsigned int* bcMatD,
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									real* DD,
-									real* DD7,
-									unsigned long long numberOfLBnodes,
-									bool EvenOrOdd);
-
 void Init27(int myid,
                        int numprocs,
                        real u0,
@@ -302,19 +63,6 @@ void InitNonEqPartSP27(unsigned int numberOfThreads,
                                   bool EvenOrOdd);
 
 
-void InitThS7(  unsigned int numberOfThreads,
-                           unsigned int* neighborX,
-                           unsigned int* neighborY,
-                           unsigned int* neighborZ,
-                           unsigned int* geoD,
-                           real* Conc,
-                           real* ux,
-                           real* uy,
-                           real* uz,
-                           unsigned long long numberOfLBnodes,
-                           real* DD7,
-                           bool EvenOrOdd);
-
 void InitADDev27( unsigned int numberOfThreads,
                            unsigned int* neighborX,
                            unsigned int* neighborY,
@@ -328,24 +76,6 @@ void InitADDev27( unsigned int numberOfThreads,
                            real* DD27,
                            bool EvenOrOdd);
 
-void PostProcessorF3_2018Fehlberg(
-	unsigned int numberOfThreads,
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* rhoOut,
-	real* vxOut,
-	real* vyOut,
-	real* vzOut,
-	real* DDStart,
-	real* G6,
-	unsigned long long numberOfLBnodes,
-	int level,
-	real* forces,
-	bool EvenOrOdd);
-
 void CalcMac27( real* vxD,
                           real* vyD,
                           real* vzD,
@@ -376,18 +106,18 @@ void CalcMacSP27(real* vxD,
                             bool isEvenTimestep);
 
 void CalcMacCompSP27(real* vxD,
-								real* vyD,
-								real* vzD,
-								real* rhoD,
-								real* pressD,
-								unsigned int* geoD,
-								unsigned int* neighborX,
-								unsigned int* neighborY,
-								unsigned int* neighborZ,
-								unsigned long long numberOfLBnodes,
-								unsigned int numberOfThreads, 
-								real* DD,
-								bool isEvenTimestep);
+                                real* vyD,
+                                real* vzD,
+                                real* rhoD,
+                                real* pressD,
+                                unsigned int* geoD,
+                                unsigned int* neighborX,
+                                unsigned int* neighborY,
+                                unsigned int* neighborZ,
+                                unsigned long long numberOfLBnodes,
+                                unsigned int numberOfThreads, 
+                                real* DD,
+                                bool isEvenTimestep);
 
 void CalcMacCompSP27RotatingToStatic(
     real* vxD,
@@ -416,31 +146,31 @@ void CalcMacThS7(  real* Conc,
                               bool isEvenTimestep);
 
 void PlaneConcThS7(real* Conc,
-							  int* kPC,
-							  unsigned int numberOfPointskPC,
-							  unsigned int* geoD,
-							  unsigned int* neighborX,
-							  unsigned int* neighborY,
-							  unsigned int* neighborZ,
-							  unsigned long long numberOfLBnodes,
-							  unsigned int numberOfThreads, 
-							  real* DD7,
-							  bool isEvenTimestep);
+                              int* kPC,
+                              unsigned int numberOfPointskPC,
+                              unsigned int* geoD,
+                              unsigned int* neighborX,
+                              unsigned int* neighborY,
+                              unsigned int* neighborZ,
+                              unsigned long long numberOfLBnodes,
+                              unsigned int numberOfThreads, 
+                              real* DD7,
+                              bool isEvenTimestep);
 
 void PlaneConcThS27(real* Conc,
-							   int* kPC,
-							   unsigned int numberOfPointskPC,
-							   unsigned int* geoD,
-							   unsigned int* neighborX,
-							   unsigned int* neighborY,
-							   unsigned int* neighborZ,
-							   unsigned long long numberOfLBnodes,
-							   unsigned int numberOfThreads, 
-							   real* DD27,
-							   bool isEvenTimestep);
+                               int* kPC,
+                               unsigned int numberOfPointskPC,
+                               unsigned int* geoD,
+                               unsigned int* neighborX,
+                               unsigned int* neighborY,
+                               unsigned int* neighborZ,
+                               unsigned long long numberOfLBnodes,
+                               unsigned int numberOfThreads, 
+                               real* DD27,
+                               bool isEvenTimestep);
 
 void CalcConcentration27( unsigned int numberOfThreads,
-	                                 real* Conc,
+                                     real* Conc,
                                      unsigned int* geoD,
                                      unsigned int* neighborX,
                                      unsigned int* neighborY,
@@ -464,35 +194,35 @@ void CalcMedSP27(  real* vxD,
                               bool isEvenTimestep);
 
 void CalcMedCompSP27(real* vxD,
-								real* vyD,
-								real* vzD,
-								real* rhoD,
-								real* pressD,
-								unsigned int* geoD,
-								unsigned int* neighborX,
-								unsigned int* neighborY,
-								unsigned int* neighborZ,
-								unsigned long long numberOfLBnodes,
-								unsigned int numberOfThreads, 
-								real* DD,
-								bool isEvenTimestep);
+                                real* vyD,
+                                real* vzD,
+                                real* rhoD,
+                                real* pressD,
+                                unsigned int* geoD,
+                                unsigned int* neighborX,
+                                unsigned int* neighborY,
+                                unsigned int* neighborZ,
+                                unsigned long long numberOfLBnodes,
+                                unsigned int numberOfThreads, 
+                                real* DD,
+                                bool isEvenTimestep);
 
 void CalcMedCompAD27(
-	real* vxD,
-	real* vyD,
-	real* vzD,
-	real* rhoD,
-	real* pressD,
-	real* concD,
-	unsigned int* geoD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned long long numberOfLBnodes,
-	unsigned int numberOfThreads,
-	real* DD,
-	real* DD_AD,
-	bool isEvenTimestep);
+    real* vxD,
+    real* vyD,
+    real* vzD,
+    real* rhoD,
+    real* pressD,
+    real* concD,
+    unsigned int* geoD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned long long numberOfLBnodes,
+    unsigned int numberOfThreads,
+    real* DD,
+    real* DD_AD,
+    bool isEvenTimestep);
 
 void CalcMacMedSP27(  real* vxD,
                                  real* vyD,
@@ -509,123 +239,123 @@ void CalcMacMedSP27(  real* vxD,
                                  bool isEvenTimestep);
 
 void ResetMedianValuesSP27(
-	real* vxD,
-	real* vyD,
-	real* vzD,
-	real* rhoD,
-	real* pressD,
-	unsigned long long numberOfLBnodes,
-	unsigned int numberOfThreads,
-	bool isEvenTimestep);
+    real* vxD,
+    real* vyD,
+    real* vzD,
+    real* rhoD,
+    real* pressD,
+    unsigned long long numberOfLBnodes,
+    unsigned int numberOfThreads,
+    bool isEvenTimestep);
 
 void ResetMedianValuesAD27(
-	real* vxD,
-	real* vyD,
-	real* vzD,
-	real* rhoD,
-	real* pressD,
-	real* concD,
-	unsigned long long numberOfLBnodes,
-	unsigned int numberOfThreads,
-	bool isEvenTimestep);
+    real* vxD,
+    real* vyD,
+    real* vzD,
+    real* rhoD,
+    real* pressD,
+    real* concD,
+    unsigned long long numberOfLBnodes,
+    unsigned int numberOfThreads,
+    bool isEvenTimestep);
 
 void Calc2ndMomentsIncompSP27(real* kxyFromfcNEQ,
-										 real* kyzFromfcNEQ,
-										 real* kxzFromfcNEQ,
-										 real* kxxMyyFromfcNEQ,
-										 real* kxxMzzFromfcNEQ,
-										 unsigned int* geoD,
-										 unsigned int* neighborX,
-										 unsigned int* neighborY,
-										 unsigned int* neighborZ,
-										 unsigned long long numberOfLBnodes,
-										 unsigned int numberOfThreads, 
-										 real* DD,
-										 bool isEvenTimestep);
+                                         real* kyzFromfcNEQ,
+                                         real* kxzFromfcNEQ,
+                                         real* kxxMyyFromfcNEQ,
+                                         real* kxxMzzFromfcNEQ,
+                                         unsigned int* geoD,
+                                         unsigned int* neighborX,
+                                         unsigned int* neighborY,
+                                         unsigned int* neighborZ,
+                                         unsigned long long numberOfLBnodes,
+                                         unsigned int numberOfThreads, 
+                                         real* DD,
+                                         bool isEvenTimestep);
 
 void Calc2ndMomentsCompSP27(real* kxyFromfcNEQ,
-									   real* kyzFromfcNEQ,
-									   real* kxzFromfcNEQ,
-									   real* kxxMyyFromfcNEQ,
-									   real* kxxMzzFromfcNEQ,
-									   unsigned int* geoD,
-									   unsigned int* neighborX,
-									   unsigned int* neighborY,
-									   unsigned int* neighborZ,
-									   unsigned long long numberOfLBnodes,
-									   unsigned int numberOfThreads, 
-									   real* DD,
-									   bool isEvenTimestep);
+                                       real* kyzFromfcNEQ,
+                                       real* kxzFromfcNEQ,
+                                       real* kxxMyyFromfcNEQ,
+                                       real* kxxMzzFromfcNEQ,
+                                       unsigned int* geoD,
+                                       unsigned int* neighborX,
+                                       unsigned int* neighborY,
+                                       unsigned int* neighborZ,
+                                       unsigned long long numberOfLBnodes,
+                                       unsigned int numberOfThreads, 
+                                       real* DD,
+                                       bool isEvenTimestep);
 
 void Calc3rdMomentsIncompSP27(real* CUMbbb,
-										 real* CUMabc,
-										 real* CUMbac,
-										 real* CUMbca,
-										 real* CUMcba,
-										 real* CUMacb,
-										 real* CUMcab,
-										 unsigned int* geoD,
-										 unsigned int* neighborX,
-										 unsigned int* neighborY,
-										 unsigned int* neighborZ,
-										 unsigned long long numberOfLBnodes,
-										 unsigned int numberOfThreads, 
-										 real* DD,
-										 bool isEvenTimestep);
+                                         real* CUMabc,
+                                         real* CUMbac,
+                                         real* CUMbca,
+                                         real* CUMcba,
+                                         real* CUMacb,
+                                         real* CUMcab,
+                                         unsigned int* geoD,
+                                         unsigned int* neighborX,
+                                         unsigned int* neighborY,
+                                         unsigned int* neighborZ,
+                                         unsigned long long numberOfLBnodes,
+                                         unsigned int numberOfThreads, 
+                                         real* DD,
+                                         bool isEvenTimestep);
 
 void Calc3rdMomentsCompSP27(real* CUMbbb,
-									   real* CUMabc,
-									   real* CUMbac,
-									   real* CUMbca,
-									   real* CUMcba,
-									   real* CUMacb,
-									   real* CUMcab,
-									   unsigned int* geoD,
-									   unsigned int* neighborX,
-									   unsigned int* neighborY,
-									   unsigned int* neighborZ,
-									   unsigned long long numberOfLBnodes,
-									   unsigned int numberOfThreads, 
-									   real* DD,
-									   bool isEvenTimestep);
+                                       real* CUMabc,
+                                       real* CUMbac,
+                                       real* CUMbca,
+                                       real* CUMcba,
+                                       real* CUMacb,
+                                       real* CUMcab,
+                                       unsigned int* geoD,
+                                       unsigned int* neighborX,
+                                       unsigned int* neighborY,
+                                       unsigned int* neighborZ,
+                                       unsigned long long numberOfLBnodes,
+                                       unsigned int numberOfThreads, 
+                                       real* DD,
+                                       bool isEvenTimestep);
 
 void CalcHigherMomentsIncompSP27(real* CUMcbb,
-											real* CUMbcb,
-											real* CUMbbc,
-											real* CUMcca,
-											real* CUMcac,
-											real* CUMacc,
-											real* CUMbcc,
-											real* CUMcbc,
-											real* CUMccb,
-											real* CUMccc,
-											unsigned int* geoD,
-											unsigned int* neighborX,
-											unsigned int* neighborY,
-											unsigned int* neighborZ,
-											unsigned long long numberOfLBnodes,
-											unsigned int numberOfThreads, 
-											real* DD,
-											bool isEvenTimestep);
+                                            real* CUMbcb,
+                                            real* CUMbbc,
+                                            real* CUMcca,
+                                            real* CUMcac,
+                                            real* CUMacc,
+                                            real* CUMbcc,
+                                            real* CUMcbc,
+                                            real* CUMccb,
+                                            real* CUMccc,
+                                            unsigned int* geoD,
+                                            unsigned int* neighborX,
+                                            unsigned int* neighborY,
+                                            unsigned int* neighborZ,
+                                            unsigned long long numberOfLBnodes,
+                                            unsigned int numberOfThreads, 
+                                            real* DD,
+                                            bool isEvenTimestep);
 
 void CalcHigherMomentsCompSP27(real* CUMcbb,
-										  real* CUMbcb,
-										  real* CUMbbc,
-										  real* CUMcca,
-										  real* CUMcac,
-										  real* CUMacc,
-										  real* CUMbcc,
-										  real* CUMcbc,
-										  real* CUMccb,
-										  real* CUMccc,
-										  unsigned int* geoD,
-										  unsigned int* neighborX,
-										  unsigned int* neighborY,
-										  unsigned int* neighborZ,
-										  unsigned long long numberOfLBnodes,
-										  unsigned int numberOfThreads, 
-										  real* DD,
-										  bool isEvenTimestep);
+                                          real* CUMbcb,
+                                          real* CUMbbc,
+                                          real* CUMcca,
+                                          real* CUMcac,
+                                          real* CUMacc,
+                                          real* CUMbcc,
+                                          real* CUMcbc,
+                                          real* CUMccb,
+                                          real* CUMccc,
+                                          unsigned int* geoD,
+                                          unsigned int* neighborX,
+                                          unsigned int* neighborY,
+                                          unsigned int* neighborZ,
+                                          unsigned long long numberOfLBnodes,
+                                          unsigned int numberOfThreads, 
+                                          real* DD,
+                                          bool isEvenTimestep);
 
 void LBCalcMeasurePoints27(real* vxMP,
                                       real* vyMP,
@@ -678,165 +408,165 @@ void QDev27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* bou
 void QDevComp27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* boundaryCondition);
 
 void QDevCompThinWalls27(unsigned int numberOfThreads,
-									real* DD, 
-									int* k_Q, 
-									real* QQ,
-									unsigned int numberOfBCnodes, 
-									real om1, 
-									unsigned int* geom,
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned int* neighborWSB,
-									unsigned long long numberOfLBnodes, 
-									bool isEvenTimestep);
+                                    real* DD, 
+                                    int* k_Q, 
+                                    real* QQ,
+                                    unsigned int numberOfBCnodes, 
+                                    real om1, 
+                                    unsigned int* geom,
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned int* neighborWSB,
+                                    unsigned long long numberOfLBnodes, 
+                                    bool isEvenTimestep);
 
 void QDev3rdMomentsComp27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* boundaryCondition);
 
 void QDevIncompHighNu27(  unsigned int numberOfThreads,
-									 real* DD, 
-									 int* k_Q, 
-									 real* QQ,
-									 unsigned int numberOfBCnodes, 
-									 real om1, 
-									 unsigned int* neighborX,
-									 unsigned int* neighborY,
-									 unsigned int* neighborZ,
-									 unsigned long long numberOfLBnodes, 
-									 bool isEvenTimestep);
+                                     real* DD, 
+                                     int* k_Q, 
+                                     real* QQ,
+                                     unsigned int numberOfBCnodes, 
+                                     real om1, 
+                                     unsigned int* neighborX,
+                                     unsigned int* neighborY,
+                                     unsigned int* neighborZ,
+                                     unsigned long long numberOfLBnodes, 
+                                     bool isEvenTimestep);
 
 void QDevCompHighNu27(unsigned int numberOfThreads,
-								 real* DD, 
-								 int* k_Q, 
-								 real* QQ,
-								 unsigned int numberOfBCnodes, 
-								 real om1, 
-								 unsigned int* neighborX,
-								 unsigned int* neighborY,
-								 unsigned int* neighborZ,
-								 unsigned long long numberOfLBnodes, 
-								 bool isEvenTimestep);
+                                 real* DD, 
+                                 int* k_Q, 
+                                 real* QQ,
+                                 unsigned int numberOfBCnodes, 
+                                 real om1, 
+                                 unsigned int* neighborX,
+                                 unsigned int* neighborY,
+                                 unsigned int* neighborZ,
+                                 unsigned long long numberOfLBnodes, 
+                                 bool isEvenTimestep);
 
 void QVelDevicePlainBB27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* boundaryCondition);
-	
+    
 void QVelDeviceCouette27(unsigned int numberOfThreads,
-									real* vx,
-									real* vy,
-									real* vz,
-									real* DD,
-									int* k_Q, 
-									real* QQ,
-									unsigned int numberOfBCnodes, 
-									real om1, 
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned long long numberOfLBnodes, 
-									bool isEvenTimestep);
+                                    real* vx,
+                                    real* vy,
+                                    real* vz,
+                                    real* DD,
+                                    int* k_Q, 
+                                    real* QQ,
+                                    unsigned int numberOfBCnodes, 
+                                    real om1, 
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned long long numberOfLBnodes, 
+                                    bool isEvenTimestep);
 
 void QVelDevice1h27( unsigned int numberOfThreads,
-								int nx,
-								int ny,
-								real* vx,
-								real* vy,
-								real* vz,
-								real* DD, 
-								int* k_Q, 
-								real* QQ,
-								unsigned int numberOfBCnodes, 
-								real om1, 
-								real Phi, 
-								real angularVelocity,
-								unsigned int* neighborX,
-								unsigned int* neighborY,
-								unsigned int* neighborZ,
-								real* coordX,
-								real* coordY,
-								real* coordZ,
-								unsigned long long numberOfLBnodes, 
-								bool isEvenTimestep);
+                                int nx,
+                                int ny,
+                                real* vx,
+                                real* vy,
+                                real* vz,
+                                real* DD, 
+                                int* k_Q, 
+                                real* QQ,
+                                unsigned int numberOfBCnodes, 
+                                real om1, 
+                                real Phi, 
+                                real angularVelocity,
+                                unsigned int* neighborX,
+                                unsigned int* neighborY,
+                                unsigned int* neighborZ,
+                                real* coordX,
+                                real* coordY,
+                                real* coordZ,
+                                unsigned long long numberOfLBnodes, 
+                                bool isEvenTimestep);
 
 void QVelDev27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* boundaryCondition);
 
 void QVelDevCompPlusSlip27(unsigned int numberOfThreads,
-									  real* vx,
-									  real* vy,
-									  real* vz,
-									  real* DD, 
-									  int* k_Q, 
-									  real* QQ,
-									  unsigned int numberOfBCnodes, 
-									  real om1, 
-									  unsigned int* neighborX,
-									  unsigned int* neighborY,
-									  unsigned int* neighborZ,
-									  unsigned long long numberOfLBnodes, 
-									  bool isEvenTimestep);
+                                      real* vx,
+                                      real* vy,
+                                      real* vz,
+                                      real* DD, 
+                                      int* k_Q, 
+                                      real* QQ,
+                                      unsigned int numberOfBCnodes, 
+                                      real om1, 
+                                      unsigned int* neighborX,
+                                      unsigned int* neighborY,
+                                      unsigned int* neighborZ,
+                                      unsigned long long numberOfLBnodes, 
+                                      bool isEvenTimestep);
 
 void QVelDevComp27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* boundaryCondition);
 
 void QVelDevCompThinWalls27(unsigned int numberOfThreads,
-							           real* vx,
-							           real* vy,
-							           real* vz,
-							           real* DD, 
-							           int* k_Q, 
-							           real* QQ,
-							           unsigned int numberOfBCnodes, 
-							           real om1, 
-									   unsigned int* geom,
-							           unsigned int* neighborX,
-							           unsigned int* neighborY,
-							           unsigned int* neighborZ,
-									   unsigned int* neighborWSB,
-							           unsigned long long numberOfLBnodes, 
-							           bool isEvenTimestep);
+                                       real* vx,
+                                       real* vy,
+                                       real* vz,
+                                       real* DD, 
+                                       int* k_Q, 
+                                       real* QQ,
+                                       unsigned int numberOfBCnodes, 
+                                       real om1, 
+                                       unsigned int* geom,
+                                       unsigned int* neighborX,
+                                       unsigned int* neighborY,
+                                       unsigned int* neighborZ,
+                                       unsigned int* neighborWSB,
+                                       unsigned long long numberOfLBnodes, 
+                                       bool isEvenTimestep);
 
 void QVelDevCompZeroPress27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* boundaryCondition);
 
 void QVelDevIncompHighNu27(  unsigned int numberOfThreads,
-										real* vx,
-										real* vy,
-										real* vz,
-										real* DD, 
-										int* k_Q, 
-										real* QQ,
-										unsigned int numberOfBCnodes, 
-										real om1, 
-										unsigned int* neighborX,
-										unsigned int* neighborY,
-										unsigned int* neighborZ,
-										unsigned long long numberOfLBnodes, 
-										bool isEvenTimestep);
+                                        real* vx,
+                                        real* vy,
+                                        real* vz,
+                                        real* DD, 
+                                        int* k_Q, 
+                                        real* QQ,
+                                        unsigned int numberOfBCnodes, 
+                                        real om1, 
+                                        unsigned int* neighborX,
+                                        unsigned int* neighborY,
+                                        unsigned int* neighborZ,
+                                        unsigned long long numberOfLBnodes, 
+                                        bool isEvenTimestep);
 
 void QVelDevCompHighNu27(unsigned int numberOfThreads,
-									real* vx,
-									real* vy,
-									real* vz,
-									real* DD, 
-									int* k_Q, 
-									real* QQ,
-									unsigned int numberOfBCnodes, 
-									real om1, 
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned long long numberOfLBnodes, 
-									bool isEvenTimestep);
+                                    real* vx,
+                                    real* vy,
+                                    real* vz,
+                                    real* DD, 
+                                    int* k_Q, 
+                                    real* QQ,
+                                    unsigned int numberOfBCnodes, 
+                                    real om1, 
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned long long numberOfLBnodes, 
+                                    bool isEvenTimestep);
 
 void QVeloDevEQ27(unsigned int numberOfThreads,
-							 real* VeloX,
-							 real* VeloY,
-							 real* VeloZ,
-							 real* DD, 
-							 int* k_Q, 
-							 int numberOfBCnodes, 
-							 real om1, 
-							 unsigned int* neighborX,
-							 unsigned int* neighborY,
-							 unsigned int* neighborZ,
-							 unsigned long long numberOfLBnodes, 
-							 bool isEvenTimestep);
+                             real* VeloX,
+                             real* VeloY,
+                             real* VeloZ,
+                             real* DD, 
+                             int* k_Q, 
+                             int numberOfBCnodes, 
+                             real om1, 
+                             unsigned int* neighborX,
+                             unsigned int* neighborY,
+                             unsigned int* neighborZ,
+                             unsigned long long numberOfLBnodes, 
+                             bool isEvenTimestep);
 
 void QSlipDev27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* boundaryCondition);
 
@@ -849,34 +579,34 @@ void QSlipDevCompTurbulentViscosity27(LBMSimulationParameter* parameterDevice, Q
 void QSlipPressureDevCompTurbulentViscosity27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* boundaryCondition);
 
 void QSlipGeomDevComp27( unsigned int numberOfThreads,
-									real* DD, 
-									int* k_Q, 
-									real* QQ,
-									unsigned int numberOfBCnodes,
-									real om1, 
-									real* NormalX,
-									real* NormalY,
-									real* NormalZ,
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned long long numberOfLBnodes, 
-									bool isEvenTimestep);
+                                    real* DD, 
+                                    int* k_Q, 
+                                    real* QQ,
+                                    unsigned int numberOfBCnodes,
+                                    real om1, 
+                                    real* NormalX,
+                                    real* NormalY,
+                                    real* NormalZ,
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned long long numberOfLBnodes, 
+                                    bool isEvenTimestep);
 
 void QSlipNormDevComp27(unsigned int numberOfThreads,
-								   real* DD, 
-								   int* k_Q, 
-								   real* QQ,
-								   unsigned int numberOfBCnodes,
-								   real om1, 
-								   real* NormalX,
-								   real* NormalY,
-								   real* NormalZ,
-								   unsigned int* neighborX,
-								   unsigned int* neighborY,
-								   unsigned int* neighborZ,
-								   unsigned long long numberOfLBnodes, 
-								   bool isEvenTimestep);
+                                   real* DD, 
+                                   int* k_Q, 
+                                   real* QQ,
+                                   unsigned int numberOfBCnodes,
+                                   real om1, 
+                                   real* NormalX,
+                                   real* NormalY,
+                                   real* NormalZ,
+                                   unsigned int* neighborX,
+                                   unsigned int* neighborY,
+                                   unsigned int* neighborZ,
+                                   unsigned long long numberOfLBnodes, 
+                                   bool isEvenTimestep);
 
 void QStressDevComp27(Parameter *para,  QforBoundaryConditions* boundaryCondition, const int level);
 
@@ -946,48 +676,48 @@ void QPressDevZero27(unsigned int numberOfThreads,
                                 bool isEvenTimestep);
 
 void QPressDevFake27(   unsigned int numberOfThreads,
-								   real* rhoBC,
-								   real* DD, 
-								   int* k_Q, 
-								   int* k_N, 
-								   unsigned int numberOfBCnodes, 
-								   real om1, 
-								   unsigned int* neighborX,
-								   unsigned int* neighborY,
-								   unsigned int* neighborZ,
-								   unsigned long long numberOfLBnodes, 
-								   bool isEvenTimestep);
+                                   real* rhoBC,
+                                   real* DD, 
+                                   int* k_Q, 
+                                   int* k_N, 
+                                   unsigned int numberOfBCnodes, 
+                                   real om1, 
+                                   unsigned int* neighborX,
+                                   unsigned int* neighborY,
+                                   unsigned int* neighborZ,
+                                   unsigned long long numberOfLBnodes, 
+                                   bool isEvenTimestep);
 
 void BBDev27(LBMSimulationParameter* parameterDevice, QforBoundaryConditions* boundaryCondition);
 
 void QPressDev27_IntBB(  unsigned int numberOfThreads,
-									real* rho,
-									real* DD, 
-									int* k_Q, 
-									real* QQ,
-									unsigned int numberOfBCnodes, 
-									real om1, 
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned long long numberOfLBnodes, 
-									bool isEvenTimestep);
+                                    real* rho,
+                                    real* DD, 
+                                    int* k_Q, 
+                                    real* QQ,
+                                    unsigned int numberOfBCnodes, 
+                                    real om1, 
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned long long numberOfLBnodes, 
+                                    bool isEvenTimestep);
 
 void QPressDevAntiBB27(  unsigned int numberOfThreads,
-								  real* rhoBC,
-								  real* vx,
-								  real* vy,
-								  real* vz,
-								  real* DD, 
-								  int* k_Q, 
-								  real* QQ,
-								  int numberOfBCnodes, 
-								  real om1, 
-								  unsigned int* neighborX,
-								  unsigned int* neighborY,
-								  unsigned int* neighborZ,
-								  unsigned long long numberOfLBnodes, 
-								  bool isEvenTimestep);
+                                  real* rhoBC,
+                                  real* vx,
+                                  real* vy,
+                                  real* vz,
+                                  real* DD, 
+                                  int* k_Q, 
+                                  real* QQ,
+                                  int numberOfBCnodes, 
+                                  real om1, 
+                                  unsigned int* neighborX,
+                                  unsigned int* neighborY,
+                                  unsigned int* neighborZ,
+                                  unsigned long long numberOfLBnodes, 
+                                  bool isEvenTimestep);
 
 void PressSchlaffer27(unsigned int numberOfThreads,
                                  real* rhoBC,
@@ -1044,69 +774,54 @@ void QADDev7(unsigned int numberOfThreads,
                         unsigned long long numberOfLBnodes, 
                         bool isEvenTimestep);
 
-//////////////////////////////////////////////////////////////////////////
-//! \brief Advection Diffusion kernel
-void FactorizedCentralMomentsAdvectionDiffusionDeviceKernel(
-	uint numberOfThreads,
-	real omegaDiffusivity,
-	uint* typeOfGridNode,
-	uint* neighborX,
-	uint* neighborY,
-	uint* neighborZ,
-	real* distributions,
-	real* distributionsAD,
-	unsigned long long numberOfLBnodes,
-	real* forces,
-	bool isEvenTimestep);
-
 //////////////////////////////////////////////////////////////////////////
 //! \brief defines the behavior of a slip-AD boundary condition
 void ADSlipVelDevComp(
-	uint numberOfThreads,
-	real * normalX,
-	real * normalY,
-	real * normalZ,
-	real * distributions,
-	real * distributionsAD,
-	int* QindexArray,
-	real * Qarrays,
-	uint numberOfBCnodes,
-	real omegaDiffusivity,
-	uint * neighborX,
-	uint * neighborY,
-	uint * neighborZ,
-	unsigned long long numberOfLBnodes,
-	bool isEvenTimestep);
-	
+    uint numberOfThreads,
+    real * normalX,
+    real * normalY,
+    real * normalZ,
+    real * distributions,
+    real * distributionsAD,
+    int* QindexArray,
+    real * Qarrays,
+    uint numberOfBCnodes,
+    real omegaDiffusivity,
+    uint * neighborX,
+    uint * neighborY,
+    uint * neighborZ,
+    unsigned long long numberOfLBnodes,
+    bool isEvenTimestep);
+    
 void QADDirichletDev27( unsigned int numberOfThreads,
-								   real* DD, 
-								   real* DD27,
-								   real* temp,
-								   real diffusivity,
-								   int* k_Q, 
-								   real* QQ,
-								   unsigned int numberOfBCnodes, 
-								   real om1, 
-								   unsigned int* neighborX,
-								   unsigned int* neighborY,
-								   unsigned int* neighborZ,
-								   unsigned long long numberOfLBnodes, 
-								   bool isEvenTimestep);
+                                   real* DD, 
+                                   real* DD27,
+                                   real* temp,
+                                   real diffusivity,
+                                   int* k_Q, 
+                                   real* QQ,
+                                   unsigned int numberOfBCnodes, 
+                                   real om1, 
+                                   unsigned int* neighborX,
+                                   unsigned int* neighborY,
+                                   unsigned int* neighborZ,
+                                   unsigned long long numberOfLBnodes, 
+                                   bool isEvenTimestep);
 
 void QADBBDev27(  unsigned int numberOfThreads,
-							 real* DD, 
-							 real* DD27,
-							 real* temp,
-							 real diffusivity,
-							 int* k_Q, 
-							 real* QQ,
-							 unsigned int numberOfBCnodes, 
-							 real om1, 
-							 unsigned int* neighborX,
-							 unsigned int* neighborY,
-							 unsigned int* neighborZ,
-							 unsigned long long numberOfLBnodes, 
-							 bool isEvenTimestep);
+                             real* DD, 
+                             real* DD27,
+                             real* temp,
+                             real diffusivity,
+                             int* k_Q, 
+                             real* QQ,
+                             unsigned int numberOfBCnodes, 
+                             real om1, 
+                             unsigned int* neighborX,
+                             unsigned int* neighborY,
+                             unsigned int* neighborZ,
+                             unsigned long long numberOfLBnodes, 
+                             bool isEvenTimestep);
 
 void QADVelDev7(unsigned int numberOfThreads,
                            real* DD, 
@@ -1174,128 +889,128 @@ void QADPressDev27(unsigned int numberOfThreads,
                               bool isEvenTimestep);
 
 void QADPressNEQNeighborDev27(
-											unsigned int numberOfThreads,
-											real* DD,
-											real* DD27,
-											int* k_Q,
-											int* k_N,
-											int numberOfBCnodes,
-											unsigned int* neighborX,
-											unsigned int* neighborY,
-											unsigned int* neighborZ,
-											unsigned long long numberOfLBnodes,
-											bool isEvenTimestep
-										);
+                                            unsigned int numberOfThreads,
+                                            real* DD,
+                                            real* DD27,
+                                            int* k_Q,
+                                            int* k_N,
+                                            int numberOfBCnodes,
+                                            unsigned int* neighborX,
+                                            unsigned int* neighborY,
+                                            unsigned int* neighborZ,
+                                            unsigned long long numberOfLBnodes,
+                                            bool isEvenTimestep
+                                        );
 
 void QNoSlipADincompDev7(unsigned int numberOfThreads,
-									real* DD, 
-									real* DD7,
-									real* temp,
-									real diffusivity,
-									int* k_Q, 
-									real* QQ,
-									unsigned int numberOfBCnodes, 
-									real om1, 
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned long long numberOfLBnodes, 
-									bool isEvenTimestep);
+                                    real* DD, 
+                                    real* DD7,
+                                    real* temp,
+                                    real diffusivity,
+                                    int* k_Q, 
+                                    real* QQ,
+                                    unsigned int numberOfBCnodes, 
+                                    real om1, 
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned long long numberOfLBnodes, 
+                                    bool isEvenTimestep);
 
 void QNoSlipADincompDev27(unsigned int numberOfThreads,
-									 real* DD, 
-									 real* DD27,
-									 real* temp,
-									 real diffusivity,
-									 int* k_Q, 
-									 real* QQ,
-									 unsigned int numberOfBCnodes, 
-									 real om1, 
-									 unsigned int* neighborX,
-									 unsigned int* neighborY,
-									 unsigned int* neighborZ,
-									 unsigned long long numberOfLBnodes, 
-									 bool isEvenTimestep);
+                                     real* DD, 
+                                     real* DD27,
+                                     real* temp,
+                                     real diffusivity,
+                                     int* k_Q, 
+                                     real* QQ,
+                                     unsigned int numberOfBCnodes, 
+                                     real om1, 
+                                     unsigned int* neighborX,
+                                     unsigned int* neighborY,
+                                     unsigned int* neighborZ,
+                                     unsigned long long numberOfLBnodes, 
+                                     bool isEvenTimestep);
 
 void QADVeloIncompDev7( unsigned int numberOfThreads,
-								   real* DD, 
-								   real* DD7,
-								   real* temp,
-								   real* velo,
-								   real diffusivity,
-								   int* k_Q, 
-								   real* QQ,
-								   unsigned int numberOfBCnodes, 
-								   real om1, 
-								   unsigned int* neighborX,
-								   unsigned int* neighborY,
-								   unsigned int* neighborZ,
-								   unsigned long long numberOfLBnodes, 
-								   bool isEvenTimestep);
+                                   real* DD, 
+                                   real* DD7,
+                                   real* temp,
+                                   real* velo,
+                                   real diffusivity,
+                                   int* k_Q, 
+                                   real* QQ,
+                                   unsigned int numberOfBCnodes, 
+                                   real om1, 
+                                   unsigned int* neighborX,
+                                   unsigned int* neighborY,
+                                   unsigned int* neighborZ,
+                                   unsigned long long numberOfLBnodes, 
+                                   bool isEvenTimestep);
 
 
 void QADVeloIncompDev27( unsigned int numberOfThreads,
-									real* DD, 
-									real* DD27,
-									real* temp,
-									real* velo,
-									real diffusivity,
-									int* k_Q, 
-									real* QQ,
-									unsigned int numberOfBCnodes, 
-									real om1, 
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned long long numberOfLBnodes, 
-									bool isEvenTimestep);
+                                    real* DD, 
+                                    real* DD27,
+                                    real* temp,
+                                    real* velo,
+                                    real diffusivity,
+                                    int* k_Q, 
+                                    real* QQ,
+                                    unsigned int numberOfBCnodes, 
+                                    real om1, 
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned long long numberOfLBnodes, 
+                                    bool isEvenTimestep);
 
 void QADPressIncompDev7(  unsigned int numberOfThreads,
-									 real* DD, 
-									 real* DD7,
-									 real* temp,
-									 real* velo,
-									 real diffusivity,
-									 int* k_Q, 
-									 real* QQ,
-									 unsigned int numberOfBCnodes, 
-									 real om1, 
-									 unsigned int* neighborX,
-									 unsigned int* neighborY,
-									 unsigned int* neighborZ,
-									 unsigned long long numberOfLBnodes, 
-									 bool isEvenTimestep);
+                                     real* DD, 
+                                     real* DD7,
+                                     real* temp,
+                                     real* velo,
+                                     real diffusivity,
+                                     int* k_Q, 
+                                     real* QQ,
+                                     unsigned int numberOfBCnodes, 
+                                     real om1, 
+                                     unsigned int* neighborX,
+                                     unsigned int* neighborY,
+                                     unsigned int* neighborZ,
+                                     unsigned long long numberOfLBnodes, 
+                                     bool isEvenTimestep);
 
 void QADPressIncompDev27(  unsigned int numberOfThreads,
-									  real* DD, 
-									  real* DD27,
-									  real* temp,
-									  real* velo,
-									  real diffusivity,
-									  int* k_Q, 
-									  real* QQ,
-									  unsigned int numberOfBCnodes, 
-									  real om1, 
-									  unsigned int* neighborX,
-									  unsigned int* neighborY,
-									  unsigned int* neighborZ,
-									  unsigned long long numberOfLBnodes, 
-									  bool isEvenTimestep);
+                                      real* DD, 
+                                      real* DD27,
+                                      real* temp,
+                                      real* velo,
+                                      real diffusivity,
+                                      int* k_Q, 
+                                      real* QQ,
+                                      unsigned int numberOfBCnodes, 
+                                      real om1, 
+                                      unsigned int* neighborX,
+                                      unsigned int* neighborY,
+                                      unsigned int* neighborZ,
+                                      unsigned long long numberOfLBnodes, 
+                                      bool isEvenTimestep);
 
 void PropVelo(   unsigned int numberOfThreads,
-							unsigned int* neighborX,
-							unsigned int* neighborY,
-							unsigned int* neighborZ,
-							real* rho,
-							real* ux,
-							real* uy,
-							real* uz,
-							int* k_Q, 
-							unsigned int size_Prop,
-							unsigned long long numberOfLBnodes,
-							unsigned int* bcMatD,
-							real* DD,
-							bool EvenOrOdd);
+                            unsigned int* neighborX,
+                            unsigned int* neighborY,
+                            unsigned int* neighborZ,
+                            real* rho,
+                            real* ux,
+                            real* uy,
+                            real* uz,
+                            int* k_Q, 
+                            unsigned int size_Prop,
+                            unsigned long long numberOfLBnodes,
+                            unsigned int* bcMatD,
+                            real* DD,
+                            bool EvenOrOdd);
 
 void ScaleCF27( real* DC, 
                            real* DF, 
@@ -1512,128 +1227,128 @@ void ScaleCF_Fix_27(real* DC,
                               ICellNeigh neighborCoarseToFine);
 
 void ScaleCF_Fix_comp_27(   real* DC, 
-									   real* DF, 
-									   unsigned int* neighborCX,
-									   unsigned int* neighborCY,
-									   unsigned int* neighborCZ,
-									   unsigned int* neighborFX,
-									   unsigned int* neighborFY,
-									   unsigned int* neighborFZ,
-									   unsigned long long numberOfLBnodesC, 
-									   unsigned long long numberOfLBnodesF, 
-									   bool isEvenTimestep,
-									   unsigned int* posCSWB, 
-									   unsigned int* posFSWB, 
-									   unsigned int kCF, 
-									   real omCoarse, 
-									   real omFine, 
-									   real nu, 
-									   unsigned int nxC, 
-									   unsigned int nyC, 
-									   unsigned int nxF, 
-									   unsigned int nyF,
-									   unsigned int numberOfThreads,
-									   ICellNeigh neighborCoarseToFine);
+                                       real* DF, 
+                                       unsigned int* neighborCX,
+                                       unsigned int* neighborCY,
+                                       unsigned int* neighborCZ,
+                                       unsigned int* neighborFX,
+                                       unsigned int* neighborFY,
+                                       unsigned int* neighborFZ,
+                                       unsigned long long numberOfLBnodesC, 
+                                       unsigned long long numberOfLBnodesF, 
+                                       bool isEvenTimestep,
+                                       unsigned int* posCSWB, 
+                                       unsigned int* posFSWB, 
+                                       unsigned int kCF, 
+                                       real omCoarse, 
+                                       real omFine, 
+                                       real nu, 
+                                       unsigned int nxC, 
+                                       unsigned int nyC, 
+                                       unsigned int nxF, 
+                                       unsigned int nyF,
+                                       unsigned int numberOfThreads,
+                                       ICellNeigh neighborCoarseToFine);
 
 void ScaleCF_0817_comp_27(  real* DC, 
-									   real* DF, 
-									   unsigned int* neighborCX,
-									   unsigned int* neighborCY,
-									   unsigned int* neighborCZ,
-									   unsigned int* neighborFX,
-									   unsigned int* neighborFY,
-									   unsigned int* neighborFZ,
-									   unsigned long long numberOfLBnodesC, 
-									   unsigned long long numberOfLBnodesF, 
-									   bool isEvenTimestep,
-									   unsigned int* posCSWB, 
-									   unsigned int* posFSWB, 
-									   unsigned int kCF, 
-									   real omCoarse, 
-									   real omFine, 
-									   real nu, 
-									   unsigned int nxC, 
-									   unsigned int nyC, 
-									   unsigned int nxF, 
-									   unsigned int nyF,
-									   unsigned int numberOfThreads,
-									   ICellNeigh neighborCoarseToFine,
-									   CUstream_st* stream);
-
-void ScaleCF_comp_D3Q27F3_2018(	real* DC,
-											real* DF,
-											real* G6, 
-											unsigned int* neighborCX,
-											unsigned int* neighborCY,
-											unsigned int* neighborCZ,
-											unsigned int* neighborFX,
-											unsigned int* neighborFY,
-											unsigned int* neighborFZ,
-											unsigned long long numberOfLBnodesC, 
-											unsigned long long numberOfLBnodesF, 
-											bool isEvenTimestep,
-											unsigned int* posCSWB, 
-											unsigned int* posFSWB, 
-											unsigned int kCF, 
-											real omCoarse, 
-											real omFine, 
-											real nu, 
-											unsigned int nxC, 
-											unsigned int nyC, 
-											unsigned int nxF, 
-											unsigned int nyF,
-											unsigned int numberOfThreads,
-											ICellNeigh neighborCoarseToFine);
+                                       real* DF, 
+                                       unsigned int* neighborCX,
+                                       unsigned int* neighborCY,
+                                       unsigned int* neighborCZ,
+                                       unsigned int* neighborFX,
+                                       unsigned int* neighborFY,
+                                       unsigned int* neighborFZ,
+                                       unsigned long long numberOfLBnodesC, 
+                                       unsigned long long numberOfLBnodesF, 
+                                       bool isEvenTimestep,
+                                       unsigned int* posCSWB, 
+                                       unsigned int* posFSWB, 
+                                       unsigned int kCF, 
+                                       real omCoarse, 
+                                       real omFine, 
+                                       real nu, 
+                                       unsigned int nxC, 
+                                       unsigned int nyC, 
+                                       unsigned int nxF, 
+                                       unsigned int nyF,
+                                       unsigned int numberOfThreads,
+                                       ICellNeigh neighborCoarseToFine,
+                                       CUstream_st* stream);
+
+void ScaleCF_comp_D3Q27F3_2018(    real* DC,
+                                            real* DF,
+                                            real* G6, 
+                                            unsigned int* neighborCX,
+                                            unsigned int* neighborCY,
+                                            unsigned int* neighborCZ,
+                                            unsigned int* neighborFX,
+                                            unsigned int* neighborFY,
+                                            unsigned int* neighborFZ,
+                                            unsigned long long numberOfLBnodesC, 
+                                            unsigned long long numberOfLBnodesF, 
+                                            bool isEvenTimestep,
+                                            unsigned int* posCSWB, 
+                                            unsigned int* posFSWB, 
+                                            unsigned int kCF, 
+                                            real omCoarse, 
+                                            real omFine, 
+                                            real nu, 
+                                            unsigned int nxC, 
+                                            unsigned int nyC, 
+                                            unsigned int nxF, 
+                                            unsigned int nyF,
+                                            unsigned int numberOfThreads,
+                                            ICellNeigh neighborCoarseToFine);
 
 void ScaleCF_comp_D3Q27F3(real* DC,
-									 real* DF,
-									 real* G6, 
-									 unsigned int* neighborCX,
-									 unsigned int* neighborCY,
-									 unsigned int* neighborCZ,
-									 unsigned int* neighborFX,
-									 unsigned int* neighborFY,
-									 unsigned int* neighborFZ,
-									 unsigned long long numberOfLBnodesC, 
-									 unsigned long long numberOfLBnodesF, 
-									 bool isEvenTimestep,
-									 unsigned int* posCSWB, 
-									 unsigned int* posFSWB, 
-									 unsigned int kCF, 
-									 real omCoarse, 
-									 real omFine, 
-									 real nu, 
-									 unsigned int nxC, 
-									 unsigned int nyC, 
-									 unsigned int nxF, 
-									 unsigned int nyF,
-									 unsigned int numberOfThreads,
-									 ICellNeigh neighborCoarseToFine,
-									 CUstream_st *stream);
+                                     real* DF,
+                                     real* G6, 
+                                     unsigned int* neighborCX,
+                                     unsigned int* neighborCY,
+                                     unsigned int* neighborCZ,
+                                     unsigned int* neighborFX,
+                                     unsigned int* neighborFY,
+                                     unsigned int* neighborFZ,
+                                     unsigned long long numberOfLBnodesC, 
+                                     unsigned long long numberOfLBnodesF, 
+                                     bool isEvenTimestep,
+                                     unsigned int* posCSWB, 
+                                     unsigned int* posFSWB, 
+                                     unsigned int kCF, 
+                                     real omCoarse, 
+                                     real omFine, 
+                                     real nu, 
+                                     unsigned int nxC, 
+                                     unsigned int nyC, 
+                                     unsigned int nxF, 
+                                     unsigned int nyF,
+                                     unsigned int numberOfThreads,
+                                     ICellNeigh neighborCoarseToFine,
+                                     CUstream_st *stream);
 
 void ScaleCF_staggered_time_comp_27( real* DC, 
-												real* DF, 
-												unsigned int* neighborCX,
-												unsigned int* neighborCY,
-												unsigned int* neighborCZ,
-												unsigned int* neighborFX,
-												unsigned int* neighborFY,
-												unsigned int* neighborFZ,
-												unsigned long long numberOfLBnodesC, 
-												unsigned long long numberOfLBnodesF, 
-												bool isEvenTimestep,
-												unsigned int* posCSWB, 
-												unsigned int* posFSWB, 
-												unsigned int kCF, 
-												real omCoarse, 
-												real omFine, 
-												real nu, 
-												unsigned int nxC, 
-												unsigned int nyC, 
-												unsigned int nxF, 
-												unsigned int nyF,
-												unsigned int numberOfThreads,
-												ICellNeigh neighborCoarseToFine);
+                                                real* DF, 
+                                                unsigned int* neighborCX,
+                                                unsigned int* neighborCY,
+                                                unsigned int* neighborCZ,
+                                                unsigned int* neighborFX,
+                                                unsigned int* neighborFY,
+                                                unsigned int* neighborFZ,
+                                                unsigned long long numberOfLBnodesC, 
+                                                unsigned long long numberOfLBnodesF, 
+                                                bool isEvenTimestep,
+                                                unsigned int* posCSWB, 
+                                                unsigned int* posFSWB, 
+                                                unsigned int kCF, 
+                                                real omCoarse, 
+                                                real omFine, 
+                                                real nu, 
+                                                unsigned int nxC, 
+                                                unsigned int nyC, 
+                                                unsigned int nxF, 
+                                                unsigned int nyF,
+                                                unsigned int numberOfThreads,
+                                                ICellNeigh neighborCoarseToFine);
 
 void ScaleCF_RhoSq_comp_27(LBMSimulationParameter * parameterDeviceC, LBMSimulationParameter* parameterDeviceF, ICells * interpolationCellsCoarseToFine, ICellNeigh &neighborCoarseToFine, CUstream_st *stream);
 
@@ -1673,78 +1388,78 @@ void UpdateGlobalCoordinates(
 );
 
 void ScaleCF_RhoSq_3rdMom_comp_27( real* DC, 
-											  real* DF, 
-											  unsigned int* neighborCX,
-											  unsigned int* neighborCY,
-											  unsigned int* neighborCZ,
-											  unsigned int* neighborFX,
-											  unsigned int* neighborFY,
-											  unsigned int* neighborFZ,
-											  unsigned long long numberOfLBnodesC, 
-											  unsigned long long numberOfLBnodesF, 
-											  bool isEvenTimestep,
-											  unsigned int* posCSWB, 
-											  unsigned int* posFSWB, 
-											  unsigned int kCF, 
-											  real omCoarse, 
-											  real omFine, 
-											  real nu, 
-											  unsigned int nxC, 
-											  unsigned int nyC, 
-											  unsigned int nxF, 
-											  unsigned int nyF,
-											  unsigned int numberOfThreads,
-											  ICellNeigh neighborCoarseToFine,
-											  CUstream_st *stream);
+                                              real* DF, 
+                                              unsigned int* neighborCX,
+                                              unsigned int* neighborCY,
+                                              unsigned int* neighborCZ,
+                                              unsigned int* neighborFX,
+                                              unsigned int* neighborFY,
+                                              unsigned int* neighborFZ,
+                                              unsigned long long numberOfLBnodesC, 
+                                              unsigned long long numberOfLBnodesF, 
+                                              bool isEvenTimestep,
+                                              unsigned int* posCSWB, 
+                                              unsigned int* posFSWB, 
+                                              unsigned int kCF, 
+                                              real omCoarse, 
+                                              real omFine, 
+                                              real nu, 
+                                              unsigned int nxC, 
+                                              unsigned int nyC, 
+                                              unsigned int nxF, 
+                                              unsigned int nyF,
+                                              unsigned int numberOfThreads,
+                                              ICellNeigh neighborCoarseToFine,
+                                              CUstream_st *stream);
 
 void ScaleCF_AA2016_comp_27( real* DC, 
-										real* DF, 
-										unsigned int* neighborCX,
-										unsigned int* neighborCY,
-										unsigned int* neighborCZ,
-										unsigned int* neighborFX,
-										unsigned int* neighborFY,
-										unsigned int* neighborFZ,
-										unsigned long long numberOfLBnodesC, 
-										unsigned long long numberOfLBnodesF, 
-										bool isEvenTimestep,
-										unsigned int* posCSWB, 
-										unsigned int* posFSWB, 
-										unsigned int kCF, 
-										real omCoarse, 
-										real omFine, 
-										real nu, 
-										unsigned int nxC, 
-										unsigned int nyC, 
-										unsigned int nxF, 
-										unsigned int nyF,
-										unsigned int numberOfThreads,
-										ICellNeigh neighborCoarseToFine,
-										CUstream_st *stream);
+                                        real* DF, 
+                                        unsigned int* neighborCX,
+                                        unsigned int* neighborCY,
+                                        unsigned int* neighborCZ,
+                                        unsigned int* neighborFX,
+                                        unsigned int* neighborFY,
+                                        unsigned int* neighborFZ,
+                                        unsigned long long numberOfLBnodesC, 
+                                        unsigned long long numberOfLBnodesF, 
+                                        bool isEvenTimestep,
+                                        unsigned int* posCSWB, 
+                                        unsigned int* posFSWB, 
+                                        unsigned int kCF, 
+                                        real omCoarse, 
+                                        real omFine, 
+                                        real nu, 
+                                        unsigned int nxC, 
+                                        unsigned int nyC, 
+                                        unsigned int nxF, 
+                                        unsigned int nyF,
+                                        unsigned int numberOfThreads,
+                                        ICellNeigh neighborCoarseToFine,
+                                        CUstream_st *stream);
 
 void ScaleCF_NSPress_27(real* DC, 
-								  real* DF, 
-								  unsigned int* neighborCX,
-								  unsigned int* neighborCY,
-								  unsigned int* neighborCZ,
-								  unsigned int* neighborFX,
-								  unsigned int* neighborFY,
-								  unsigned int* neighborFZ,
-								  unsigned long long numberOfLBnodesC, 
-								  unsigned long long numberOfLBnodesF, 
-								  bool isEvenTimestep,
-								  unsigned int* posCSWB, 
-								  unsigned int* posFSWB, 
-								  unsigned int kCF, 
-								  real omCoarse, 
-								  real omFine, 
-								  real nu, 
-								  unsigned int nxC, 
-								  unsigned int nyC, 
-								  unsigned int nxF, 
-								  unsigned int nyF,
-								  unsigned int numberOfThreads,
-								  ICellNeigh neighborCoarseToFine);
+                                  real* DF, 
+                                  unsigned int* neighborCX,
+                                  unsigned int* neighborCY,
+                                  unsigned int* neighborCZ,
+                                  unsigned int* neighborFX,
+                                  unsigned int* neighborFY,
+                                  unsigned int* neighborFZ,
+                                  unsigned long long numberOfLBnodesC, 
+                                  unsigned long long numberOfLBnodesF, 
+                                  bool isEvenTimestep,
+                                  unsigned int* posCSWB, 
+                                  unsigned int* posFSWB, 
+                                  unsigned int kCF, 
+                                  real omCoarse, 
+                                  real omFine, 
+                                  real nu, 
+                                  unsigned int nxC, 
+                                  unsigned int nyC, 
+                                  unsigned int nxF, 
+                                  unsigned int nyF,
+                                  unsigned int numberOfThreads,
+                                  ICellNeigh neighborCoarseToFine);
 
 void ScaleFC_Fix_27(  real* DC, 
                                  real* DF, 
@@ -1771,206 +1486,206 @@ void ScaleFC_Fix_27(  real* DC,
                                  ICellNeigh neighborFineToCoarse);
 
 void ScaleFC_Fix_comp_27(   real* DC, 
-									   real* DF, 
-									   unsigned int* neighborCX,
-									   unsigned int* neighborCY,
-									   unsigned int* neighborCZ,
-									   unsigned int* neighborFX,
-									   unsigned int* neighborFY,
-									   unsigned int* neighborFZ,
-									   unsigned long long numberOfLBnodesC, 
-									   unsigned long long numberOfLBnodesF, 
-									   bool isEvenTimestep,
-									   unsigned int* posC, 
-									   unsigned int* posFSWB, 
-									   unsigned int kFC, 
-									   real omCoarse, 
-									   real omFine, 
-									   real nu, 
-									   unsigned int nxC, 
-									   unsigned int nyC, 
-									   unsigned int nxF, 
-									   unsigned int nyF,
-									   unsigned int numberOfThreads,
-									   ICellNeigh neighborFineToCoarse);
+                                       real* DF, 
+                                       unsigned int* neighborCX,
+                                       unsigned int* neighborCY,
+                                       unsigned int* neighborCZ,
+                                       unsigned int* neighborFX,
+                                       unsigned int* neighborFY,
+                                       unsigned int* neighborFZ,
+                                       unsigned long long numberOfLBnodesC, 
+                                       unsigned long long numberOfLBnodesF, 
+                                       bool isEvenTimestep,
+                                       unsigned int* posC, 
+                                       unsigned int* posFSWB, 
+                                       unsigned int kFC, 
+                                       real omCoarse, 
+                                       real omFine, 
+                                       real nu, 
+                                       unsigned int nxC, 
+                                       unsigned int nyC, 
+                                       unsigned int nxF, 
+                                       unsigned int nyF,
+                                       unsigned int numberOfThreads,
+                                       ICellNeigh neighborFineToCoarse);
 
 void ScaleFC_0817_comp_27(  real* DC, 
-									   real* DF, 
-									   unsigned int* neighborCX,
-									   unsigned int* neighborCY,
-									   unsigned int* neighborCZ,
-									   unsigned int* neighborFX,
-									   unsigned int* neighborFY,
-									   unsigned int* neighborFZ,
-									   unsigned long long numberOfLBnodesC, 
-									   unsigned long long numberOfLBnodesF, 
-									   bool isEvenTimestep,
-									   unsigned int* posC, 
-									   unsigned int* posFSWB, 
-									   unsigned int kFC, 
-									   real omCoarse, 
-									   real omFine, 
-									   real nu, 
-									   unsigned int nxC, 
-									   unsigned int nyC, 
-									   unsigned int nxF, 
-									   unsigned int nyF,
-									   unsigned int numberOfThreads,
-									   ICellNeigh neighborFineToCoarse,
-									   CUstream_st *stream);
+                                       real* DF, 
+                                       unsigned int* neighborCX,
+                                       unsigned int* neighborCY,
+                                       unsigned int* neighborCZ,
+                                       unsigned int* neighborFX,
+                                       unsigned int* neighborFY,
+                                       unsigned int* neighborFZ,
+                                       unsigned long long numberOfLBnodesC, 
+                                       unsigned long long numberOfLBnodesF, 
+                                       bool isEvenTimestep,
+                                       unsigned int* posC, 
+                                       unsigned int* posFSWB, 
+                                       unsigned int kFC, 
+                                       real omCoarse, 
+                                       real omFine, 
+                                       real nu, 
+                                       unsigned int nxC, 
+                                       unsigned int nyC, 
+                                       unsigned int nxF, 
+                                       unsigned int nyF,
+                                       unsigned int numberOfThreads,
+                                       ICellNeigh neighborFineToCoarse,
+                                       CUstream_st *stream);
 
 void ScaleFC_comp_D3Q27F3_2018(real* DC,
-										  real* DF,
-										  real* G6,
-										  unsigned int* neighborCX,
-										  unsigned int* neighborCY,
-										  unsigned int* neighborCZ,
-										  unsigned int* neighborFX,
-										  unsigned int* neighborFY,
-										  unsigned int* neighborFZ,
-										  unsigned long long numberOfLBnodesC, 
-										  unsigned long long numberOfLBnodesF, 
-										  bool isEvenTimestep,
-										  unsigned int* posC, 
-										  unsigned int* posFSWB, 
-										  unsigned int kFC, 
-										  real omCoarse, 
-										  real omFine, 
-										  real nu, 
-										  unsigned int nxC, 
-										  unsigned int nyC, 
-										  unsigned int nxF, 
-										  unsigned int nyF,
-										  unsigned int numberOfThreads,
-										  ICellNeigh neighborFineToCoarse);
+                                          real* DF,
+                                          real* G6,
+                                          unsigned int* neighborCX,
+                                          unsigned int* neighborCY,
+                                          unsigned int* neighborCZ,
+                                          unsigned int* neighborFX,
+                                          unsigned int* neighborFY,
+                                          unsigned int* neighborFZ,
+                                          unsigned long long numberOfLBnodesC, 
+                                          unsigned long long numberOfLBnodesF, 
+                                          bool isEvenTimestep,
+                                          unsigned int* posC, 
+                                          unsigned int* posFSWB, 
+                                          unsigned int kFC, 
+                                          real omCoarse, 
+                                          real omFine, 
+                                          real nu, 
+                                          unsigned int nxC, 
+                                          unsigned int nyC, 
+                                          unsigned int nxF, 
+                                          unsigned int nyF,
+                                          unsigned int numberOfThreads,
+                                          ICellNeigh neighborFineToCoarse);
 
 void ScaleFC_comp_D3Q27F3( real* DC,
-									  real* DF,
-									  real* G6,
-									  unsigned int* neighborCX,
-									  unsigned int* neighborCY,
-									  unsigned int* neighborCZ,
-									  unsigned int* neighborFX,
-									  unsigned int* neighborFY,
-									  unsigned int* neighborFZ,
-									  unsigned long long numberOfLBnodesC, 
-									  unsigned long long numberOfLBnodesF, 
-									  bool isEvenTimestep,
-									  unsigned int* posC, 
-									  unsigned int* posFSWB, 
-									  unsigned int kFC, 
-									  real omCoarse, 
-									  real omFine, 
-									  real nu, 
-									  unsigned int nxC, 
-									  unsigned int nyC, 
-									  unsigned int nxF, 
-									  unsigned int nyF,
-									  unsigned int numberOfThreads,
-									  ICellNeigh neighborFineToCoarse,
-									  CUstream_st *stream);
+                                      real* DF,
+                                      real* G6,
+                                      unsigned int* neighborCX,
+                                      unsigned int* neighborCY,
+                                      unsigned int* neighborCZ,
+                                      unsigned int* neighborFX,
+                                      unsigned int* neighborFY,
+                                      unsigned int* neighborFZ,
+                                      unsigned long long numberOfLBnodesC, 
+                                      unsigned long long numberOfLBnodesF, 
+                                      bool isEvenTimestep,
+                                      unsigned int* posC, 
+                                      unsigned int* posFSWB, 
+                                      unsigned int kFC, 
+                                      real omCoarse, 
+                                      real omFine, 
+                                      real nu, 
+                                      unsigned int nxC, 
+                                      unsigned int nyC, 
+                                      unsigned int nxF, 
+                                      unsigned int nyF,
+                                      unsigned int numberOfThreads,
+                                      ICellNeigh neighborFineToCoarse,
+                                      CUstream_st *stream);
 
 void ScaleFC_staggered_time_comp_27( real* DC, 
-												real* DF, 
-												unsigned int* neighborCX,
-												unsigned int* neighborCY,
-												unsigned int* neighborCZ,
-												unsigned int* neighborFX,
-												unsigned int* neighborFY,
-												unsigned int* neighborFZ,
-												unsigned long long numberOfLBnodesC, 
-												unsigned long long numberOfLBnodesF, 
-												bool isEvenTimestep,
-												unsigned int* posC, 
-												unsigned int* posFSWB, 
-												unsigned int kFC, 
-												real omCoarse, 
-												real omFine, 
-												real nu, 
-												unsigned int nxC, 
-												unsigned int nyC, 
-												unsigned int nxF, 
-												unsigned int nyF,
-												unsigned int numberOfThreads,
-												ICellNeigh neighborFineToCoarse);
+                                                real* DF, 
+                                                unsigned int* neighborCX,
+                                                unsigned int* neighborCY,
+                                                unsigned int* neighborCZ,
+                                                unsigned int* neighborFX,
+                                                unsigned int* neighborFY,
+                                                unsigned int* neighborFZ,
+                                                unsigned long long numberOfLBnodesC, 
+                                                unsigned long long numberOfLBnodesF, 
+                                                bool isEvenTimestep,
+                                                unsigned int* posC, 
+                                                unsigned int* posFSWB, 
+                                                unsigned int kFC, 
+                                                real omCoarse, 
+                                                real omFine, 
+                                                real nu, 
+                                                unsigned int nxC, 
+                                                unsigned int nyC, 
+                                                unsigned int nxF, 
+                                                unsigned int nyF,
+                                                unsigned int numberOfThreads,
+                                                ICellNeigh neighborFineToCoarse);
 
 void ScaleFC_RhoSq_comp_27(LBMSimulationParameter * parameterDeviceC, LBMSimulationParameter* parameterDeviceF, ICells * interpolationCellsFineToCoarse, ICellNeigh& neighborFineToCoarse, CUstream_st *stream);
 
 template<bool hasTurbulentViscosity> void ScaleFC_compressible(LBMSimulationParameter * parameterDeviceC, LBMSimulationParameter* parameterDeviceF, ICells * icellFC, ICellNeigh& neighborFineToCoarse, CUstream_st *stream);
 
 void ScaleFC_RhoSq_3rdMom_comp_27( real* DC, 
-											  real* DF, 
-											  unsigned int* neighborCX,
-											  unsigned int* neighborCY,
-											  unsigned int* neighborCZ,
-											  unsigned int* neighborFX,
-											  unsigned int* neighborFY,
-											  unsigned int* neighborFZ,
-											  unsigned long long numberOfLBnodesC, 
-											  unsigned long long numberOfLBnodesF, 
-											  bool isEvenTimestep,
-											  unsigned int* posC, 
-											  unsigned int* posFSWB, 
-											  unsigned int kFC, 
-											  real omCoarse, 
-											  real omFine, 
-											  real nu, 
-											  unsigned int nxC, 
-											  unsigned int nyC, 
-											  unsigned int nxF, 
-											  unsigned int nyF,
-											  unsigned int numberOfThreads,
-											  ICellNeigh neighborFineToCoarse,
-											  CUstream_st *stream);
+                                              real* DF, 
+                                              unsigned int* neighborCX,
+                                              unsigned int* neighborCY,
+                                              unsigned int* neighborCZ,
+                                              unsigned int* neighborFX,
+                                              unsigned int* neighborFY,
+                                              unsigned int* neighborFZ,
+                                              unsigned long long numberOfLBnodesC, 
+                                              unsigned long long numberOfLBnodesF, 
+                                              bool isEvenTimestep,
+                                              unsigned int* posC, 
+                                              unsigned int* posFSWB, 
+                                              unsigned int kFC, 
+                                              real omCoarse, 
+                                              real omFine, 
+                                              real nu, 
+                                              unsigned int nxC, 
+                                              unsigned int nyC, 
+                                              unsigned int nxF, 
+                                              unsigned int nyF,
+                                              unsigned int numberOfThreads,
+                                              ICellNeigh neighborFineToCoarse,
+                                              CUstream_st *stream);
 
 void ScaleFC_AA2016_comp_27( real* DC, 
-										real* DF, 
-										unsigned int* neighborCX,
-										unsigned int* neighborCY,
-										unsigned int* neighborCZ,
-										unsigned int* neighborFX,
-										unsigned int* neighborFY,
-										unsigned int* neighborFZ,
-										unsigned long long numberOfLBnodesC, 
-										unsigned long long numberOfLBnodesF, 
-										bool isEvenTimestep,
-										unsigned int* posC, 
-										unsigned int* posFSWB, 
-										unsigned int kFC, 
-										real omCoarse, 
-										real omFine, 
-										real nu, 
-										unsigned int nxC, 
-										unsigned int nyC, 
-										unsigned int nxF, 
-										unsigned int nyF,
-										unsigned int numberOfThreads,
-										ICellNeigh neighborFineToCoarse,
-										CUstream_st *stream);
+                                        real* DF, 
+                                        unsigned int* neighborCX,
+                                        unsigned int* neighborCY,
+                                        unsigned int* neighborCZ,
+                                        unsigned int* neighborFX,
+                                        unsigned int* neighborFY,
+                                        unsigned int* neighborFZ,
+                                        unsigned long long numberOfLBnodesC, 
+                                        unsigned long long numberOfLBnodesF, 
+                                        bool isEvenTimestep,
+                                        unsigned int* posC, 
+                                        unsigned int* posFSWB, 
+                                        unsigned int kFC, 
+                                        real omCoarse, 
+                                        real omFine, 
+                                        real nu, 
+                                        unsigned int nxC, 
+                                        unsigned int nyC, 
+                                        unsigned int nxF, 
+                                        unsigned int nyF,
+                                        unsigned int numberOfThreads,
+                                        ICellNeigh neighborFineToCoarse,
+                                        CUstream_st *stream);
 
 void ScaleFC_NSPress_27(  real* DC, 
-									 real* DF, 
-									 unsigned int* neighborCX,
-									 unsigned int* neighborCY,
-									 unsigned int* neighborCZ,
-									 unsigned int* neighborFX,
-									 unsigned int* neighborFY,
-									 unsigned int* neighborFZ,
-									 unsigned long long numberOfLBnodesC, 
-									 unsigned long long numberOfLBnodesF, 
-									 bool isEvenTimestep,
-									 unsigned int* posC, 
-									 unsigned int* posFSWB, 
-									 unsigned int kFC, 
-									 real omCoarse, 
-									 real omFine, 
-									 real nu, 
-									 unsigned int nxC, 
-									 unsigned int nyC, 
-									 unsigned int nxF, 
-									 unsigned int nyF,
-									 unsigned int numberOfThreads,
-									 ICellNeigh neighborFineToCoarse);
+                                     real* DF, 
+                                     unsigned int* neighborCX,
+                                     unsigned int* neighborCY,
+                                     unsigned int* neighborCZ,
+                                     unsigned int* neighborFX,
+                                     unsigned int* neighborFY,
+                                     unsigned int* neighborFZ,
+                                     unsigned long long numberOfLBnodesC, 
+                                     unsigned long long numberOfLBnodesF, 
+                                     bool isEvenTimestep,
+                                     unsigned int* posC, 
+                                     unsigned int* posFSWB, 
+                                     unsigned int kFC, 
+                                     real omCoarse, 
+                                     real omFine, 
+                                     real nu, 
+                                     unsigned int nxC, 
+                                     unsigned int nyC, 
+                                     unsigned int nxF, 
+                                     unsigned int nyF,
+                                     unsigned int numberOfThreads,
+                                     ICellNeigh neighborFineToCoarse);
 
 void ScaleCFThS7(  real* DC, 
                               real* DF, 
@@ -2072,8 +1787,8 @@ void ScaleCFThS27( real* DC,
                               unsigned int kCF, 
                               real nu,
                               real diffusivity_fine,
-							  unsigned int numberOfThreads,
-							  ICellNeigh neighborCoarseToFine);
+                              unsigned int numberOfThreads,
+                              ICellNeigh neighborCoarseToFine);
 
 void ScaleFCThS27( real* DC, 
                               real* DF,
@@ -2093,239 +1808,239 @@ void ScaleFCThS27( real* DC,
                               unsigned int kFC, 
                               real nu,
                               real diffusivity_coarse,
-							  unsigned int numberOfThreads,
-							  ICellNeigh neighborFineToCoarse);
+                              unsigned int numberOfThreads,
+                              ICellNeigh neighborFineToCoarse);
 
 void DragLiftPostD27(real* DD, 
-								int* k_Q, 
-								real* QQ,
-								int numberOfBCnodes, 
-								double *DragX,
-								double *DragY,
-								double *DragZ,
-								unsigned int* neighborX,
-								unsigned int* neighborY,
-								unsigned int* neighborZ,
-								unsigned long long numberOfLBnodes, 
-								bool isEvenTimestep,
-								unsigned int numberOfThreads);
+                                int* k_Q, 
+                                real* QQ,
+                                int numberOfBCnodes, 
+                                double *DragX,
+                                double *DragY,
+                                double *DragZ,
+                                unsigned int* neighborX,
+                                unsigned int* neighborY,
+                                unsigned int* neighborZ,
+                                unsigned long long numberOfLBnodes, 
+                                bool isEvenTimestep,
+                                unsigned int numberOfThreads);
 
 void DragLiftPreD27( real* DD, 
-								int* k_Q, 
-								real* QQ,
-								int numberOfBCnodes, 
-								double *DragX,
-								double *DragY,
-								double *DragZ,
-								unsigned int* neighborX,
-								unsigned int* neighborY,
-								unsigned int* neighborZ,
-								unsigned long long numberOfLBnodes, 
-								bool isEvenTimestep,
-								unsigned int numberOfThreads);
+                                int* k_Q, 
+                                real* QQ,
+                                int numberOfBCnodes, 
+                                double *DragX,
+                                double *DragY,
+                                double *DragZ,
+                                unsigned int* neighborX,
+                                unsigned int* neighborY,
+                                unsigned int* neighborZ,
+                                unsigned long long numberOfLBnodes, 
+                                bool isEvenTimestep,
+                                unsigned int numberOfThreads);
 
 void CalcCPtop27(real* DD, 
-							int* cpIndex, 
-							int nonCp, 
-							double *cpPress,
-							unsigned int* neighborX,
-							unsigned int* neighborY,
-							unsigned int* neighborZ,
-							unsigned long long numberOfLBnodes, 
-							bool isEvenTimestep,
-							unsigned int numberOfThreads);
+                            int* cpIndex, 
+                            int nonCp, 
+                            double *cpPress,
+                            unsigned int* neighborX,
+                            unsigned int* neighborY,
+                            unsigned int* neighborZ,
+                            unsigned long long numberOfLBnodes, 
+                            bool isEvenTimestep,
+                            unsigned int numberOfThreads);
 
 void CalcCPbottom27(real* DD, 
-							   int* cpIndex, 
-							   int nonCp, 
-							   double *cpPress,
-							   unsigned int* neighborX,
-							   unsigned int* neighborY,
-							   unsigned int* neighborZ,
-							   unsigned long long numberOfLBnodes, 
-							   bool isEvenTimestep,
-							   unsigned int numberOfThreads);
+                               int* cpIndex, 
+                               int nonCp, 
+                               double *cpPress,
+                               unsigned int* neighborX,
+                               unsigned int* neighborY,
+                               unsigned int* neighborZ,
+                               unsigned long long numberOfLBnodes, 
+                               bool isEvenTimestep,
+                               unsigned int numberOfThreads);
 
 void GetSendFsPreDev27(real* DD,
-								  real* bufferFs,
-								  int* sendIndex,
-								  int buffmax,
-								  unsigned int* neighborX,
-								  unsigned int* neighborY,
-								  unsigned int* neighborZ,
-								  unsigned long long numberOfLBnodes, 
-								  bool isEvenTimestep,
-								  unsigned int numberOfThreads, 
-	                              cudaStream_t stream = CU_STREAM_LEGACY);
+                                  real* bufferFs,
+                                  int* sendIndex,
+                                  int buffmax,
+                                  unsigned int* neighborX,
+                                  unsigned int* neighborY,
+                                  unsigned int* neighborZ,
+                                  unsigned long long numberOfLBnodes, 
+                                  bool isEvenTimestep,
+                                  unsigned int numberOfThreads, 
+                                  cudaStream_t stream = CU_STREAM_LEGACY);
 
 void GetSendFsPostDev27(real* DD,
-								   real* bufferFs,
-								   int* sendIndex,
-								   int buffmax,
-								   unsigned int* neighborX,
-								   unsigned int* neighborY,
-								   unsigned int* neighborZ,
-								   unsigned long long numberOfLBnodes, 
-								   bool isEvenTimestep,
-								   unsigned int numberOfThreads, 
-	                               cudaStream_t stream = CU_STREAM_LEGACY);
+                                   real* bufferFs,
+                                   int* sendIndex,
+                                   int buffmax,
+                                   unsigned int* neighborX,
+                                   unsigned int* neighborY,
+                                   unsigned int* neighborZ,
+                                   unsigned long long numberOfLBnodes, 
+                                   bool isEvenTimestep,
+                                   unsigned int numberOfThreads, 
+                                   cudaStream_t stream = CU_STREAM_LEGACY);
 
 void SetRecvFsPreDev27(real* DD,
-								  real* bufferFs,
-								  int* recvIndex,
-								  int buffmax,
-								  unsigned int* neighborX,
-								  unsigned int* neighborY,
-								  unsigned int* neighborZ,
-								  unsigned long long numberOfLBnodes, 
-								  bool isEvenTimestep, unsigned int numberOfThreads, 
-	                              cudaStream_t stream = CU_STREAM_LEGACY);
+                                  real* bufferFs,
+                                  int* recvIndex,
+                                  int buffmax,
+                                  unsigned int* neighborX,
+                                  unsigned int* neighborY,
+                                  unsigned int* neighborZ,
+                                  unsigned long long numberOfLBnodes, 
+                                  bool isEvenTimestep, unsigned int numberOfThreads, 
+                                  cudaStream_t stream = CU_STREAM_LEGACY);
 
 void SetRecvFsPostDev27(real* DD,
-								   real* bufferFs,
-								   int* recvIndex,
-								   int buffmax,
-								   unsigned int* neighborX,
-								   unsigned int* neighborY,
-								   unsigned int* neighborZ,
-								   unsigned long long numberOfLBnodes, 
-								   bool isEvenTimestep,
-								   unsigned int numberOfThreads,
+                                   real* bufferFs,
+                                   int* recvIndex,
+                                   int buffmax,
+                                   unsigned int* neighborX,
+                                   unsigned int* neighborY,
+                                   unsigned int* neighborZ,
+                                   unsigned long long numberOfLBnodes, 
+                                   bool isEvenTimestep,
+                                   unsigned int numberOfThreads,
                                    cudaStream_t stream = CU_STREAM_LEGACY);
 
 void getSendGsDevF3(
-	real* G6,
-	real* bufferGs,
-	int* sendIndex,
-	int buffmax,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned long long numberOfLBnodes,
-	bool isEvenTimestep,
-	unsigned int numberOfThreads);
+    real* G6,
+    real* bufferGs,
+    int* sendIndex,
+    int buffmax,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned long long numberOfLBnodes,
+    bool isEvenTimestep,
+    unsigned int numberOfThreads);
 
 void setRecvGsDevF3(
-	real* G6,
-	real* bufferGs,
-	int* recvIndex,
-	int buffmax,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned long long numberOfLBnodes,
-	bool isEvenTimestep,
-	unsigned int numberOfThreads);
+    real* G6,
+    real* bufferGs,
+    int* recvIndex,
+    int buffmax,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned long long numberOfLBnodes,
+    bool isEvenTimestep,
+    unsigned int numberOfThreads);
 
 void WallFuncDev27(unsigned int numberOfThreads,
-							  real* vx,
-							  real* vy,
-							  real* vz,
-							  real* DD, 
-							  int* k_Q, 
-							  real* QQ,
-							  unsigned int numberOfBCnodes, 
-							  real om1, 
-							  unsigned int* neighborX,
-							  unsigned int* neighborY,
-							  unsigned int* neighborZ,
-							  unsigned long long numberOfLBnodes, 
-							  bool isEvenTimestep);
+                              real* vx,
+                              real* vy,
+                              real* vz,
+                              real* DD, 
+                              int* k_Q, 
+                              real* QQ,
+                              unsigned int numberOfBCnodes, 
+                              real om1, 
+                              unsigned int* neighborX,
+                              unsigned int* neighborY,
+                              unsigned int* neighborZ,
+                              unsigned long long numberOfLBnodes, 
+                              bool isEvenTimestep);
 
 void SetOutputWallVelocitySP27(unsigned int numberOfThreads,
-										  real* vxD,
-										  real* vyD,
-										  real* vzD,
-										  real* vxWall,
-										  real* vyWall,
-										  real* vzWall,
-										  int numberOfWallNodes, 
-										  int* kWallNodes, 
-										  real* rhoD,
-										  real* pressD,
-										  unsigned int* geoD,
-										  unsigned int* neighborX,
-										  unsigned int* neighborY,
-										  unsigned int* neighborZ,
-										  unsigned long long numberOfLBnodes,
-										  real* DD,
-										  bool isEvenTimestep);
+                                          real* vxD,
+                                          real* vyD,
+                                          real* vzD,
+                                          real* vxWall,
+                                          real* vyWall,
+                                          real* vzWall,
+                                          int numberOfWallNodes, 
+                                          int* kWallNodes, 
+                                          real* rhoD,
+                                          real* pressD,
+                                          unsigned int* geoD,
+                                          unsigned int* neighborX,
+                                          unsigned int* neighborY,
+                                          unsigned int* neighborZ,
+                                          unsigned long long numberOfLBnodes,
+                                          real* DD,
+                                          bool isEvenTimestep);
 
 void GetVelotoForce27(unsigned int numberOfThreads,
-								 real* DD, 
-								 int* bcIndex, 
-								 int nonAtBC, 
-								 real* Vx,
-								 real* Vy,
-								 real* Vz,
-								 unsigned int* neighborX,
-								 unsigned int* neighborY,
-								 unsigned int* neighborZ,
-								 unsigned long long numberOfLBnodes, 
-								 bool isEvenTimestep);
+                                 real* DD, 
+                                 int* bcIndex, 
+                                 int nonAtBC, 
+                                 real* Vx,
+                                 real* Vy,
+                                 real* Vz,
+                                 unsigned int* neighborX,
+                                 unsigned int* neighborY,
+                                 unsigned int* neighborZ,
+                                 unsigned long long numberOfLBnodes, 
+                                 bool isEvenTimestep);
 
 void InitParticlesDevice(real* coordX,
-									real* coordY,
-									real* coordZ, 
-									real* coordParticleXlocal,
-									real* coordParticleYlocal,
-									real* coordParticleZlocal, 
-									real* coordParticleXglobal,
-									real* coordParticleYglobal,
-									real* coordParticleZglobal,
-									real* veloParticleX,
-									real* veloParticleY,
-									real* veloParticleZ,
-									real* randArray,
-									unsigned int* particleID,
-									unsigned int* cellBaseID,
-									unsigned int* bcMatD,
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned int* neighborWSB,
-									int level,
-									unsigned int numberOfParticles, 
-									unsigned long long numberOfLBnodes,
-									unsigned int numberOfThreads);
+                                    real* coordY,
+                                    real* coordZ, 
+                                    real* coordParticleXlocal,
+                                    real* coordParticleYlocal,
+                                    real* coordParticleZlocal, 
+                                    real* coordParticleXglobal,
+                                    real* coordParticleYglobal,
+                                    real* coordParticleZglobal,
+                                    real* veloParticleX,
+                                    real* veloParticleY,
+                                    real* veloParticleZ,
+                                    real* randArray,
+                                    unsigned int* particleID,
+                                    unsigned int* cellBaseID,
+                                    unsigned int* bcMatD,
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned int* neighborWSB,
+                                    int level,
+                                    unsigned int numberOfParticles, 
+                                    unsigned long long numberOfLBnodes,
+                                    unsigned int numberOfThreads);
 
 void MoveParticlesDevice(real* coordX,
-									real* coordY,
-									real* coordZ, 
-									real* coordParticleXlocal,
-									real* coordParticleYlocal,
-									real* coordParticleZlocal, 
-									real* coordParticleXglobal,
-									real* coordParticleYglobal,
-									real* coordParticleZglobal,
-									real* veloParticleX,
-									real* veloParticleY,
-									real* veloParticleZ,
-									real* DD,
-									real  omega,
-									unsigned int* particleID,
-									unsigned int* cellBaseID,
-									unsigned int* bcMatD,
-									unsigned int* neighborX,
-									unsigned int* neighborY,
-									unsigned int* neighborZ,
-									unsigned int* neighborWSB,
-									int level,
-									unsigned int timestep, 
-									unsigned int numberOfTimesteps, 
-									unsigned int numberOfParticles, 
-									unsigned long long numberOfLBnodes,
-									unsigned int numberOfThreads,
-									bool isEvenTimestep);
+                                    real* coordY,
+                                    real* coordZ, 
+                                    real* coordParticleXlocal,
+                                    real* coordParticleYlocal,
+                                    real* coordParticleZlocal, 
+                                    real* coordParticleXglobal,
+                                    real* coordParticleYglobal,
+                                    real* coordParticleZglobal,
+                                    real* veloParticleX,
+                                    real* veloParticleY,
+                                    real* veloParticleZ,
+                                    real* DD,
+                                    real  omega,
+                                    unsigned int* particleID,
+                                    unsigned int* cellBaseID,
+                                    unsigned int* bcMatD,
+                                    unsigned int* neighborX,
+                                    unsigned int* neighborY,
+                                    unsigned int* neighborZ,
+                                    unsigned int* neighborWSB,
+                                    int level,
+                                    unsigned int timestep, 
+                                    unsigned int numberOfTimesteps, 
+                                    unsigned int numberOfParticles, 
+                                    unsigned long long numberOfLBnodes,
+                                    unsigned int numberOfThreads,
+                                    bool isEvenTimestep);
 
 void initRandomDevice(curandState* state,
-								 unsigned long long numberOfLBnodes,
-								 unsigned int numberOfThreads);
+                                 unsigned long long numberOfLBnodes,
+                                 unsigned int numberOfThreads);
 
 void generateRandomValuesDevice(curandState* state,
-										   unsigned long long numberOfLBnodes,
-										   real* randArray,
-										   unsigned int numberOfThreads);
+                                           unsigned long long numberOfLBnodes,
+                                           real* randArray,
+                                           unsigned int numberOfThreads);
 
 void CalcTurbulenceIntensityDevice(
    real* vxx,
diff --git a/src/gpu/core/GPU/GPU_Kernels.cuh b/src/gpu/core/GPU/GPU_Kernels.cuh
index b8bb1f69ce80b31c4e2c3477ddeadee4bd9f4989..05b4847518247355ed1efe389d7fb449d985315f 100644
--- a/src/gpu/core/GPU/GPU_Kernels.cuh
+++ b/src/gpu/core/GPU/GPU_Kernels.cuh
@@ -16,231 +16,6 @@
 
 #include "LBM/LB.h"
 
-__global__ void LB_Kernel_Casc27(real s9,
-                                            unsigned int* bcMatD,
-                                            unsigned int* neighborX,
-                                            unsigned int* neighborY,
-                                            unsigned int* neighborZ,
-                                            real* DDStart,
-                                            unsigned long long numberOfLBnodes,
-                                            bool EvenOrOdd);
-
-__global__ void LB_Kernel_Casc_SP_27(  real s9,
-                                                  unsigned int* bcMatD,
-                                                  unsigned int* neighborX,
-                                                  unsigned int* neighborY,
-                                                  unsigned int* neighborZ,
-                                                  real* DDStart,
-                                                  unsigned long long numberOfLBnodes,
-                                                  bool EvenOrOdd);
-
-__global__ void LB_Kernel_Casc_SP_MS_27(   real s9,
-                                                      unsigned int* bcMatD,
-                                                      unsigned int* neighborX,
-                                                      unsigned int* neighborY,
-                                                      unsigned int* neighborZ,
-                                                      real* DDStart,
-                                                      unsigned long long numberOfLBnodes,
-                                                      bool EvenOrOdd);
-
-__global__ void LB_Kernel_Casc_SP_MS_OHM_27(  real s9,
-                                                         unsigned int* bcMatD,
-                                                         unsigned int* neighborX,
-                                                         unsigned int* neighborY,
-                                                         unsigned int* neighborZ,
-                                                         real* DDStart,
-                                                         unsigned long long numberOfLBnodes,
-                                                         bool EvenOrOdd);
-
-__global__ void LB_Kernel_Kum_New_Comp_SRT_SP_27(
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd);
-
-__global__ void K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device(
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd);
-
-
-__global__ void LB_Kernel_Kum_AA2016_Comp_Bulk_SP_27(real omega,
-                                                                unsigned int* bcMatD,
-                                                                unsigned int* neighborX,
-                                                                unsigned int* neighborY,
-                                                                unsigned int* neighborZ,
-                                                                real* DDStart,
-                                                                unsigned long long numberOfLBnodes,
-                                                                int level,
-                                                                real* forces,
-                                                                bool EvenOrOdd);
-
-
-
-__global__ void LB_Kernel_Kum_1h_SP_27(  real omega,
-                                                    real deltaPhi,
-                                                    real angularVelocity,
-                                                    unsigned int* bcMatD,
-                                                    unsigned int* neighborX,
-                                                    unsigned int* neighborY,
-                                                    unsigned int* neighborZ,
-                                                    real* coordX,
-                                                    real* coordY,
-                                                    real* coordZ,
-                                                    real* DDStart,
-                                                    unsigned long long numberOfLBnodes,
-                                                    bool EvenOrOdd);
-
-__global__ void LB_Kernel_Cascade_SP_27( real s9,
-                                                    unsigned int* bcMatD,
-                                                    unsigned int* neighborX,
-                                                    unsigned int* neighborY,
-                                                    unsigned int* neighborZ,
-                                                    real* DDStart,
-                                                    unsigned long long numberOfLBnodes,
-                                                    bool EvenOrOdd);
-
-__global__ void LB_Kernel_Kum_New_SP_27( real s9,
-                                                    unsigned int* bcMatD,
-                                                    unsigned int* neighborX,
-                                                    unsigned int* neighborY,
-                                                    unsigned int* neighborZ,
-                                                    real* DDStart,
-                                                    unsigned long long numberOfLBnodes,
-                                                    bool EvenOrOdd);
-
-__global__ void LB_Kernel_Kum_IsoTest_SP_27( real omega,
-                                                        unsigned int* bcMatD,
-                                                        unsigned int* neighborX,
-                                                        unsigned int* neighborY,
-                                                        unsigned int* neighborZ,
-                                                        real* DDStart,
-                                                        real* dxxUx,
-                                                        real* dyyUy,
-                                                        real* dzzUz,
-                                                        unsigned long long numberOfLBnodes,
-                                                        bool EvenOrOdd);
-
-__global__ void LB_Kernel_Kum_Comp_SP_27(real s9,
-                                                    unsigned int* bcMatD,
-                                                    unsigned int* neighborX,
-                                                    unsigned int* neighborY,
-                                                    unsigned int* neighborZ,
-                                                    real* DDStart,
-                                                    unsigned long long numberOfLBnodes,
-                                                    bool EvenOrOdd);
-
-__global__ void Cumulant_One_preconditioned_errorDiffusion_chim_Comp_SP_27(
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd);
-
-__global__ void Cumulant_One_preconditioned_chim_Comp_SP_27(
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd);
-
-__global__ void Cumulant_One_chim_Comp_SP_27(
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd);
-
-inline __device__ void forwardChimeraWithK(real &mfa, real &mfb, real &mfc, real vv, real v2, real K);
-
-inline __device__ void forwardChimera(real &mfa, real &mfb, real &mfc, real vv, real v2);
-
-inline __device__ void backwardChimera(real &mfa, real &mfb, real &mfc, real vv, real v2);
-
-inline __device__ void backwardChimeraWithK(real &mfa, real &mfb, real &mfc, real vv, real v2, real K);
-
-
-
-__global__ void LB_Kernel_WaleBySoniMalav_Cum_AA2016_Comp_SP_27(
-    real omega_in,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    unsigned int* neighborWSB,
-    real* veloX,
-    real* veloY,
-    real* veloZ,
-    real* DDStart,
-    real* turbulentViscosity,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd);
-
-
-__global__ void K15CompressibleNavierStokesPorousMedia_Device( real omega,
-                                                            unsigned int* neighborX,
-                                                            unsigned int* neighborY,
-                                                            unsigned int* neighborZ,
-                                                            real* DDStart,
-                                                            unsigned long long numberOfLBnodes,
-                                                            int level,
-                                                            real* forces,
-                                                            real porosity,
-                                                            real darcy,
-                                                            real forchheimer,
-                                                            unsigned int sizeOfPorousMedia,
-                                                            unsigned int* nodeIdsPorousMedia,
-                                                            bool EvenOrOdd);
-
-__global__ void B12IncompressibleAdvectionDiffusionD3Q7_Device( real diffusivity,
-                                                  unsigned int* bcMatD,
-                                                  unsigned int* neighborX,
-                                                  unsigned int* neighborY,
-                                                  unsigned int* neighborZ,
-                                                  real* DDStart,
-                                                  real* DD7,
-                                                  unsigned long long numberOfLBnodes,
-                                                  bool EvenOrOdd);
-
-__global__ void F16IncompressibleAdvectionDiffusion_Device( real diffusivity,
-                                                   unsigned int* bcMatD,
-                                                   unsigned int* neighborX,
-                                                   unsigned int* neighborY,
-                                                   unsigned int* neighborZ,
-                                                   real* DDStart,
-                                                   real* DD27,
-                                                   unsigned long long numberOfLBnodes,
-                                                   bool EvenOrOdd);
 
 __global__ void LBInit27( int myid,
                                      int numprocs,
@@ -272,18 +47,6 @@ __global__ void LBInitNonEqPartSP27(unsigned int* neighborX,
                                                real omega,
                                                bool EvenOrOdd);
 
-__global__ void InitAD7( unsigned int* neighborX,
-                                       unsigned int* neighborY,
-                                       unsigned int* neighborZ,
-                                       unsigned int* geoD,
-                                       real* Conc,
-                                       real* ux,
-                                       real* uy,
-                                       real* uz,
-                                       unsigned long long numberOfLBnodes,
-                                       real* DD7,
-                                       bool EvenOrOdd);
-
 __global__ void InitAD27(unsigned int* neighborX,
                                        unsigned int* neighborY,
                                        unsigned int* neighborZ,
@@ -296,23 +59,6 @@ __global__ void InitAD27(unsigned int* neighborX,
                                        real* DD27,
                                        bool EvenOrOdd);
 
-__global__ void LB_PostProcessor_F3_2018_Fehlberg(
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* rhoOut,
-    real* vxOut,
-    real* vyOut,
-    real* vzOut,
-    real* DDStart,
-    real* G6,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd);
-
 __global__ void LBCalcMac27( real* vxD,
                                         real* vyD,
                                         real* vzD,
@@ -653,7 +399,7 @@ __global__ void QDeviceCompThinWallsPartOne27(real* DD,
                                                          unsigned long long numberOfLBnodes,
                                                          bool isEvenTimestep);
 
-__global__ void QDevice3rdMomentsComp27(	 real* distributions,
+__global__ void QDevice3rdMomentsComp27(     real* distributions,
                                                      int* subgridDistanceIndices,
                                                      real* subgridDistances,
                                                      unsigned int numberOfBCnodes,
@@ -675,7 +421,7 @@ __global__ void QDeviceIncompHighNu27(real* DD,
                                                  unsigned long long numberOfLBnodes,
                                                  bool isEvenTimestep);
 
-__global__ void QDeviceCompHighNu27(	 real* DD,
+__global__ void QDeviceCompHighNu27(     real* DD,
                                                  int* k_Q,
                                                  real* QQ,
                                                  unsigned int numberOfBCnodes,
@@ -837,7 +583,7 @@ __global__ void QVelDeviceIncompHighNu27(real* vx,
                                                     unsigned long long numberOfLBnodes,
                                                     bool isEvenTimestep);
 
-__global__ void QVelDeviceCompHighNu27(	real* vx,
+__global__ void QVelDeviceCompHighNu27(    real* vx,
                                                     real* vy,
                                                     real* vz,
                                                     real* DD,
@@ -1259,7 +1005,7 @@ __global__ void VelSchlaff27(  int t,
                                           unsigned long long numberOfLBnodes,
                                           bool isEvenTimestep);
 
-__global__ void QPrecursorDeviceCompZeroPress( 	int* subgridDistanceIndices,
+__global__ void QPrecursorDeviceCompZeroPress(     int* subgridDistanceIndices,
                                                 int numberOfBCnodes,
                                                 int numberOfPrecursorNodes,
                                                 int sizeQ,
@@ -1287,7 +1033,7 @@ __global__ void QPrecursorDeviceCompZeroPress( 	int* subgridDistanceIndices,
                                                 unsigned long long numberOfLBnodes,
                                                 bool isEvenTimestep);
 
-__global__ void PrecursorDeviceEQ27( 	int* subgridDistanceIndices,
+__global__ void PrecursorDeviceEQ27(     int* subgridDistanceIndices,
                                         int numberOfBCnodes,
                                         int numberOfPrecursorNodes,
                                         real omega,
@@ -1313,7 +1059,7 @@ __global__ void PrecursorDeviceEQ27( 	int* subgridDistanceIndices,
                                         unsigned long long numberOfLBnodes,
                                         bool isEvenTimestep);
 
-__global__ void PrecursorDeviceDistributions( 	int* subgridDistanceIndices,
+__global__ void PrecursorDeviceDistributions(     int* subgridDistanceIndices,
                                                 int numberOfBCNodes,
                                                 int numberOfPrecursorNodes,
                                                 real* distributions,
@@ -1333,7 +1079,7 @@ __global__ void PrecursorDeviceDistributions( 	int* subgridDistanceIndices,
                                                 real timeRatio,
                                                 unsigned long long numberOfLBnodes,
                                                 bool isEvenTimestep);
-__global__ void QPrecursorDeviceDistributions( 	int* subgridDistanceIndices,
+__global__ void QPrecursorDeviceDistributions(     int* subgridDistanceIndices,
                                                 real* subgridDistances,
                                                 int sizeQ,
                                                 int numberOfBCNodes,
@@ -1371,20 +1117,6 @@ __global__ void QAD7( real* DD,
                                  unsigned long long numberOfLBnodes,
                                  bool isEvenTimestep);
 
-//////////////////////////////////////////////////////////////////////////
-//! \brief \ref Advection_Diffusion_Device_Kernel : Factorized central moments for Advection Diffusion Equation
-__global__ void Factorized_Central_Moments_Advection_Diffusion_Device_Kernel(
-    real omegaDiffusivity,
-    uint* typeOfGridNode,
-    uint* neighborX,
-    uint* neighborY,
-    uint* neighborZ,
-    real* distributions,
-    real* distributionsAD,
-    unsigned long long numberOfLBnodes,
-    real* forces,
-    bool isEvenTimestep);
-
 //////////////////////////////////////////////////////////////////////////
 //! \brief \ref AD_SlipVelDeviceComp : device function for the slip-AD boundary condition
 __global__ void AD_SlipVelDeviceComp(
@@ -2644,7 +2376,7 @@ __global__ void setRecvGsF3(
     unsigned long long numberOfLBnodes,
     bool isEvenTimestep);
 
-__global__ void WallFunction27( 	real* vx,
+__global__ void WallFunction27(     real* vx,
                                             real* vy,
                                             real* vz,
                                             real* DD,
diff --git a/src/gpu/core/GPU/GridScaling/ScaleCF27.cu b/src/gpu/core/GPU/GridScaling/ScaleCF27.cu
index 222e29ae624facc3727ca4249cd4723b9dea7c85..e84674ecb2dd4037dfd576c6dca8cb2b6596f601 100644
--- a/src/gpu/core/GPU/GridScaling/ScaleCF27.cu
+++ b/src/gpu/core/GPU/GridScaling/ScaleCF27.cu
@@ -15,127 +15,127 @@ using namespace vf::lbm::dir;
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleCF_0817_comp_27( real* DC, 
-												 real* DF, 
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posCSWB, 
-												 unsigned int* posFSWB, 
-												 unsigned int kCF, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offCF)
+                                                 real* DF, 
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posCSWB, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kCF, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offCF)
 {
-	real
-		*fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
-		*fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
-		*f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
-
-
-	fP00dest = &DF[dP00 * numberOfLBnodesFine];
-	fM00dest = &DF[dM00 * numberOfLBnodesFine];
-	f0P0dest = &DF[d0P0 * numberOfLBnodesFine];
-	f0M0dest = &DF[d0M0 * numberOfLBnodesFine];
-	f00Pdest = &DF[d00P * numberOfLBnodesFine];
-	f00Mdest = &DF[d00M * numberOfLBnodesFine];
-	fPP0dest = &DF[dPP0 * numberOfLBnodesFine];
-	fMM0dest = &DF[dMM0 * numberOfLBnodesFine];
-	fPM0dest = &DF[dPM0 * numberOfLBnodesFine];
-	fMP0dest = &DF[dMP0 * numberOfLBnodesFine];
-	fP0Pdest = &DF[dP0P * numberOfLBnodesFine];
-	fM0Mdest = &DF[dM0M * numberOfLBnodesFine];
-	fP0Mdest = &DF[dP0M * numberOfLBnodesFine];
-	fM0Pdest = &DF[dM0P * numberOfLBnodesFine];
-	f0PPdest = &DF[d0PP * numberOfLBnodesFine];
-	f0MMdest = &DF[d0MM * numberOfLBnodesFine];
-	f0PMdest = &DF[d0PM * numberOfLBnodesFine];
-	f0MPdest = &DF[d0MP * numberOfLBnodesFine];
-	f000dest = &DF[d000 * numberOfLBnodesFine];
-	fMMMdest = &DF[dMMM * numberOfLBnodesFine];
-	fMMPdest = &DF[dMMP * numberOfLBnodesFine];
-	fMPPdest = &DF[dMPP * numberOfLBnodesFine];
-	fMPMdest = &DF[dMPM * numberOfLBnodesFine];
-	fPPMdest = &DF[dPPM * numberOfLBnodesFine];
-	fPPPdest = &DF[dPPP * numberOfLBnodesFine];
-	fPMPdest = &DF[dPMP * numberOfLBnodesFine];
-	fPMMdest = &DF[dPMM * numberOfLBnodesFine];
-
-	real
-		*fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
-		*fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
-		*f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
-
-	if (isEvenTimestep == true)
-	{
-		fP00source = &DC[dP00 * numberOfLBnodesCoarse];
-		fM00source = &DC[dM00 * numberOfLBnodesCoarse];
-		f0P0source = &DC[d0P0 * numberOfLBnodesCoarse];
-		f0M0source = &DC[d0M0 * numberOfLBnodesCoarse];
-		f00Psource = &DC[d00P * numberOfLBnodesCoarse];
-		f00Msource = &DC[d00M * numberOfLBnodesCoarse];
-		fPP0source = &DC[dPP0 * numberOfLBnodesCoarse];
-		fMM0source = &DC[dMM0 * numberOfLBnodesCoarse];
-		fPM0source = &DC[dPM0 * numberOfLBnodesCoarse];
-		fMP0source = &DC[dMP0 * numberOfLBnodesCoarse];
-		fP0Psource = &DC[dP0P * numberOfLBnodesCoarse];
-		fM0Msource = &DC[dM0M * numberOfLBnodesCoarse];
-		fP0Msource = &DC[dP0M * numberOfLBnodesCoarse];
-		fM0Psource = &DC[dM0P * numberOfLBnodesCoarse];
-		f0PPsource = &DC[d0PP * numberOfLBnodesCoarse];
-		f0MMsource = &DC[d0MM * numberOfLBnodesCoarse];
-		f0PMsource = &DC[d0PM * numberOfLBnodesCoarse];
-		f0MPsource = &DC[d0MP * numberOfLBnodesCoarse];
-		f000source = &DC[d000 * numberOfLBnodesCoarse];
-		fMMMsource = &DC[dMMM * numberOfLBnodesCoarse];
-		fMMPsource = &DC[dMMP * numberOfLBnodesCoarse];
-		fMPPsource = &DC[dMPP * numberOfLBnodesCoarse];
-		fMPMsource = &DC[dMPM * numberOfLBnodesCoarse];
-		fPPMsource = &DC[dPPM * numberOfLBnodesCoarse];
-		fPPPsource = &DC[dPPP * numberOfLBnodesCoarse];
-		fPMPsource = &DC[dPMP * numberOfLBnodesCoarse];
-		fPMMsource = &DC[dPMM * numberOfLBnodesCoarse];
-	}
-	else
-	{
-		fP00source = &DC[dM00 * numberOfLBnodesCoarse];
-		fM00source = &DC[dP00 * numberOfLBnodesCoarse];
-		f0P0source = &DC[d0M0 * numberOfLBnodesCoarse];
-		f0M0source = &DC[d0P0 * numberOfLBnodesCoarse];
-		f00Psource = &DC[d00M * numberOfLBnodesCoarse];
-		f00Msource = &DC[d00P * numberOfLBnodesCoarse];
-		fPP0source = &DC[dMM0 * numberOfLBnodesCoarse];
-		fMM0source = &DC[dPP0 * numberOfLBnodesCoarse];
-		fPM0source = &DC[dMP0 * numberOfLBnodesCoarse];
-		fMP0source = &DC[dPM0 * numberOfLBnodesCoarse];
-		fP0Psource = &DC[dM0M * numberOfLBnodesCoarse];
-		fM0Msource = &DC[dP0P * numberOfLBnodesCoarse];
-		fP0Msource = &DC[dM0P * numberOfLBnodesCoarse];
-		fM0Psource = &DC[dP0M * numberOfLBnodesCoarse];
-		f0PPsource = &DC[d0MM * numberOfLBnodesCoarse];
-		f0MMsource = &DC[d0PP * numberOfLBnodesCoarse];
-		f0PMsource = &DC[d0MP * numberOfLBnodesCoarse];
-		f0MPsource = &DC[d0PM * numberOfLBnodesCoarse];
-		f000source = &DC[d000 * numberOfLBnodesCoarse];
-		fMMMsource = &DC[dPPP * numberOfLBnodesCoarse];
-		fMMPsource = &DC[dPPM * numberOfLBnodesCoarse];
-		fMPPsource = &DC[dPMM * numberOfLBnodesCoarse];
-		fMPMsource = &DC[dPMP * numberOfLBnodesCoarse];
-		fPPMsource = &DC[dMMP * numberOfLBnodesCoarse];
-		fPPPsource = &DC[dMMM * numberOfLBnodesCoarse];
-		fPMPsource = &DC[dMPM * numberOfLBnodesCoarse];
-		fPMMsource = &DC[dMPP * numberOfLBnodesCoarse];
-	}
+    real
+        *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
+        *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
+        *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
+
+
+    fP00dest = &DF[dP00 * numberOfLBnodesFine];
+    fM00dest = &DF[dM00 * numberOfLBnodesFine];
+    f0P0dest = &DF[d0P0 * numberOfLBnodesFine];
+    f0M0dest = &DF[d0M0 * numberOfLBnodesFine];
+    f00Pdest = &DF[d00P * numberOfLBnodesFine];
+    f00Mdest = &DF[d00M * numberOfLBnodesFine];
+    fPP0dest = &DF[dPP0 * numberOfLBnodesFine];
+    fMM0dest = &DF[dMM0 * numberOfLBnodesFine];
+    fPM0dest = &DF[dPM0 * numberOfLBnodesFine];
+    fMP0dest = &DF[dMP0 * numberOfLBnodesFine];
+    fP0Pdest = &DF[dP0P * numberOfLBnodesFine];
+    fM0Mdest = &DF[dM0M * numberOfLBnodesFine];
+    fP0Mdest = &DF[dP0M * numberOfLBnodesFine];
+    fM0Pdest = &DF[dM0P * numberOfLBnodesFine];
+    f0PPdest = &DF[d0PP * numberOfLBnodesFine];
+    f0MMdest = &DF[d0MM * numberOfLBnodesFine];
+    f0PMdest = &DF[d0PM * numberOfLBnodesFine];
+    f0MPdest = &DF[d0MP * numberOfLBnodesFine];
+    f000dest = &DF[d000 * numberOfLBnodesFine];
+    fMMMdest = &DF[dMMM * numberOfLBnodesFine];
+    fMMPdest = &DF[dMMP * numberOfLBnodesFine];
+    fMPPdest = &DF[dMPP * numberOfLBnodesFine];
+    fMPMdest = &DF[dMPM * numberOfLBnodesFine];
+    fPPMdest = &DF[dPPM * numberOfLBnodesFine];
+    fPPPdest = &DF[dPPP * numberOfLBnodesFine];
+    fPMPdest = &DF[dPMP * numberOfLBnodesFine];
+    fPMMdest = &DF[dPMM * numberOfLBnodesFine];
+
+    real
+        *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
+        *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
+        *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
+
+    if (isEvenTimestep == true)
+    {
+        fP00source = &DC[dP00 * numberOfLBnodesCoarse];
+        fM00source = &DC[dM00 * numberOfLBnodesCoarse];
+        f0P0source = &DC[d0P0 * numberOfLBnodesCoarse];
+        f0M0source = &DC[d0M0 * numberOfLBnodesCoarse];
+        f00Psource = &DC[d00P * numberOfLBnodesCoarse];
+        f00Msource = &DC[d00M * numberOfLBnodesCoarse];
+        fPP0source = &DC[dPP0 * numberOfLBnodesCoarse];
+        fMM0source = &DC[dMM0 * numberOfLBnodesCoarse];
+        fPM0source = &DC[dPM0 * numberOfLBnodesCoarse];
+        fMP0source = &DC[dMP0 * numberOfLBnodesCoarse];
+        fP0Psource = &DC[dP0P * numberOfLBnodesCoarse];
+        fM0Msource = &DC[dM0M * numberOfLBnodesCoarse];
+        fP0Msource = &DC[dP0M * numberOfLBnodesCoarse];
+        fM0Psource = &DC[dM0P * numberOfLBnodesCoarse];
+        f0PPsource = &DC[d0PP * numberOfLBnodesCoarse];
+        f0MMsource = &DC[d0MM * numberOfLBnodesCoarse];
+        f0PMsource = &DC[d0PM * numberOfLBnodesCoarse];
+        f0MPsource = &DC[d0MP * numberOfLBnodesCoarse];
+        f000source = &DC[d000 * numberOfLBnodesCoarse];
+        fMMMsource = &DC[dMMM * numberOfLBnodesCoarse];
+        fMMPsource = &DC[dMMP * numberOfLBnodesCoarse];
+        fMPPsource = &DC[dMPP * numberOfLBnodesCoarse];
+        fMPMsource = &DC[dMPM * numberOfLBnodesCoarse];
+        fPPMsource = &DC[dPPM * numberOfLBnodesCoarse];
+        fPPPsource = &DC[dPPP * numberOfLBnodesCoarse];
+        fPMPsource = &DC[dPMP * numberOfLBnodesCoarse];
+        fPMMsource = &DC[dPMM * numberOfLBnodesCoarse];
+    }
+    else
+    {
+        fP00source = &DC[dM00 * numberOfLBnodesCoarse];
+        fM00source = &DC[dP00 * numberOfLBnodesCoarse];
+        f0P0source = &DC[d0M0 * numberOfLBnodesCoarse];
+        f0M0source = &DC[d0P0 * numberOfLBnodesCoarse];
+        f00Psource = &DC[d00M * numberOfLBnodesCoarse];
+        f00Msource = &DC[d00P * numberOfLBnodesCoarse];
+        fPP0source = &DC[dMM0 * numberOfLBnodesCoarse];
+        fMM0source = &DC[dPP0 * numberOfLBnodesCoarse];
+        fPM0source = &DC[dMP0 * numberOfLBnodesCoarse];
+        fMP0source = &DC[dPM0 * numberOfLBnodesCoarse];
+        fP0Psource = &DC[dM0M * numberOfLBnodesCoarse];
+        fM0Msource = &DC[dP0P * numberOfLBnodesCoarse];
+        fP0Msource = &DC[dM0P * numberOfLBnodesCoarse];
+        fM0Psource = &DC[dP0M * numberOfLBnodesCoarse];
+        f0PPsource = &DC[d0MM * numberOfLBnodesCoarse];
+        f0MMsource = &DC[d0PP * numberOfLBnodesCoarse];
+        f0PMsource = &DC[d0MP * numberOfLBnodesCoarse];
+        f0MPsource = &DC[d0PM * numberOfLBnodesCoarse];
+        f000source = &DC[d000 * numberOfLBnodesCoarse];
+        fMMMsource = &DC[dPPP * numberOfLBnodesCoarse];
+        fMMPsource = &DC[dPPM * numberOfLBnodesCoarse];
+        fMPPsource = &DC[dPMM * numberOfLBnodesCoarse];
+        fMPMsource = &DC[dPMP * numberOfLBnodesCoarse];
+        fPPMsource = &DC[dMMP * numberOfLBnodesCoarse];
+        fPPPsource = &DC[dMMM * numberOfLBnodesCoarse];
+        fPMPsource = &DC[dMPM * numberOfLBnodesCoarse];
+        fPMMsource = &DC[dMPP * numberOfLBnodesCoarse];
+    }
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  ix = threadIdx.x;  // Globaler x-Index 
    const unsigned  iy = blockIdx.x;   // Globaler y-Index 
@@ -217,47 +217,47 @@ __global__ void scaleCF_0817_comp_27( real* DC,
       unsigned int k0MM = k0MMbase;  
       unsigned int kMMM = kMMMbase; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM);
-	  vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
-	  vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
+      vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
+      vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
 
-	  kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
-	  kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
-	  kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
-	  kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
-	  kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
-	  kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
+      kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
+      kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
+      kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
+      kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
+      kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
+      kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
 
-	  //////////////////////////////////////////////////////////////////////////
+      //////////////////////////////////////////////////////////////////////////
       //SWT//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -270,45 +270,45 @@ __global__ void scaleCF_0817_comp_27( real* DC,
       k0MM = neighborCZ[k0MM];  
       kMMM = neighborCZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP);
-	  vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
-	  vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
+      vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
+      vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
 
-	  kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
-	  kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
-	  kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
-	  kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
-	  kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
-	  kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
+      kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
+      kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
+      kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
+      kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
+      kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
+      kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
 
       //////////////////////////////////////////////////////////////////////////
       //SET//
@@ -323,47 +323,47 @@ __global__ void scaleCF_0817_comp_27( real* DC,
       k0MM = kMMM;  
       kMMM = neighborCX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP);
-	  vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
-	  vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
-
-	  kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
-	  kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
-	  kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
-	  kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
-	  kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
-	  kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
-	  
-	  //////////////////////////////////////////////////////////////////////////
+      vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
+      vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
+
+      kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
+      kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
+      kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
+      kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
+      kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
+      kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
+      
+      //////////////////////////////////////////////////////////////////////////
       //SEB//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -376,45 +376,45 @@ __global__ void scaleCF_0817_comp_27( real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborCX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM);
-	  vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
-	  vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
+      vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
+      vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
 
-	  kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
-	  kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
-	  kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
-	  kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
-	  kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
-	  kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
+      kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
+      kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
+      kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
+      kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
+      kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
+      kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
 
       //////////////////////////////////////////////////////////////////////////
       //NWB//
@@ -439,45 +439,45 @@ __global__ void scaleCF_0817_comp_27( real* DC,
       k0MM = k0MMbase;  
       kMMM = kMMMbase; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM);
-	  vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
-	  vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
+      vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
+      vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
 
-	  kxyFromfcNEQMPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
-	  kyzFromfcNEQMPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
-	  kxzFromfcNEQMPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
-	  kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
-	  kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
-	  kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
+      kxyFromfcNEQMPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
+      kyzFromfcNEQMPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
+      kxzFromfcNEQMPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
+      kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
+      kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
+      kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
 
       //////////////////////////////////////////////////////////////////////////
       //NWT//
@@ -492,45 +492,45 @@ __global__ void scaleCF_0817_comp_27( real* DC,
       k0MM = neighborCZ[k0MM];  
       kMMM = neighborCZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP);
-	  vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
-	  vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
+      vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
+      vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
 
-	  kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
-	  kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
-	  kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
-	  kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
-	  kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
-	  kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
+      kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
+      kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
+      kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
+      kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
+      kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
+      kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NET//
@@ -545,45 +545,45 @@ __global__ void scaleCF_0817_comp_27( real* DC,
       k0MM = kMMM;  
       kMMM = neighborCX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP);
-	  vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
-	  vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
+      vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
+      vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
 
-	  kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
-	  kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
-	  kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
-	  kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
-	  kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
-	  kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
+      kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
+      kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
+      kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
+      kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
+      kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
+      kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NEB//
@@ -598,142 +598,142 @@ __global__ void scaleCF_0817_comp_27( real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborCX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM);
-	  vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
-	  vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
+      vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
+      vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
 
-	  kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
-	  kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
-	  kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
-	  kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
-	  kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
-	  kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
+      kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
+      kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
+      kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
+      kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
+      kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
+      kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
 
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
-	  a0 = c1o8*(((vx1PPM + vx1PPP) + (vx1MPM + vx1MPP)) + ((vx1PMM + vx1PMP) + (vx1MMM + vx1MMP)));
-	  ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
-	  ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
-	  az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
-	  axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
-	  axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
-	  ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
-	  axyz=		  ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
-	  b0 = c1o8*(((vx2PPM + vx2PPP) + (vx2MPM + vx2MPP)) + ((vx2PMM + vx2PMP) + (vx2MMM + vx2MMP)));
-	  bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
-	  by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
-	  bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
-	  bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
-	  bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
-	  byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
-	  bxyz=		  ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
-	  c0 = c1o8*(((vx3PPM + vx3PPP) + (vx3MPM + vx3MPP)) + ((vx3PMM + vx3PMP) + (vx3MMM + vx3MMP)));
-	  cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
-	  cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
-	  cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
-	  cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
-	  cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
-	  cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
-	  cxyz=		  ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
-
-	  //bxx = zero;
-	  //cxx = zero;
-	  //ayy = zero;
-	  //cyy = zero;
-	  //azz = zero;
-	  //bzz = zero;
-	  //axx = zero;
-	  //byy = zero;
-	  //czz = zero;
-
-	  bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
-	  cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
-
-	  ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
-	  cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
-
-	  azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
-	  bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
-
-	  axx = (c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
-		  + (c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
-
-	  byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
-		  + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
-
-	  czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
-		  + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
-
-	  a0 -= c1o4*(axx + ayy + azz);
-	  b0 -= c1o4*(bxx + byy + bzz);
-	  c0 -= c1o4*(cxx + cyy + czz);
+      a0 = c1o8*(((vx1PPM + vx1PPP) + (vx1MPM + vx1MPP)) + ((vx1PMM + vx1PMP) + (vx1MMM + vx1MMP)));
+      ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
+      ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
+      az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
+      axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
+      axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
+      ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
+      axyz=          ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
+      b0 = c1o8*(((vx2PPM + vx2PPP) + (vx2MPM + vx2MPP)) + ((vx2PMM + vx2PMP) + (vx2MMM + vx2MMP)));
+      bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
+      by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
+      bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
+      bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
+      bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
+      byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
+      bxyz=          ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
+      c0 = c1o8*(((vx3PPM + vx3PPP) + (vx3MPM + vx3MPP)) + ((vx3PMM + vx3PMP) + (vx3MMM + vx3MMP)));
+      cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
+      cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
+      cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
+      cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
+      cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
+      cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
+      cxyz=          ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
+
+      //bxx = zero;
+      //cxx = zero;
+      //ayy = zero;
+      //cyy = zero;
+      //azz = zero;
+      //bzz = zero;
+      //axx = zero;
+      //byy = zero;
+      //czz = zero;
+
+      bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
+      cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
+
+      ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
+      cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
+
+      azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
+      bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
+
+      axx = (c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
+          + (c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
+
+      byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
+          + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
+
+      czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
+          + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
+
+      a0 -= c1o4*(axx + ayy + azz);
+      b0 -= c1o4*(bxx + byy + bzz);
+      c0 -= c1o4*(cxx + cyy + czz);
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real kxyAverage    = c0o1;
+      real kyzAverage    = c0o1;
+      real kxzAverage    = c0o1;
+      real kxxMyyAverage = c0o1;
+      real kxxMzzAverage = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //Press
+      //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
+      //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
+      //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
+      //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
+      //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
+      //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
+      //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
+      //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage    = c0o1;
-	  real kyzAverage    = c0o1;
-	  real kxzAverage    = c0o1;
-	  real kxxMyyAverage = c0o1;
-	  real kxxMzzAverage = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //Press
-	  //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
-	  //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
-	  //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
-	  //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
-	  dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
-	  dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
-	  dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
-	  dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
-	  dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
-	  dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
-	  dxyz =  -drhoPPM + drhoPPP + drhoMPM - drhoMPP + drhoPMM - drhoPMP - drhoMMM + drhoMMP;
+      //drho
+      d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
+      dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
+      dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
+      dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
+      dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
+      dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
+      dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
+      dxyz =  -drhoPPM + drhoPPP + drhoMPM - drhoMPP + drhoPMM - drhoPMP - drhoMMM + drhoMMP;
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
       ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
@@ -746,3285 +746,3285 @@ __global__ void scaleCF_0817_comp_27( real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
-	  dx = dx + yoff * dxy + zoff * dxz;
-	  dy = dy + xoff * dxy + zoff * dyz;
-	  dz = dz + xoff * dxz + yoff * dyz;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = two - o;
-	  //real residu, residutmp;
-	  //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k000base = posFSWB[k];
-	  kM00base = neighborFX[k000base];
-	  k0M0base = neighborFY[k000base];
-	  k00Mbase = neighborFZ[k000base];
-	  kMM0base = neighborFY[kM00base];
-	  kM0Mbase = neighborFZ[kM00base];
-	  k0MMbase = neighborFZ[k0M0base];
-	  kMMMbase = neighborFZ[kMM0base];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k000base;
-	  kM00 = kM00base;
-	  k0M0 = k0M0base;
-	  k00M = k00Mbase;
-	  kMM0 = kMM0base;
-	  kM0M = kM0Mbase;
-	  k0MM = k0MMbase;
-	  kMMM = kMMMbase;
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k00M;
-	  kM00 = kM0M;
-	  k0M0 = k0MM;
-	  k00M = neighborFZ[k00M];
-	  kMM0 = kMMM;
-	  kM0M = neighborFZ[kM0M];
-	  k0MM = neighborFZ[k0MM];
-	  kMMM = neighborFZ[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = kM00;
-	  kM00 = neighborFX[kM00];
-	  k0M0 = kMM0;
-	  k00M = kM0M;
-	  kMM0 = neighborFX[kMM0];
-	  kM0M = neighborFX[kM0M];
-	  k0MM = kMMM;
-	  kMMM = neighborFX[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k00M = k000;
-	  kM0M = kM00;
-	  k0MM = k0M0;
-	  kMMM = kMM0;
-	  k000 = kM00base;
-	  kM00 = neighborFX[kM00base];
-	  k0M0 = kMM0base;
-	  kMM0 = neighborFX[kMM0base];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k000base = k0M0base;
-	  kM00base = kMM0base;
-	  k0M0base = neighborFY[k0M0base];
-	  k00Mbase = k0MMbase;
-	  kMM0base = neighborFY[kMM0base];
-	  kM0Mbase = kMMMbase;
-	  k0MMbase = neighborFY[k0MMbase];
-	  kMMMbase = neighborFY[kMMMbase];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k000base;
-	  kM00 = kM00base;
-	  k0M0 = k0M0base;
-	  k00M = k00Mbase;
-	  kMM0 = kMM0base;
-	  kM0M = kM0Mbase;
-	  k0MM = k0MMbase;
-	  kMMM = kMMMbase;
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k00M;
-	  kM00 = kM0M;
-	  k0M0 = k0MM;
-	  k00M = neighborFZ[k00M];
-	  kMM0 = kMMM;
-	  kM0M = neighborFZ[kM0M];
-	  k0MM = neighborFZ[k0MM];
-	  kMMM = neighborFZ[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = kM00;
-	  kM00 = neighborFX[kM00];
-	  k0M0 = kMM0;
-	  k00M = kM0M;
-	  kMM0 = neighborFX[kMM0];
-	  kM0M = neighborFX[kM0M];
-	  k0MM = kMMM;
-	  kMMM = neighborFX[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k00M = k000;   
-	  kM0M = kM00;
-	  k0MM = k0M0;
-	  kMMM = kMM0;
-	  k000 = kM00base;
-	  kM00 = neighborFX[kM00base];
-	  k0M0 = kMM0base;
-	  kMM0 = neighborFX[kMM0base];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      dx = dx + yoff * dxy + zoff * dxz;
+      dy = dy + xoff * dxy + zoff * dyz;
+      dz = dz + xoff * dxz + yoff * dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = two - o;
+      //real residu, residutmp;
+      //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k000base = posFSWB[k];
+      kM00base = neighborFX[k000base];
+      k0M0base = neighborFY[k000base];
+      k00Mbase = neighborFZ[k000base];
+      kMM0base = neighborFY[kM00base];
+      kM0Mbase = neighborFZ[kM00base];
+      k0MMbase = neighborFZ[k0M0base];
+      kMMMbase = neighborFZ[kMM0base];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k000base;
+      kM00 = kM00base;
+      k0M0 = k0M0base;
+      k00M = k00Mbase;
+      kMM0 = kMM0base;
+      kM0M = kM0Mbase;
+      k0MM = k0MMbase;
+      kMMM = kMMMbase;
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k00M;
+      kM00 = kM0M;
+      k0M0 = k0MM;
+      k00M = neighborFZ[k00M];
+      kMM0 = kMMM;
+      kM0M = neighborFZ[kM0M];
+      k0MM = neighborFZ[k0MM];
+      kMMM = neighborFZ[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = kM00;
+      kM00 = neighborFX[kM00];
+      k0M0 = kMM0;
+      k00M = kM0M;
+      kMM0 = neighborFX[kMM0];
+      kM0M = neighborFX[kM0M];
+      k0MM = kMMM;
+      kMMM = neighborFX[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k00M = k000;
+      kM0M = kM00;
+      k0MM = k0M0;
+      kMMM = kMM0;
+      k000 = kM00base;
+      kM00 = neighborFX[kM00base];
+      k0M0 = kMM0base;
+      kMM0 = neighborFX[kMM0base];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k000base = k0M0base;
+      kM00base = kMM0base;
+      k0M0base = neighborFY[k0M0base];
+      k00Mbase = k0MMbase;
+      kMM0base = neighborFY[kMM0base];
+      kM0Mbase = kMMMbase;
+      k0MMbase = neighborFY[k0MMbase];
+      kMMMbase = neighborFY[kMMMbase];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k000base;
+      kM00 = kM00base;
+      k0M0 = k0M0base;
+      k00M = k00Mbase;
+      kMM0 = kMM0base;
+      kM0M = kM0Mbase;
+      k0MM = k0MMbase;
+      kMMM = kMMMbase;
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k00M;
+      kM00 = kM0M;
+      k0M0 = k0MM;
+      k00M = neighborFZ[k00M];
+      kMM0 = kMMM;
+      kM0M = neighborFZ[kM0M];
+      k0MM = neighborFZ[k0MM];
+      kMMM = neighborFZ[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = kM00;
+      kM00 = neighborFX[kM00];
+      k0M0 = kMM0;
+      k00M = kM0M;
+      kMM0 = neighborFX[kMM0];
+      kM0M = neighborFX[kM0M];
+      k0MM = kMMM;
+      kMMM = neighborFX[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k00M = k000;   
+      kM0M = kM00;
+      k0MM = k0M0;
+      kMMM = kMM0;
+      k000 = kM00base;
+      kM00 = neighborFX[kM00base];
+      k0M0 = kMM0base;
+      kMM0 = neighborFX[kMM0base];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -4084,27 +4084,27 @@ __global__ void scaleCF_0817_comp_27( real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleCF_AA2016_comp_27(real* DC, 
-												  real* DF, 
-												  unsigned int* neighborCX,
-												  unsigned int* neighborCY,
-												  unsigned int* neighborCZ,
-												  unsigned int* neighborFX,
-												  unsigned int* neighborFY,
-												  unsigned int* neighborFZ,
-												  unsigned long long numberOfLBnodesCoarse, 
-												  unsigned long long numberOfLBnodesFine, 
-												  bool isEvenTimestep,
-												  unsigned int* posCSWB, 
-												  unsigned int* posFSWB, 
-												  unsigned int kCF, 
-												  real omCoarse, 
-												  real omFine, 
-												  real nu, 
-												  unsigned int nxC, 
-												  unsigned int nyC, 
-												  unsigned int nxF, 
-												  unsigned int nyF,
-												  ICellNeigh offCF)
+                                                  real* DF, 
+                                                  unsigned int* neighborCX,
+                                                  unsigned int* neighborCY,
+                                                  unsigned int* neighborCZ,
+                                                  unsigned int* neighborFX,
+                                                  unsigned int* neighborFY,
+                                                  unsigned int* neighborFZ,
+                                                  unsigned long long numberOfLBnodesCoarse, 
+                                                  unsigned long long numberOfLBnodesFine, 
+                                                  bool isEvenTimestep,
+                                                  unsigned int* posCSWB, 
+                                                  unsigned int* posFSWB, 
+                                                  unsigned int kCF, 
+                                                  real omCoarse, 
+                                                  real omFine, 
+                                                  real nu, 
+                                                  unsigned int nxC, 
+                                                  unsigned int nyC, 
+                                                  unsigned int nxF, 
+                                                  unsigned int nyF,
+                                                  ICellNeigh offCF)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -4244,26 +4244,26 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
    real        a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz;
    real        d0, dx, dy, dz, dxy, dxz, dyz, dxyz;
    real        x,y,z;
-	//////////////////////////////////////////////////////////////////////////////////////
-    real	mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca;
-	//real wadjust;
-	//real qudricLimitP = 0.01f;// * 0.0001f;
+    //////////////////////////////////////////////////////////////////////////////////////
+    real    mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca;
+    //real wadjust;
+    //real qudricLimitP = 0.01f;// * 0.0001f;
     //real qudricLimitM = 0.01f;// * 0.0001f;
-	//real qudricLimitD = 0.01f;// * 0.001f;
-	//real omega = omCoarse;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	real NeqOn = c1o1;
-	real drho, rho;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//real OxxPyyPzz;
-	//real OxyyPxzz;
-	//real OxyyMxzz;
-	//real Oxyz    ;
-	//real O4, O5, O6;
-	//real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //real qudricLimitD = 0.01f;// * 0.001f;
+    //real omega = omCoarse;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+    real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+    real NeqOn = c1o1;
+    real drho, rho;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //real OxxPyyPzz;
+    //real OxyyPxzz;
+    //real OxyyMxzz;
+    //real Oxyz    ;
+    //real O4, O5, O6;
+    //real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 
@@ -4329,8 +4329,8 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-	  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-	  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+      vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+      vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
@@ -4338,306 +4338,306 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
       kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SWB    = mfbbb;
-			real mxxyPyzz_SWB = mxxyPyzz;
-			real mxxyMyzz_SWB = mxxyMyzz;
-			real mxxzPyyz_SWB = mxxzPyyz;
-			real mxxzMyyz_SWB = mxxzMyyz;
-			real mxyyPxzz_SWB = mxyyPxzz;
-			real mxyyMxzz_SWB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SWB    = mfbbb;
+            real mxxyPyzz_SWB = mxxyPyzz;
+            real mxxyMyzz_SWB = mxxyMyzz;
+            real mxxzPyyz_SWB = mxxzPyyz;
+            real mxxzMyyz_SWB = mxxzMyyz;
+            real mxyyPxzz_SWB = mxyyPxzz;
+            real mxyyMxzz_SWB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -4735,8 +4735,8 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-	  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-	  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+      vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+      vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
       kyzFromfcNEQ_SWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
@@ -4744,306 +4744,306 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
       kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SWT    = mfbbb;
-			real mxxyPyzz_SWT = mxxyPyzz;
-			real mxxyMyzz_SWT = mxxyMyzz;
-			real mxxzPyyz_SWT = mxxzPyyz;
-			real mxxzMyyz_SWT = mxxzMyyz;
-			real mxyyPxzz_SWT = mxyyPxzz;
-			real mxyyMxzz_SWT = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SWT    = mfbbb;
+            real mxxyPyzz_SWT = mxxyPyzz;
+            real mxxyMyzz_SWT = mxxyMyzz;
+            real mxxzPyyz_SWT = mxxzPyyz;
+            real mxxzMyyz_SWT = mxxzMyyz;
+            real mxyyPxzz_SWT = mxyyPxzz;
+            real mxyyMxzz_SWT = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -5142,8 +5142,8 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-	  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-	  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+      vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+      vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
       kyzFromfcNEQ_SET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
@@ -5151,306 +5151,306 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
       kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SET    = mfbbb;
-			real mxxyPyzz_SET = mxxyPyzz;
-			real mxxyMyzz_SET = mxxyMyzz;
-			real mxxzPyyz_SET = mxxzPyyz;
-			real mxxzMyyz_SET = mxxzMyyz;
-			real mxyyPxzz_SET = mxyyPxzz;
-			real mxyyMxzz_SET = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SET    = mfbbb;
+            real mxxyPyzz_SET = mxxyPyzz;
+            real mxxyMyzz_SET = mxxyMyzz;
+            real mxxzPyyz_SET = mxxzPyyz;
+            real mxxzMyyz_SET = mxxzMyyz;
+            real mxyyPxzz_SET = mxyyPxzz;
+            real mxyyMxzz_SET = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -5549,8 +5549,8 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-	  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-	  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+      vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+      vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
       kyzFromfcNEQ_SEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
@@ -5558,306 +5558,306 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
       kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SEB    = mfbbb;
-			real mxxyPyzz_SEB = mxxyPyzz;
-			real mxxyMyzz_SEB = mxxyMyzz;
-			real mxxzPyyz_SEB = mxxzPyyz;
-			real mxxzMyyz_SEB = mxxzMyyz;
-			real mxyyPxzz_SEB = mxyyPxzz;
-			real mxyyMxzz_SEB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SEB    = mfbbb;
+            real mxxyPyzz_SEB = mxxyPyzz;
+            real mxxyMyzz_SEB = mxxyMyzz;
+            real mxxzPyyz_SEB = mxxzPyyz;
+            real mxxzMyyz_SEB = mxxzMyyz;
+            real mxyyPxzz_SEB = mxyyPxzz;
+            real mxyyMxzz_SEB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -5966,8 +5966,8 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-	  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-	  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+      vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+      vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
       kyzFromfcNEQ_NWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
@@ -5975,306 +5975,306 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
       kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NWB    = mfbbb;
-			real mxxyPyzz_NWB = mxxyPyzz;
-			real mxxyMyzz_NWB = mxxyMyzz;
-			real mxxzPyyz_NWB = mxxzPyyz;
-			real mxxzMyyz_NWB = mxxzMyyz;
-			real mxyyPxzz_NWB = mxyyPxzz;
-			real mxyyMxzz_NWB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NWB    = mfbbb;
+            real mxxyPyzz_NWB = mxxyPyzz;
+            real mxxyMyzz_NWB = mxxyMyzz;
+            real mxxzPyyz_NWB = mxxzPyyz;
+            real mxxzMyyz_NWB = mxxzMyyz;
+            real mxyyPxzz_NWB = mxyyPxzz;
+            real mxyyMxzz_NWB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -6373,8 +6373,8 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-	  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-	  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+      vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+      vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
       kyzFromfcNEQ_NWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
@@ -6382,306 +6382,306 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
       kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NWT    = mfbbb;
-			real mxxyPyzz_NWT = mxxyPyzz;
-			real mxxyMyzz_NWT = mxxyMyzz;
-			real mxxzPyyz_NWT = mxxzPyyz;
-			real mxxzMyyz_NWT = mxxzMyyz;
-			real mxyyPxzz_NWT = mxyyPxzz;
-			real mxyyMxzz_NWT = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NWT    = mfbbb;
+            real mxxyPyzz_NWT = mxxyPyzz;
+            real mxxyMyzz_NWT = mxxyMyzz;
+            real mxxzPyyz_NWT = mxxzPyyz;
+            real mxxzMyyz_NWT = mxxzMyyz;
+            real mxyyPxzz_NWT = mxyyPxzz;
+            real mxyyMxzz_NWT = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -6780,8 +6780,8 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-	  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-	  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+      vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+      vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
       kyzFromfcNEQ_NET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
@@ -6789,306 +6789,306 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
       kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NET    = mfbbb;
-			real mxxyPyzz_NET = mxxyPyzz;
-			real mxxyMyzz_NET = mxxyMyzz;
-			real mxxzPyyz_NET = mxxzPyyz;
-			real mxxzMyyz_NET = mxxzMyyz;
-			real mxyyPxzz_NET = mxyyPxzz;
-			real mxyyMxzz_NET = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NET    = mfbbb;
+            real mxxyPyzz_NET = mxxyPyzz;
+            real mxxyMyzz_NET = mxxyMyzz;
+            real mxxzPyyz_NET = mxxzPyyz;
+            real mxxzMyyz_NET = mxxzMyyz;
+            real mxyyPxzz_NET = mxyyPxzz;
+            real mxyyMxzz_NET = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -7187,8 +7187,8 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-	  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-	  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+      vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+      vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
       kyzFromfcNEQ_NEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
@@ -7196,306 +7196,306 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
       kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NEB    = mfbbb;
-			real mxxyPyzz_NEB = mxxyPyzz;
-			real mxxyMyzz_NEB = mxxyMyzz;
-			real mxxzPyyz_NEB = mxxzPyyz;
-			real mxxzMyyz_NEB = mxxzMyyz;
-			real mxyyPxzz_NEB = mxyyPxzz;
-			real mxyyMxzz_NEB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NEB    = mfbbb;
+            real mxxyPyzz_NEB = mxxyPyzz;
+            real mxxyMyzz_NEB = mxxyMyzz;
+            real mxxzPyyz_NEB = mxxzPyyz;
+            real mxxzMyyz_NEB = mxxzMyyz;
+            real mxyyPxzz_NEB = mxyyPxzz;
+            real mxyyMxzz_NEB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -7552,54 +7552,54 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mfbbbMean    = c1o8 * (mfbbb_SWB    + mfbbb_SWT    + mfbbb_SET    + mfbbb_SEB    + mfbbb_NWB    + mfbbb_NWT    + mfbbb_NET    + mfbbb_NEB);
-	  real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB);
-	  real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB);
-	  real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB);
-	  real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB);
-	  real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB);
-	  real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB);
+      real mfbbbMean    = c1o8 * (mfbbb_SWB    + mfbbb_SWT    + mfbbb_SET    + mfbbb_SEB    + mfbbb_NWB    + mfbbb_NWT    + mfbbb_NET    + mfbbb_NEB);
+      real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB);
+      real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB);
+      real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB);
+      real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB);
+      real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB);
+      real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB);
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
+      //  kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
@@ -7720,94 +7720,94 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage	     = c0o1;
-	  real kyzAverage	     = c0o1;
-	  real kxzAverage	     = c0o1;
-	  real kxxMyyAverage	 = c0o1;
-	  real kxxMzzAverage	 = c0o1;
-	  //real kxyAverage	 =(kxyFromfcNEQ_SWB+
-			//				   kxyFromfcNEQ_SWT+
-			//				   kxyFromfcNEQ_SET+
-			//				   kxyFromfcNEQ_SEB+
-			//				   kxyFromfcNEQ_NWB+
-			//				   kxyFromfcNEQ_NWT+
-			//				   kxyFromfcNEQ_NET+
-			//				   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  //real kyzAverage	 =(kyzFromfcNEQ_SWB+
-			//				   kyzFromfcNEQ_SWT+
-			//				   kyzFromfcNEQ_SET+
-			//				   kyzFromfcNEQ_SEB+
-			//				   kyzFromfcNEQ_NWB+
-			//				   kyzFromfcNEQ_NWT+
-			//				   kyzFromfcNEQ_NET+
-			//				   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  //real kxzAverage	 =(kxzFromfcNEQ_SWB+
-			//				   kxzFromfcNEQ_SWT+
-			//				   kxzFromfcNEQ_SET+
-			//				   kxzFromfcNEQ_SEB+
-			//				   kxzFromfcNEQ_NWB+
-			//				   kxzFromfcNEQ_NWT+
-			//				   kxzFromfcNEQ_NET+
-			//				   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  //real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-			//				   kxxMyyFromfcNEQ_SWT+
-			//				   kxxMyyFromfcNEQ_SET+
-			//				   kxxMyyFromfcNEQ_SEB+
-			//				   kxxMyyFromfcNEQ_NWB+
-			//				   kxxMyyFromfcNEQ_NWT+
-			//				   kxxMyyFromfcNEQ_NET+
-			//				   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  //real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-			//				   kxxMzzFromfcNEQ_SWT+
-			//				   kxxMzzFromfcNEQ_SET+
-			//				   kxxMzzFromfcNEQ_SEB+
-			//				   kxxMzzFromfcNEQ_NWB+
-			//				   kxxMzzFromfcNEQ_NWT+
-			//				   kxxMzzFromfcNEQ_NET+
-			//				   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
-	  d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-	  dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-  	//  d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage         = c0o1;
+      real kyzAverage         = c0o1;
+      real kxzAverage         = c0o1;
+      real kxxMyyAverage     = c0o1;
+      real kxxMzzAverage     = c0o1;
+      //real kxyAverage     =(kxyFromfcNEQ_SWB+
+            //                   kxyFromfcNEQ_SWT+
+            //                   kxyFromfcNEQ_SET+
+            //                   kxyFromfcNEQ_SEB+
+            //                   kxyFromfcNEQ_NWB+
+            //                   kxyFromfcNEQ_NWT+
+            //                   kxyFromfcNEQ_NET+
+            //                   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      //real kyzAverage     =(kyzFromfcNEQ_SWB+
+            //                   kyzFromfcNEQ_SWT+
+            //                   kyzFromfcNEQ_SET+
+            //                   kyzFromfcNEQ_SEB+
+            //                   kyzFromfcNEQ_NWB+
+            //                   kyzFromfcNEQ_NWT+
+            //                   kyzFromfcNEQ_NET+
+            //                   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      //real kxzAverage     =(kxzFromfcNEQ_SWB+
+            //                   kxzFromfcNEQ_SWT+
+            //                   kxzFromfcNEQ_SET+
+            //                   kxzFromfcNEQ_SEB+
+            //                   kxzFromfcNEQ_NWB+
+            //                   kxzFromfcNEQ_NWT+
+            //                   kxzFromfcNEQ_NET+
+            //                   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      //real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+            //                   kxxMyyFromfcNEQ_SWT+
+            //                   kxxMyyFromfcNEQ_SET+
+            //                   kxxMyyFromfcNEQ_SEB+
+            //                   kxxMyyFromfcNEQ_NWB+
+            //                   kxxMyyFromfcNEQ_NWT+
+            //                   kxxMyyFromfcNEQ_NET+
+            //                   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      //real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+            //                   kxxMzzFromfcNEQ_SWT+
+            //                   kxxMzzFromfcNEQ_SET+
+            //                   kxxMzzFromfcNEQ_SEB+
+            //                   kxxMzzFromfcNEQ_NWB+
+            //                   kxxMzzFromfcNEQ_NWT+
+            //                   kxxMzzFromfcNEQ_NET+
+            //                   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
+      d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+      dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //  d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
       ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
@@ -7820,3103 +7820,3103 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
-	  dx = dx + yoff * dxy + zoff * dxz;
-	  dy = dy + xoff * dxy + zoff * dyz;
-	  dz = dz + xoff * dxz + yoff * dyz;
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //ax=zero;
-	  //ay=zero;
-	  //az=zero;
-	  //axx=zero;
-	  //ayy=zero;
-	  //azz=zero;
-	  //axy=zero;
-	  //axz=zero;
-	  //ayz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  //axyz=zero;
-	  //bxyz=zero;
-	  //cxyz=zero;
-	  //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //b0=zero;
-	  //c0=c1o100;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  ////real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  ////real O3 = two - o;
-	  ////real residu, residutmp;
-	  ////residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  //real NeqOn = one;//zero;//one;   //.... one = on ..... zero = off 
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
-					  / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
-	  mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= posFSWB[k];
-	  k0w   = neighborFX[k0zero];
-	  k0s   = neighborFY[k0zero];
-	  k0b   = neighborFZ[k0zero];
-	  k0sw  = neighborFY[k0w];
-	  k0bw  = neighborFZ[k0w];
-	  k0bs  = neighborFZ[k0s];
-	  k0bsw = neighborFZ[k0sw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
-					  / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
-	  mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
-					  / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
-	  mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
-					  / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
-	  mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
-					  / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
-	  mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= k0s;
-	  k0w   = k0sw;
-	  k0s   = neighborFY[k0s];
-	  k0b   = k0bs;
-	  k0sw  = neighborFY[k0sw];
-	  k0bw  = k0bsw;
-	  k0bs  = neighborFY[k0bs];
-	  k0bsw = neighborFY[k0bsw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
-					  / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
-	  mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
-					  / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
-	  mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
-					  / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
-	  mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-   }
-}
-//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      dx = dx + yoff * dxy + zoff * dxz;
+      dy = dy + xoff * dxy + zoff * dyz;
+      dz = dz + xoff * dxz + yoff * dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //ax=zero;
+      //ay=zero;
+      //az=zero;
+      //axx=zero;
+      //ayy=zero;
+      //azz=zero;
+      //axy=zero;
+      //axz=zero;
+      //ayz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      //axyz=zero;
+      //bxyz=zero;
+      //cxyz=zero;
+      //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //b0=zero;
+      //c0=c1o100;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      ////real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      ////real O3 = two - o;
+      ////real residu, residutmp;
+      ////residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      //real NeqOn = one;//zero;//one;   //.... one = on ..... zero = off 
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
+                      / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
+      mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
+      mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
+      mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
+      mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
+      mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
+      mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= posFSWB[k];
+      k0w   = neighborFX[k0zero];
+      k0s   = neighborFY[k0zero];
+      k0b   = neighborFZ[k0zero];
+      k0sw  = neighborFY[k0w];
+      k0bw  = neighborFZ[k0w];
+      k0bs  = neighborFZ[k0s];
+      k0bsw = neighborFZ[k0sw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
+                      / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
+      mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
+      mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
+      mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
+      mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
+      mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
+      mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
+                      / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
+      mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
+      mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
+      mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
+      mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
+      mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
+      mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
+                      / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
+      mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
+      mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
+      mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
+      mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
+      mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
+      mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
+                      / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
+      mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
+      mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
+      mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
+      mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
+      mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
+      mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= k0s;
+      k0w   = k0sw;
+      k0s   = neighborFY[k0s];
+      k0b   = k0bs;
+      k0sw  = neighborFY[k0sw];
+      k0bw  = k0bsw;
+      k0bs  = neighborFY[k0bs];
+      k0bsw = neighborFY[k0bsw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
+                      / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
+      mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
+      mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
+      mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
+      mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
+      mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
+      mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
+                      / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
+      mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
+      mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
+      mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
+      mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
+      mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
+      mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o4 * (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) 
+                      / (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) * mfbbbMean;
+      mxxyPyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxyPyzzMean;
+      mxxyMyzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxyMyzzMean;
+      mxxzPyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxxzPyyzMean;
+      mxxzMyyz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxxzMyyzMean;
+      mxyyPxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine)/(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) * mxyyPxzzMean;
+      mxyyMxzz = c1o4 * (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) / (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+   }
+}
+//////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
 
 
 
@@ -10967,27 +10967,27 @@ __global__ void scaleCF_AA2016_comp_27(real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC, 
-														real* DF, 
-														unsigned int* neighborCX,
-														unsigned int* neighborCY,
-														unsigned int* neighborCZ,
-														unsigned int* neighborFX,
-														unsigned int* neighborFY,
-														unsigned int* neighborFZ,
-														unsigned long long numberOfLBnodesCoarse, 
-														unsigned long long numberOfLBnodesFine, 
-														bool isEvenTimestep,
-														unsigned int* posCSWB, 
-														unsigned int* posFSWB, 
-														unsigned int kCF, 
-														real omCoarse, 
-														real omFine, 
-														real nu, 
-														unsigned int nxC, 
-														unsigned int nyC, 
-														unsigned int nxF, 
-														unsigned int nyF,
-														ICellNeigh offCF)
+                                                        real* DF, 
+                                                        unsigned int* neighborCX,
+                                                        unsigned int* neighborCY,
+                                                        unsigned int* neighborCZ,
+                                                        unsigned int* neighborFX,
+                                                        unsigned int* neighborFY,
+                                                        unsigned int* neighborFZ,
+                                                        unsigned long long numberOfLBnodesCoarse, 
+                                                        unsigned long long numberOfLBnodesFine, 
+                                                        bool isEvenTimestep,
+                                                        unsigned int* posCSWB, 
+                                                        unsigned int* posFSWB, 
+                                                        unsigned int kCF, 
+                                                        real omCoarse, 
+                                                        real omFine, 
+                                                        real nu, 
+                                                        unsigned int nxC, 
+                                                        unsigned int nyC, 
+                                                        unsigned int nxF, 
+                                                        unsigned int nyF,
+                                                        ICellNeigh offCF)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -11127,26 +11127,26 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
    real        a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz, axyz, bxyz, cxyz;
    real        d0, dx, dy, dz, dxy, dxz, dyz, dxyz;
    real        x,y,z;
-	//////////////////////////////////////////////////////////////////////////////////////
-    real	mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca;
-	//real wadjust;
-	//real qudricLimitP = 0.01f;// * 0.0001f;
-	//real qudricLimitM = 0.01f;// * 0.0001f;
-	//real qudricLimitD = 0.01f;// * 0.001f;
-	//real omega = omCoarse;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	real NeqOn = c1o1;
-	real drho, rho;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//real OxxPyyPzz;
-	//real OxyyPxzz;
-	//real OxyyMxzz;
-	//real Oxyz    ;
-	//real O4, O5, O6;
-	//real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////////////////
+    real    mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca;
+    //real wadjust;
+    //real qudricLimitP = 0.01f;// * 0.0001f;
+    //real qudricLimitM = 0.01f;// * 0.0001f;
+    //real qudricLimitD = 0.01f;// * 0.001f;
+    //real omega = omCoarse;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+    real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+    real NeqOn = c1o1;
+    real drho, rho;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //real OxxPyyPzz;
+    //real OxyyPxzz;
+    //real OxyyMxzz;
+    //real Oxyz    ;
+    //real O4, O5, O6;
+    //real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 
@@ -11212,8 +11212,8 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-	  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-	  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+      vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+      vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
@@ -11221,306 +11221,306 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
       kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SWB    = mfbbb;
-			real mxxyPyzz_SWB = mxxyPyzz;
-			real mxxyMyzz_SWB = mxxyMyzz;
-			real mxxzPyyz_SWB = mxxzPyyz;
-			real mxxzMyyz_SWB = mxxzMyyz;
-			real mxyyPxzz_SWB = mxyyPxzz;
-			real mxyyMxzz_SWB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SWB    = mfbbb;
+            real mxxyPyzz_SWB = mxxyPyzz;
+            real mxxyMyzz_SWB = mxxyMyzz;
+            real mxxzPyyz_SWB = mxxzPyyz;
+            real mxxzMyyz_SWB = mxxzMyyz;
+            real mxyyPxzz_SWB = mxyyPxzz;
+            real mxyyMxzz_SWB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -11618,8 +11618,8 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-	  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-	  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+      vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+      vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
       kyzFromfcNEQ_SWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
@@ -11627,306 +11627,306 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
       kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SWT    = mfbbb;
-			real mxxyPyzz_SWT = mxxyPyzz;
-			real mxxyMyzz_SWT = mxxyMyzz;
-			real mxxzPyyz_SWT = mxxzPyyz;
-			real mxxzMyyz_SWT = mxxzMyyz;
-			real mxyyPxzz_SWT = mxyyPxzz;
-			real mxyyMxzz_SWT = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SWT    = mfbbb;
+            real mxxyPyzz_SWT = mxxyPyzz;
+            real mxxyMyzz_SWT = mxxyMyzz;
+            real mxxzPyyz_SWT = mxxzPyyz;
+            real mxxzMyyz_SWT = mxxzMyyz;
+            real mxyyPxzz_SWT = mxyyPxzz;
+            real mxyyMxzz_SWT = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -12025,8 +12025,8 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-	  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-	  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+      vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+      vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
       kyzFromfcNEQ_SET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
@@ -12034,306 +12034,306 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
       kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SET    = mfbbb;
-			real mxxyPyzz_SET = mxxyPyzz;
-			real mxxyMyzz_SET = mxxyMyzz;
-			real mxxzPyyz_SET = mxxzPyyz;
-			real mxxzMyyz_SET = mxxzMyyz;
-			real mxyyPxzz_SET = mxyyPxzz;
-			real mxyyMxzz_SET = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SET    = mfbbb;
+            real mxxyPyzz_SET = mxxyPyzz;
+            real mxxyMyzz_SET = mxxyMyzz;
+            real mxxzPyyz_SET = mxxzPyyz;
+            real mxxzMyyz_SET = mxxzMyyz;
+            real mxyyPxzz_SET = mxyyPxzz;
+            real mxyyMxzz_SET = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -12432,8 +12432,8 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-	  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-	  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+      vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+      vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
       kyzFromfcNEQ_SEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
@@ -12441,306 +12441,306 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
       kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SEB    = mfbbb;
-			real mxxyPyzz_SEB = mxxyPyzz;
-			real mxxyMyzz_SEB = mxxyMyzz;
-			real mxxzPyyz_SEB = mxxzPyyz;
-			real mxxzMyyz_SEB = mxxzMyyz;
-			real mxyyPxzz_SEB = mxyyPxzz;
-			real mxyyMxzz_SEB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SEB    = mfbbb;
+            real mxxyPyzz_SEB = mxxyPyzz;
+            real mxxyMyzz_SEB = mxxyMyzz;
+            real mxxzPyyz_SEB = mxxzPyyz;
+            real mxxzMyyz_SEB = mxxzMyyz;
+            real mxyyPxzz_SEB = mxyyPxzz;
+            real mxyyMxzz_SEB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -12849,8 +12849,8 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-	  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-	  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+      vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+      vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
       kyzFromfcNEQ_NWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
@@ -12858,306 +12858,306 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
       kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NWB    = mfbbb;
-			real mxxyPyzz_NWB = mxxyPyzz;
-			real mxxyMyzz_NWB = mxxyMyzz;
-			real mxxzPyyz_NWB = mxxzPyyz;
-			real mxxzMyyz_NWB = mxxzMyyz;
-			real mxyyPxzz_NWB = mxyyPxzz;
-			real mxyyMxzz_NWB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NWB    = mfbbb;
+            real mxxyPyzz_NWB = mxxyPyzz;
+            real mxxyMyzz_NWB = mxxyMyzz;
+            real mxxzPyyz_NWB = mxxzPyyz;
+            real mxxzMyyz_NWB = mxxzMyyz;
+            real mxyyPxzz_NWB = mxyyPxzz;
+            real mxyyMxzz_NWB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -13256,8 +13256,8 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-	  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-	  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+      vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+      vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
       kyzFromfcNEQ_NWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
@@ -13265,306 +13265,306 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
       kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NWT    = mfbbb;
-			real mxxyPyzz_NWT = mxxyPyzz;
-			real mxxyMyzz_NWT = mxxyMyzz;
-			real mxxzPyyz_NWT = mxxzPyyz;
-			real mxxzMyyz_NWT = mxxzMyyz;
-			real mxyyPxzz_NWT = mxyyPxzz;
-			real mxyyMxzz_NWT = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NWT    = mfbbb;
+            real mxxyPyzz_NWT = mxxyPyzz;
+            real mxxyMyzz_NWT = mxxyMyzz;
+            real mxxzPyyz_NWT = mxxzPyyz;
+            real mxxzMyyz_NWT = mxxzMyyz;
+            real mxyyPxzz_NWT = mxyyPxzz;
+            real mxyyMxzz_NWT = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -13663,8 +13663,8 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-	  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-	  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+      vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+      vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
       kyzFromfcNEQ_NET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
@@ -13672,306 +13672,306 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
       kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NET    = mfbbb;
-			real mxxyPyzz_NET = mxxyPyzz;
-			real mxxyMyzz_NET = mxxyMyzz;
-			real mxxzPyyz_NET = mxxzPyyz;
-			real mxxzMyyz_NET = mxxzMyyz;
-			real mxyyPxzz_NET = mxyyPxzz;
-			real mxyyMxzz_NET = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NET    = mfbbb;
+            real mxxyPyzz_NET = mxxyPyzz;
+            real mxxyMyzz_NET = mxxyMyzz;
+            real mxxzPyyz_NET = mxxzPyyz;
+            real mxxzMyyz_NET = mxxzMyyz;
+            real mxyyPxzz_NET = mxyyPxzz;
+            real mxyyMxzz_NET = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -14070,8 +14070,8 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-	  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-	  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+      vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+      vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
       kyzFromfcNEQ_NEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
@@ -14079,306 +14079,306 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
       kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NEB    = mfbbb;
-			real mxxyPyzz_NEB = mxxyPyzz;
-			real mxxyMyzz_NEB = mxxyMyzz;
-			real mxxzPyyz_NEB = mxxzPyyz;
-			real mxxzMyyz_NEB = mxxzMyyz;
-			real mxyyPxzz_NEB = mxyyPxzz;
-			real mxyyMxzz_NEB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NEB    = mfbbb;
+            real mxxyPyzz_NEB = mxxyPyzz;
+            real mxxyMyzz_NEB = mxxyMyzz;
+            real mxxzPyyz_NEB = mxxzPyyz;
+            real mxxzMyyz_NEB = mxxzMyyz;
+            real mxyyPxzz_NEB = mxyyPxzz;
+            real mxyyMxzz_NEB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -14435,54 +14435,54 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mfbbbMean    = c1o8 * (mfbbb_SWB    + mfbbb_SWT    + mfbbb_SET    + mfbbb_SEB    + mfbbb_NWB    + mfbbb_NWT    + mfbbb_NET    + mfbbb_NEB);
-	  real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB);
-	  real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB);
-	  real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB);
-	  real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB);
-	  real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB);
-	  real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB);
+      real mfbbbMean    = c1o8 * (mfbbb_SWB    + mfbbb_SWT    + mfbbb_SET    + mfbbb_SEB    + mfbbb_NWB    + mfbbb_NWT    + mfbbb_NET    + mfbbb_NEB);
+      real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB);
+      real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB);
+      real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB);
+      real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB);
+      real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB);
+      real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB);
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
+      //  kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
@@ -14603,94 +14603,94 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage	     = c0o1;
-	  real kyzAverage	     = c0o1;
-	  real kxzAverage	     = c0o1;
-	  real kxxMyyAverage	 = c0o1;
-	  real kxxMzzAverage	 = c0o1;
-	  //real kxyAverage	 =(kxyFromfcNEQ_SWB+
-			//				   kxyFromfcNEQ_SWT+
-			//				   kxyFromfcNEQ_SET+
-			//				   kxyFromfcNEQ_SEB+
-			//				   kxyFromfcNEQ_NWB+
-			//				   kxyFromfcNEQ_NWT+
-			//				   kxyFromfcNEQ_NET+
-			//				   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  //real kyzAverage	 =(kyzFromfcNEQ_SWB+
-			//				   kyzFromfcNEQ_SWT+
-			//				   kyzFromfcNEQ_SET+
-			//				   kyzFromfcNEQ_SEB+
-			//				   kyzFromfcNEQ_NWB+
-			//				   kyzFromfcNEQ_NWT+
-			//				   kyzFromfcNEQ_NET+
-			//				   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  //real kxzAverage	 =(kxzFromfcNEQ_SWB+
-			//				   kxzFromfcNEQ_SWT+
-			//				   kxzFromfcNEQ_SET+
-			//				   kxzFromfcNEQ_SEB+
-			//				   kxzFromfcNEQ_NWB+
-			//				   kxzFromfcNEQ_NWT+
-			//				   kxzFromfcNEQ_NET+
-			//				   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  //real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-			//				   kxxMyyFromfcNEQ_SWT+
-			//				   kxxMyyFromfcNEQ_SET+
-			//				   kxxMyyFromfcNEQ_SEB+
-			//				   kxxMyyFromfcNEQ_NWB+
-			//				   kxxMyyFromfcNEQ_NWT+
-			//				   kxxMyyFromfcNEQ_NET+
-			//				   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  //real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-			//				   kxxMzzFromfcNEQ_SWT+
-			//				   kxxMzzFromfcNEQ_SET+
-			//				   kxxMzzFromfcNEQ_SEB+
-			//				   kxxMzzFromfcNEQ_NWB+
-			//				   kxxMzzFromfcNEQ_NWT+
-			//				   kxxMzzFromfcNEQ_NET+
-			//				   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
-	  d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-	  dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-  	//  d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage         = c0o1;
+      real kyzAverage         = c0o1;
+      real kxzAverage         = c0o1;
+      real kxxMyyAverage     = c0o1;
+      real kxxMzzAverage     = c0o1;
+      //real kxyAverage     =(kxyFromfcNEQ_SWB+
+            //                   kxyFromfcNEQ_SWT+
+            //                   kxyFromfcNEQ_SET+
+            //                   kxyFromfcNEQ_SEB+
+            //                   kxyFromfcNEQ_NWB+
+            //                   kxyFromfcNEQ_NWT+
+            //                   kxyFromfcNEQ_NET+
+            //                   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      //real kyzAverage     =(kyzFromfcNEQ_SWB+
+            //                   kyzFromfcNEQ_SWT+
+            //                   kyzFromfcNEQ_SET+
+            //                   kyzFromfcNEQ_SEB+
+            //                   kyzFromfcNEQ_NWB+
+            //                   kyzFromfcNEQ_NWT+
+            //                   kyzFromfcNEQ_NET+
+            //                   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      //real kxzAverage     =(kxzFromfcNEQ_SWB+
+            //                   kxzFromfcNEQ_SWT+
+            //                   kxzFromfcNEQ_SET+
+            //                   kxzFromfcNEQ_SEB+
+            //                   kxzFromfcNEQ_NWB+
+            //                   kxzFromfcNEQ_NWT+
+            //                   kxzFromfcNEQ_NET+
+            //                   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      //real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+            //                   kxxMyyFromfcNEQ_SWT+
+            //                   kxxMyyFromfcNEQ_SET+
+            //                   kxxMyyFromfcNEQ_SEB+
+            //                   kxxMyyFromfcNEQ_NWB+
+            //                   kxxMyyFromfcNEQ_NWT+
+            //                   kxxMyyFromfcNEQ_NET+
+            //                   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      //real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+            //                   kxxMzzFromfcNEQ_SWT+
+            //                   kxxMzzFromfcNEQ_SET+
+            //                   kxxMzzFromfcNEQ_SEB+
+            //                   kxxMzzFromfcNEQ_NWB+
+            //                   kxxMzzFromfcNEQ_NWT+
+            //                   kxxMzzFromfcNEQ_NET+
+            //                   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
+      d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+      dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //  d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
       ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
@@ -14703,3089 +14703,3089 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
-	  dx = dx + yoff * dxy + zoff * dxz;
-	  dy = dy + xoff * dxy + zoff * dyz;
-	  dz = dz + xoff * dxz + yoff * dyz;
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //ax=zero;
-	  //ay=zero;
-	  //az=zero;
-	  //axx=zero;
-	  //ayy=zero;
-	  //azz=zero;
-	  //axy=zero;
-	  //axz=zero;
-	  //ayz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  //axyz=zero;
-	  //bxyz=zero;
-	  //cxyz=zero;
-	  //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //b0=zero;
-	  //c0=c1o100;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  ////real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  ////real O3 = two - o;
-	  ////real residu, residutmp;
-	  ////residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  //real NeqOn = one;//zero;//one;   //.... one = on ..... zero = off 
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
-	  mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= posFSWB[k];
-	  k0w   = neighborFX[k0zero];
-	  k0s   = neighborFY[k0zero];
-	  k0b   = neighborFZ[k0zero];
-	  k0sw  = neighborFY[k0w];
-	  k0bw  = neighborFZ[k0w];
-	  k0bs  = neighborFZ[k0s];
-	  k0bsw = neighborFZ[k0sw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
-	  mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
-	  mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
-	  mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
-	  mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= k0s;
-	  k0w   = k0sw;
-	  k0s   = neighborFY[k0s];
-	  k0b   = k0bs;
-	  k0sw  = neighborFY[k0sw];
-	  k0bw  = k0bsw;
-	  k0bs  = neighborFY[k0bs];
-	  k0bsw = neighborFY[k0bsw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
-	  mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
-	  mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
-	  mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-   }
-}
-//////////////////////////////////////////////////////////////////////////
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      dx = dx + yoff * dxy + zoff * dxz;
+      dy = dy + xoff * dxy + zoff * dyz;
+      dz = dz + xoff * dxz + yoff * dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //ax=zero;
+      //ay=zero;
+      //az=zero;
+      //axx=zero;
+      //ayy=zero;
+      //azz=zero;
+      //axy=zero;
+      //axz=zero;
+      //ayz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      //axyz=zero;
+      //bxyz=zero;
+      //cxyz=zero;
+      //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //b0=zero;
+      //c0=c1o100;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      ////real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      ////real O3 = two - o;
+      ////real residu, residutmp;
+      ////residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      //real NeqOn = one;//zero;//one;   //.... one = on ..... zero = off 
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
+      mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
+      mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
+      mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
+      mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
+      mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
+      mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= posFSWB[k];
+      k0w   = neighborFX[k0zero];
+      k0s   = neighborFY[k0zero];
+      k0b   = neighborFZ[k0zero];
+      k0sw  = neighborFY[k0w];
+      k0bw  = neighborFZ[k0w];
+      k0bs  = neighborFZ[k0s];
+      k0bsw = neighborFZ[k0sw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
+      mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
+      mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
+      mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
+      mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
+      mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
+      mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
+      mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
+      mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
+      mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
+      mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
+      mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
+      mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
+      mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
+      mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
+      mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
+      mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
+      mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
+      mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
+      mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
+      mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
+      mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
+      mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
+      mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
+      mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= k0s;
+      k0w   = k0sw;
+      k0s   = neighborFY[k0s];
+      k0b   = k0bs;
+      k0sw  = neighborFY[k0sw];
+      k0bw  = k0bsw;
+      k0bs  = neighborFY[k0bs];
+      k0bsw = neighborFY[k0bsw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
+      mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
+      mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
+      mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
+      mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
+      mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
+      mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
+      mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
+      mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
+      mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
+      mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
+      mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
+      mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      mfbbb    = c1o2 * (( omFine + c12o1)*(-omCoarse + c2o1)) / ((omCoarse  + c12o1)*(-omFine + c2o1)) * mfbbbMean;
+      mxxyPyzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxyPyzzMean;
+      mxxyMyzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxyMyzzMean;
+      mxxzPyyz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxxzPyyzMean;
+      mxxzMyyz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxxzMyyzMean;
+      mxyyPxzz = c1o2 * ((-omFine + c3o1 )*(-omCoarse + c2o1)) / ((-omCoarse + c3o1 )*(-omFine + c2o1)) * mxyyPxzzMean;
+      mxyyMxzz = c1o2 * ((-omFine + c6o1   )*(-omCoarse + c2o1)) / ((-omCoarse + c6o1   )*(-omFine + c2o1)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+   }
+}
+//////////////////////////////////////////////////////////////////////////
 
 
 
@@ -17842,27 +17842,27 @@ __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleCF_RhoSq_comp_27(real* DC, 
-												 real* DF, 
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posCSWB, 
-												 unsigned int* posFSWB, 
-												 unsigned int kCF, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offCF)
+                                                 real* DF, 
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posCSWB, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kCF, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offCF)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -18071,8 +18071,8 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
                    ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) +
                      f_ZERO;
       vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-	  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-	  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+      vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+      vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
@@ -18127,8 +18127,8 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
                     ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) +
                       f_ZERO;
       vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-	  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-	  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+      vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+      vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
       kyzFromfcNEQ_SWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
@@ -18183,8 +18183,8 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
                     ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) +
                       f_ZERO;
       vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-	  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-	  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+      vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+      vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
       kyzFromfcNEQ_SET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
@@ -18239,8 +18239,8 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
                     ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) +
                       f_ZERO;
       vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-	  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-	  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+      vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+      vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
       kyzFromfcNEQ_SEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
@@ -18305,8 +18305,8 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
                    ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) +
                      f_ZERO;
       vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-	  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-	  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+      vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+      vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
       kyzFromfcNEQ_NWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
@@ -18361,8 +18361,8 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
                    ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) +
                      f_ZERO;
       vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-	  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-	  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+      vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+      vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
       kyzFromfcNEQ_NWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
@@ -18417,8 +18417,8 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
                    ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) +
                      f_ZERO;
       vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-	  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-	  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+      vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+      vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
       kyzFromfcNEQ_NET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
@@ -18473,8 +18473,8 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
                    ((f_W + f_E) + (f_S + f_N) + (f_B + f_T))) +
                    f_ZERO;
       vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-	  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-	  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+      vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+      vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
       kyzFromfcNEQ_NEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
@@ -18483,46 +18483,46 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
       kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
+      //  kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
@@ -18643,94 +18643,94 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
       cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage	     = c0o1;
-	  real kyzAverage	     = c0o1;
-	  real kxzAverage	     = c0o1;
-	  real kxxMyyAverage	 = c0o1;
-	  real kxxMzzAverage	 = c0o1;
-	  //real kxyAverage	 =(kxyFromfcNEQ_SWB+
-			//				   kxyFromfcNEQ_SWT+
-			//				   kxyFromfcNEQ_SET+
-			//				   kxyFromfcNEQ_SEB+
-			//				   kxyFromfcNEQ_NWB+
-			//				   kxyFromfcNEQ_NWT+
-			//				   kxyFromfcNEQ_NET+
-			//				   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  //real kyzAverage	 =(kyzFromfcNEQ_SWB+
-			//				   kyzFromfcNEQ_SWT+
-			//				   kyzFromfcNEQ_SET+
-			//				   kyzFromfcNEQ_SEB+
-			//				   kyzFromfcNEQ_NWB+
-			//				   kyzFromfcNEQ_NWT+
-			//				   kyzFromfcNEQ_NET+
-			//				   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  //real kxzAverage	 =(kxzFromfcNEQ_SWB+
-			//				   kxzFromfcNEQ_SWT+
-			//				   kxzFromfcNEQ_SET+
-			//				   kxzFromfcNEQ_SEB+
-			//				   kxzFromfcNEQ_NWB+
-			//				   kxzFromfcNEQ_NWT+
-			//				   kxzFromfcNEQ_NET+
-			//				   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  //real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-			//				   kxxMyyFromfcNEQ_SWT+
-			//				   kxxMyyFromfcNEQ_SET+
-			//				   kxxMyyFromfcNEQ_SEB+
-			//				   kxxMyyFromfcNEQ_NWB+
-			//				   kxxMyyFromfcNEQ_NWT+
-			//				   kxxMyyFromfcNEQ_NET+
-			//				   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  //real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-			//				   kxxMzzFromfcNEQ_SWT+
-			//				   kxxMzzFromfcNEQ_SET+
-			//				   kxxMzzFromfcNEQ_SEB+
-			//				   kxxMzzFromfcNEQ_NWB+
-			//				   kxxMzzFromfcNEQ_NWT+
-			//				   kxxMzzFromfcNEQ_NET+
-			//				   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
-	  d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-	  dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-  	//  d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage         = c0o1;
+      real kyzAverage         = c0o1;
+      real kxzAverage         = c0o1;
+      real kxxMyyAverage     = c0o1;
+      real kxxMzzAverage     = c0o1;
+      //real kxyAverage     =(kxyFromfcNEQ_SWB+
+            //                   kxyFromfcNEQ_SWT+
+            //                   kxyFromfcNEQ_SET+
+            //                   kxyFromfcNEQ_SEB+
+            //                   kxyFromfcNEQ_NWB+
+            //                   kxyFromfcNEQ_NWT+
+            //                   kxyFromfcNEQ_NET+
+            //                   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      //real kyzAverage     =(kyzFromfcNEQ_SWB+
+            //                   kyzFromfcNEQ_SWT+
+            //                   kyzFromfcNEQ_SET+
+            //                   kyzFromfcNEQ_SEB+
+            //                   kyzFromfcNEQ_NWB+
+            //                   kyzFromfcNEQ_NWT+
+            //                   kyzFromfcNEQ_NET+
+            //                   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      //real kxzAverage     =(kxzFromfcNEQ_SWB+
+            //                   kxzFromfcNEQ_SWT+
+            //                   kxzFromfcNEQ_SET+
+            //                   kxzFromfcNEQ_SEB+
+            //                   kxzFromfcNEQ_NWB+
+            //                   kxzFromfcNEQ_NWT+
+            //                   kxzFromfcNEQ_NET+
+            //                   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      //real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+            //                   kxxMyyFromfcNEQ_SWT+
+            //                   kxxMyyFromfcNEQ_SET+
+            //                   kxxMyyFromfcNEQ_SEB+
+            //                   kxxMyyFromfcNEQ_NWB+
+            //                   kxxMyyFromfcNEQ_NWT+
+            //                   kxxMyyFromfcNEQ_NET+
+            //                   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      //real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+            //                   kxxMzzFromfcNEQ_SWT+
+            //                   kxxMzzFromfcNEQ_SET+
+            //                   kxxMzzFromfcNEQ_SEB+
+            //                   kxxMzzFromfcNEQ_NWB+
+            //                   kxxMzzFromfcNEQ_NWT+
+            //                   kxxMzzFromfcNEQ_NET+
+            //                   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
+      d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+      dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //  d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
       ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
@@ -18743,3339 +18743,3339 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
-	  dx = dx + yoff * dxy + zoff * dxz;
-	  dy = dy + xoff * dxy + zoff * dyz;
-	  dz = dz + xoff * dxz + yoff * dyz;
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //ax=zero;
-	  //ay=zero;
-	  //az=zero;
-	  //axx=zero;
-	  //ayy=zero;
-	  //azz=zero;
-	  //axy=zero;
-	  //axz=zero;
-	  //ayz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  //axyz=zero;
-	  //bxyz=zero;
-	  //cxyz=zero;
-	  //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //b0=zero;
-	  //c0=c1o100;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = two - o;
-	  //real residu, residutmp;
-	  //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y 
-	              - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y 
-	              - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y 
-	              + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y 
-	              + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= posFSWB[k];
-	  k0w   = neighborFX[k0zero];
-	  k0s   = neighborFY[k0zero];
-	  k0b   = neighborFZ[k0zero];
-	  k0sw  = neighborFY[k0w];
-	  k0bw  = neighborFZ[k0w];
-	  k0bs  = neighborFZ[k0s];
-	  k0bsw = neighborFZ[k0sw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= k0s;
-	  k0w   = k0sw;
-	  k0s   = neighborFY[k0s];
-	  k0b   = k0bs;
-	  k0sw  = neighborFY[k0sw];
-	  k0bw  = k0bsw;
-	  k0bs  = neighborFY[k0bs];
-	  k0bsw = neighborFY[k0bsw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-   }
-}
-//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      dx = dx + yoff * dxy + zoff * dxz;
+      dy = dy + xoff * dxy + zoff * dyz;
+      dz = dz + xoff * dxz + yoff * dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //ax=zero;
+      //ay=zero;
+      //az=zero;
+      //axx=zero;
+      //ayy=zero;
+      //azz=zero;
+      //axy=zero;
+      //axz=zero;
+      //ayz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      //axyz=zero;
+      //bxyz=zero;
+      //cxyz=zero;
+      //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //b0=zero;
+      //c0=c1o100;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = two - o;
+      //real residu, residutmp;
+      //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y 
+                  - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y 
+                  - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y 
+                  + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y 
+                  + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= posFSWB[k];
+      k0w   = neighborFX[k0zero];
+      k0s   = neighborFY[k0zero];
+      k0b   = neighborFZ[k0zero];
+      k0sw  = neighborFY[k0w];
+      k0bw  = neighborFZ[k0w];
+      k0bs  = neighborFZ[k0s];
+      k0bsw = neighborFZ[k0sw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= k0s;
+      k0w   = k0sw;
+      k0s   = neighborFY[k0s];
+      k0b   = k0bs;
+      k0sw  = neighborFY[k0sw];
+      k0bw  = k0bsw;
+      k0bs  = neighborFY[k0bs];
+      k0bsw = neighborFY[k0bsw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz + c3o1*x*x*LapRho ;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+   }
+}
+//////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
 
 
 
@@ -22126,27 +22126,27 @@ __global__ void scaleCF_RhoSq_comp_27(real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleCF_staggered_time_comp_27(   real* DC, 
-															 real* DF, 
-															 unsigned int* neighborCX,
-															 unsigned int* neighborCY,
-															 unsigned int* neighborCZ,
-															 unsigned int* neighborFX,
-															 unsigned int* neighborFY,
-															 unsigned int* neighborFZ,
-															 unsigned long long numberOfLBnodesCoarse, 
-															 unsigned long long numberOfLBnodesFine, 
-															 bool isEvenTimestep,
-															 unsigned int* posCSWB, 
-															 unsigned int* posFSWB, 
-															 unsigned int kCF, 
-															 real omCoarse, 
-															 real omFine, 
-															 real nu, 
-															 unsigned int nxC, 
-															 unsigned int nyC, 
-															 unsigned int nxF, 
-															 unsigned int nyF,
-															 ICellNeigh offCF)
+                                                             real* DF, 
+                                                             unsigned int* neighborCX,
+                                                             unsigned int* neighborCY,
+                                                             unsigned int* neighborCZ,
+                                                             unsigned int* neighborFX,
+                                                             unsigned int* neighborFY,
+                                                             unsigned int* neighborFZ,
+                                                             unsigned long long numberOfLBnodesCoarse, 
+                                                             unsigned long long numberOfLBnodesFine, 
+                                                             bool isEvenTimestep,
+                                                             unsigned int* posCSWB, 
+                                                             unsigned int* posFSWB, 
+                                                             unsigned int kCF, 
+                                                             real omCoarse, 
+                                                             real omFine, 
+                                                             real nu, 
+                                                             unsigned int nxC, 
+                                                             unsigned int nyC, 
+                                                             unsigned int nxF, 
+                                                             unsigned int nyF,
+                                                             ICellNeigh offCF)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -22351,8 +22351,8 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
 
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W));
-	  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
-	  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
+      vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
+      vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_SWB*vx2_SWB)   /(c1o1 + drho_SWB)));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_SWB*vx3_SWB)   /(c1o1 + drho_SWB)));
@@ -22403,8 +22403,8 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
 
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W));
-	  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
-	  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
+      vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
+      vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_SWT*vx2_SWT)  /(c1o1 + drho_SWT)));
       kyzFromfcNEQ_SWT    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_SWT*vx3_SWT)  /(c1o1 + drho_SWT)));
@@ -22455,8 +22455,8 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
 
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W));
-	  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
-	  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
+      vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
+      vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_SET*vx2_SET)   /(c1o1 + drho_SET)));
       kyzFromfcNEQ_SET    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_SET*vx3_SET)   /(c1o1 + drho_SET)));
@@ -22507,8 +22507,8 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
 
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W));
-	  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
-	  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
+      vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
+      vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_SEB*vx2_SEB)   /(c1o1 + drho_SEB)));
       kyzFromfcNEQ_SEB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_SEB*vx3_SEB)   /(c1o1 + drho_SEB)));
@@ -22569,8 +22569,8 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
 
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W));
-	  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
-	  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
+      vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
+      vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_NWB*vx2_NWB)   /(c1o1 + drho_NWB)));
       kyzFromfcNEQ_NWB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_NWB*vx3_NWB)   /(c1o1 + drho_NWB)));
@@ -22621,8 +22621,8 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
 
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W));
-	  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
-	  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
+      vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
+      vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_NWT*vx2_NWT)   /(c1o1 + drho_NWT)));
       kyzFromfcNEQ_NWT    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_NWT*vx3_NWT)   /(c1o1 + drho_NWT)));
@@ -22673,8 +22673,8 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
 
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W));
-	  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
-	  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
+      vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
+      vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_NET*vx2_NET)   /(c1o1 + drho_NET)));
       kyzFromfcNEQ_NET    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_NET*vx3_NET)   /(c1o1 + drho_NET)));
@@ -22725,8 +22725,8 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
 
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W));
-	  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
-	  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
+      vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S));
+      vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B));
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-((vx1_NEB*vx2_NEB)   /(c1o1 + drho_NEB)));
       kyzFromfcNEQ_NEB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-((vx2_NEB*vx3_NEB)   /(c1o1 + drho_NEB)));
@@ -22735,46 +22735,46 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
       kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)/(c1o1 + drho_NEB)));
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
+      //  kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
@@ -22895,88 +22895,88 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
       cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage	 =(kxyFromfcNEQ_SWB+
-							   kxyFromfcNEQ_SWT+
-							   kxyFromfcNEQ_SET+
-							   kxyFromfcNEQ_SEB+
-							   kxyFromfcNEQ_NWB+
-							   kxyFromfcNEQ_NWT+
-							   kxyFromfcNEQ_NET+
-							   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  real kyzAverage	 =(kyzFromfcNEQ_SWB+
-							   kyzFromfcNEQ_SWT+
-							   kyzFromfcNEQ_SET+
-							   kyzFromfcNEQ_SEB+
-							   kyzFromfcNEQ_NWB+
-							   kyzFromfcNEQ_NWT+
-							   kyzFromfcNEQ_NET+
-							   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  real kxzAverage	 =(kxzFromfcNEQ_SWB+
-							   kxzFromfcNEQ_SWT+
-							   kxzFromfcNEQ_SET+
-							   kxzFromfcNEQ_SEB+
-							   kxzFromfcNEQ_NWB+
-							   kxzFromfcNEQ_NWT+
-							   kxzFromfcNEQ_NET+
-							   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-							   kxxMyyFromfcNEQ_SWT+
-							   kxxMyyFromfcNEQ_SET+
-							   kxxMyyFromfcNEQ_SEB+
-							   kxxMyyFromfcNEQ_NWB+
-							   kxxMyyFromfcNEQ_NWT+
-							   kxxMyyFromfcNEQ_NET+
-							   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-							   kxxMzzFromfcNEQ_SWT+
-							   kxxMzzFromfcNEQ_SET+
-							   kxxMzzFromfcNEQ_SEB+
-							   kxxMzzFromfcNEQ_NWB+
-							   kxxMzzFromfcNEQ_NWT+
-							   kxxMzzFromfcNEQ_NET+
-							   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-	  dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-  	//  d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage     =(kxyFromfcNEQ_SWB+
+                               kxyFromfcNEQ_SWT+
+                               kxyFromfcNEQ_SET+
+                               kxyFromfcNEQ_SEB+
+                               kxyFromfcNEQ_NWB+
+                               kxyFromfcNEQ_NWT+
+                               kxyFromfcNEQ_NET+
+                               kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      real kyzAverage     =(kyzFromfcNEQ_SWB+
+                               kyzFromfcNEQ_SWT+
+                               kyzFromfcNEQ_SET+
+                               kyzFromfcNEQ_SEB+
+                               kyzFromfcNEQ_NWB+
+                               kyzFromfcNEQ_NWT+
+                               kyzFromfcNEQ_NET+
+                               kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      real kxzAverage     =(kxzFromfcNEQ_SWB+
+                               kxzFromfcNEQ_SWT+
+                               kxzFromfcNEQ_SET+
+                               kxzFromfcNEQ_SEB+
+                               kxzFromfcNEQ_NWB+
+                               kxzFromfcNEQ_NWT+
+                               kxzFromfcNEQ_NET+
+                               kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+                               kxxMyyFromfcNEQ_SWT+
+                               kxxMyyFromfcNEQ_SET+
+                               kxxMyyFromfcNEQ_SEB+
+                               kxxMyyFromfcNEQ_NWB+
+                               kxxMyyFromfcNEQ_NWT+
+                               kxxMyyFromfcNEQ_NET+
+                               kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+                               kxxMzzFromfcNEQ_SWT+
+                               kxxMzzFromfcNEQ_SET+
+                               kxxMzzFromfcNEQ_SEB+
+                               kxxMzzFromfcNEQ_NWB+
+                               kxxMzzFromfcNEQ_NWT+
+                               kxxMzzFromfcNEQ_NET+
+                               kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+      dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //  d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
       ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
@@ -22989,3328 +22989,3328 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
-	  dx = dx + yoff * dxy + zoff * dxz;
-	  dy = dy + xoff * dxy + zoff * dyz;
-	  dz = dz + xoff * dxz + yoff * dyz;
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //ax=zero;
-	  //ay=zero;
-	  //az=zero;
-	  //axx=zero;
-	  //ayy=zero;
-	  //azz=zero;
-	  //axy=zero;
-	  //axz=zero;
-	  //ayz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  //axyz=zero;
-	  //bxyz=zero;
-	  //cxyz=zero;
-	  //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //b0=zero;
-	  //c0=c1o100;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = two - o;
-	  //real residu, residutmp;
-	  //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= posFSWB[k];
-	  k0w   = neighborFX[k0zero];
-	  k0s   = neighborFY[k0zero];
-	  k0b   = neighborFZ[k0zero];
-	  k0sw  = neighborFY[k0w];
-	  k0bw  = neighborFZ[k0w];
-	  k0bs  = neighborFZ[k0s];
-	  k0bsw = neighborFZ[k0sw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= k0s;
-	  k0w   = k0sw;
-	  k0s   = neighborFY[k0s];
-	  k0b   = k0bs;
-	  k0sw  = neighborFY[k0sw];
-	  k0bw  = k0bsw;
-	  k0bs  = neighborFY[k0bs];
-	  k0bsw = neighborFY[k0bsw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-   }
-}
-//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      dx = dx + yoff * dxy + zoff * dxz;
+      dy = dy + xoff * dxy + zoff * dyz;
+      dz = dz + xoff * dxz + yoff * dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //ax=zero;
+      //ay=zero;
+      //az=zero;
+      //axx=zero;
+      //ayy=zero;
+      //azz=zero;
+      //axy=zero;
+      //axz=zero;
+      //ayz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      //axyz=zero;
+      //bxyz=zero;
+      //cxyz=zero;
+      //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //b0=zero;
+      //c0=c1o100;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = two - o;
+      //real residu, residutmp;
+      //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= posFSWB[k];
+      k0w   = neighborFX[k0zero];
+      k0s   = neighborFY[k0zero];
+      k0b   = neighborFZ[k0zero];
+      k0sw  = neighborFY[k0w];
+      k0bw  = neighborFZ[k0w];
+      k0bs  = neighborFZ[k0s];
+      k0bsw = neighborFZ[k0sw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= k0s;
+      k0w   = k0sw;
+      k0s   = neighborFY[k0s];
+      k0b   = k0bs;
+      k0sw  = neighborFY[k0sw];
+      k0bw  = k0bsw;
+      k0bs  = neighborFY[k0bs];
+      k0bsw = neighborFY[k0bsw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz)/(c1o1 + press);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz)/(c1o1 + press);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz)/(c1o1 + press);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+   }
+}
+//////////////////////////////////////////////////////////////////////////
+
+
+
+
+
 
 
 
@@ -26362,27 +26362,27 @@ __global__ void scaleCF_staggered_time_comp_27(   real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleCF_Fix_comp_27(  real* DC, 
-												 real* DF, 
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posCSWB, 
-												 unsigned int* posFSWB, 
-												 unsigned int kCF, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offCF)
+                                                 real* DF, 
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posCSWB, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kCF, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offCF)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -26590,71 +26590,71 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
 
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-	  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-	  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+      vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+      vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_SWB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx2_SWB)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_SWB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx2_SWB)));
       //kyzFromfcNEQ_SWB    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SWB) - ((vx2_SWB*vx3_SWB)));
       //kxzFromfcNEQ_SWB    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx3_SWB)));
       //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
       //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
 
-	  kxyFromfcNEQ_SWB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
-	  kyzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
-	  kxzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB)));
-	  kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx2_SWB*vx2_SWB)));
-	  kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx3_SWB*vx3_SWB)));
-	  kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx2_SWB - vx3_SWB*vx3_SWB)));
-
-	  ////konditioniert
-	  //vvx = vx1_SWB;
-	  //vvy = vx2_SWB;
-	  //vvz = vx3_SWB;
-	  //drho = drho_SWB;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_SWB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_SWB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_SWB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
-
-
-
-	  //////////////////////////////////////////////////////////////////////////
+      kxyFromfcNEQ_SWB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
+      kyzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
+      kxzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB)));
+      kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx2_SWB*vx2_SWB)));
+      kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx3_SWB*vx3_SWB)));
+      kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx2_SWB - vx3_SWB*vx3_SWB)));
+
+      ////konditioniert
+      //vvx = vx1_SWB;
+      //vvy = vx2_SWB;
+      //vvz = vx3_SWB;
+      //drho = drho_SWB;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_SWB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_SWB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_SWB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+
+
+
+      //////////////////////////////////////////////////////////////////////////
       //SWT//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -26697,67 +26697,67 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
 
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-	  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-	  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+      vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+      vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_SWT    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx2_SWT)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_SWT    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx2_SWT)));
       //kyzFromfcNEQ_SWT    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SWT) - ((vx2_SWT*vx3_SWT)));
       //kxzFromfcNEQ_SWT    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx3_SWT)));
       //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
       //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
 
-	  kxyFromfcNEQ_SWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
-	  kyzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
-	  kxzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT)));
-	  kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx2_SWT*vx2_SWT)));
-	  kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx3_SWT*vx3_SWT)));
-	  kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx2_SWT - vx3_SWT*vx3_SWT)));
-
-	  ////konditioniert
-	  //vvx = vx1_SWT;
-	  //vvy = vx2_SWT;
-	  //vvz = vx3_SWT;
-	  //drho = drho_SWT;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_SWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_SWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_SWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_SWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
+      kyzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
+      kxzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT)));
+      kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx2_SWT*vx2_SWT)));
+      kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx3_SWT*vx3_SWT)));
+      kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx2_SWT - vx3_SWT*vx3_SWT)));
+
+      ////konditioniert
+      //vvx = vx1_SWT;
+      //vvy = vx2_SWT;
+      //vvz = vx3_SWT;
+      //drho = drho_SWT;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_SWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_SWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_SWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
 
@@ -26805,72 +26805,72 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
 
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-	  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-	  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+      vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+      vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_SET    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx2_SET)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_SET    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx2_SET)));
       //kyzFromfcNEQ_SET    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SET) - ((vx2_SET*vx3_SET)));
       //kxzFromfcNEQ_SET    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx3_SET)));
       //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
       //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
 
-	  kxyFromfcNEQ_SET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
-	  kyzFromfcNEQ_SET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
-	  kxzFromfcNEQ_SET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET)));
-	  kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx2_SET*vx2_SET)));
-	  kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx3_SET*vx3_SET)));
-	  kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SET) - ((vx2_SET*vx2_SET - vx3_SET*vx3_SET)));
-
-	  ////konditioniert
-	  //vvx = vx1_SET;
-	  //vvy = vx2_SET;
-	  //vvz = vx3_SET;
-	  //drho = drho_SET;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_SET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_SET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_SET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
-
-	  
-	  
-	  
-	  //////////////////////////////////////////////////////////////////////////
+      kxyFromfcNEQ_SET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
+      kyzFromfcNEQ_SET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
+      kxzFromfcNEQ_SET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET)));
+      kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx2_SET*vx2_SET)));
+      kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx3_SET*vx3_SET)));
+      kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SET) - ((vx2_SET*vx2_SET - vx3_SET*vx3_SET)));
+
+      ////konditioniert
+      //vvx = vx1_SET;
+      //vvy = vx2_SET;
+      //vvz = vx3_SET;
+      //drho = drho_SET;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_SET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_SET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_SET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+
+      
+      
+      
+      //////////////////////////////////////////////////////////////////////////
       //SEB//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -26913,67 +26913,67 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
 
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-	  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-	  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+      vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+      vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_SEB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx2_SEB)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_SEB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx2_SEB)));
       //kyzFromfcNEQ_SEB    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SEB) - ((vx2_SEB*vx3_SEB)));
       //kxzFromfcNEQ_SEB    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx3_SEB)));
       //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
       //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
 
-	  kxyFromfcNEQ_SEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
-	  kyzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
-	  kxzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB)));
-	  kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx2_SEB*vx2_SEB)));
-	  kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx3_SEB*vx3_SEB)));
-	  kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx2_SEB - vx3_SEB*vx3_SEB)));
-
-	  ////konditioniert
-	  //vvx = vx1_SEB;
-	  //vvy = vx2_SEB;
-	  //vvz = vx3_SEB;
-	  //drho = drho_SEB;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_SEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_SEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_SEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_SEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
+      kyzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
+      kxzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB)));
+      kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx2_SEB*vx2_SEB)));
+      kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx3_SEB*vx3_SEB)));
+      kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx2_SEB - vx3_SEB*vx3_SEB)));
+
+      ////konditioniert
+      //vvx = vx1_SEB;
+      //vvy = vx2_SEB;
+      //vvz = vx3_SEB;
+      //drho = drho_SEB;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_SEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_SEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_SEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
 
@@ -27031,67 +27031,67 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
 
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-	  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-	  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+      vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+      vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_NWB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWB) - ((vx1_NWB*vx2_NWB)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_NWB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWB) - ((vx1_NWB*vx2_NWB)));
       //kyzFromfcNEQ_NWB    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NWB) - ((vx2_NWB*vx3_NWB)));
       //kxzFromfcNEQ_NWB    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NWB) - ((vx1_NWB*vx3_NWB)));
       //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
       //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
 
-	  kxyFromfcNEQ_NWB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
-	  kyzFromfcNEQ_NWB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
-	  kxzFromfcNEQ_NWB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB)));
-	  kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx2_NWB*vx2_NWB)));
-	  kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx3_NWB*vx3_NWB)));
-	  kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx2_NWB - vx3_NWB*vx3_NWB)));
-
-	  ////konditioniert
-	  //vvx = vx1_NWB;
-	  //vvy = vx2_NWB;
-	  //vvz = vx3_NWB;
-	  //drho = drho_NWB;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_NWB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_NWB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_NWB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_NWB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
+      kyzFromfcNEQ_NWB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
+      kxzFromfcNEQ_NWB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB)));
+      kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx2_NWB*vx2_NWB)));
+      kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx3_NWB*vx3_NWB)));
+      kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx2_NWB - vx3_NWB*vx3_NWB)));
+
+      ////konditioniert
+      //vvx = vx1_NWB;
+      //vvy = vx2_NWB;
+      //vvz = vx3_NWB;
+      //drho = drho_NWB;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_NWB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_NWB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_NWB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
 
@@ -27139,67 +27139,67 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
 
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-	  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-	  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+      vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+      vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_NWT    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx2_NWT)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_NWT    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx2_NWT)));
       //kyzFromfcNEQ_NWT    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NWT) - ((vx2_NWT*vx3_NWT)));
       //kxzFromfcNEQ_NWT    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx3_NWT)));
       //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
       //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
 
-	  kxyFromfcNEQ_NWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
-	  kyzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
-	  kxzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT)));
-	  kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx2_NWT*vx2_NWT)));
-	  kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx3_NWT*vx3_NWT)));
-	  kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx2_NWT - vx3_NWT*vx3_NWT)));
-
-	  ////konditionirt
-	  //vvx = vx1_NWT;
-	  //vvy = vx2_NWT;
-	  //vvz = vx3_NWT;
-	  //drho = drho_NWT;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_NWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_NWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_NWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_NWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
+      kyzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
+      kxzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT)));
+      kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx2_NWT*vx2_NWT)));
+      kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx3_NWT*vx3_NWT)));
+      kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx2_NWT - vx3_NWT*vx3_NWT)));
+
+      ////konditionirt
+      //vvx = vx1_NWT;
+      //vvy = vx2_NWT;
+      //vvz = vx3_NWT;
+      //drho = drho_NWT;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_NWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_NWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_NWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
 
@@ -27247,67 +27247,67 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
 
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-	  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-	  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+      vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+      vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_NET    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx2_NET)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_NET    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx2_NET)));
       //kyzFromfcNEQ_NET    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NET) - ((vx2_NET*vx3_NET)));
       //kxzFromfcNEQ_NET    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx3_NET)));
       //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
       //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
 
-	  kxyFromfcNEQ_NET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
-	  kyzFromfcNEQ_NET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
-	  kxzFromfcNEQ_NET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET)));
-	  kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx2_NET*vx2_NET)));
-	  kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx3_NET*vx3_NET)));
-	  kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NET) - ((vx2_NET*vx2_NET - vx3_NET*vx3_NET)));
-
-	  ////konditionirt
-	  //vvx = vx1_NET;
-	  //vvy = vx2_NET;
-	  //vvz = vx3_NET;
-	  //drho = drho_NET;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_NET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_NET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_NET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_NET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
+      kyzFromfcNEQ_NET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
+      kxzFromfcNEQ_NET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET)));
+      kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx2_NET*vx2_NET)));
+      kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx3_NET*vx3_NET)));
+      kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NET) - ((vx2_NET*vx2_NET - vx3_NET*vx3_NET)));
+
+      ////konditionirt
+      //vvx = vx1_NET;
+      //vvy = vx2_NET;
+      //vvz = vx3_NET;
+      //drho = drho_NET;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_NET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_NET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_NET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
 
@@ -27354,178 +27354,178 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
 
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-	  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-	  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+      vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+      vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_NEB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx2_NEB)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_NEB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx2_NEB)));
       //kyzFromfcNEQ_NEB    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NEB) - ((vx2_NEB*vx3_NEB)));
       //kxzFromfcNEQ_NEB    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx3_NEB)));
       //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
       //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
 
-	  kxyFromfcNEQ_NEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
-	  kyzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
-	  kxzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB)));
-	  kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx2_NEB*vx2_NEB)));
-	  kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx3_NEB*vx3_NEB)));
-	  kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx2_NEB - vx3_NEB*vx3_NEB)));
-
-	  ////konditionirt
-	  //vvx = vx1_NEB;
-	  //vvy = vx2_NEB;
-	  //vvz = vx3_NEB;
-	  //drho = drho_NEB;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_NEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_NEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_NEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
-
-	  
-	  
-	  
-	  
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
+      kxyFromfcNEQ_NEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
+      kyzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
+      kxzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB)));
+      kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx2_NEB*vx2_NEB)));
+      kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx3_NEB*vx3_NEB)));
+      kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx2_NEB - vx3_NEB*vx3_NEB)));
+
+      ////konditionirt
+      //vvx = vx1_NEB;
+      //vvy = vx2_NEB;
+      //vvz = vx3_NEB;
+      //drho = drho_NEB;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_NEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_NEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_NEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+
+      
+      
+      
+      
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
-	  a0 = c1o8*(((vx1_NEB + vx1_NET) + (vx1_NWB + vx1_NWT)) + ((vx1_SEB + vx1_SET) + (vx1_SWB + vx1_SWT)));
-	  ax = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_SEB - vx1_NWT)));
-	  ay = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_NWT - vx1_SEB)));
-	  az = c1o4*(((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_NWT - vx1_SEB)));
-	  axy = c1o2*(((vx1_NEB - vx1_SET) + (vx1_SWB - vx1_NWT)) + ((vx1_SWT - vx1_NWB) + (vx1_NET - vx1_SEB)));
-	  axz = c1o2*(((vx1_SET - vx1_NEB) + (vx1_SWB - vx1_NWT)) + ((vx1_NWB - vx1_SWT) + (vx1_NET - vx1_SEB)));
-	  ayz = c1o2*(((vx1_NET - vx1_NWB) + (vx1_SEB - vx1_SWT)) + ((vx1_NWT - vx1_NEB) + (vx1_SWB - vx1_SET)));
-	  axyz=		  ((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_SEB - vx1_NWT)) ;
-	  b0 = c1o8*(((vx2_NEB + vx2_NET) + (vx2_NWB + vx2_NWT)) + ((vx2_SEB + vx2_SET) + (vx2_SWB + vx2_SWT)));
-	  bx = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT)));
-	  by = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_NWT - vx2_SEB)));
-	  bz = c1o4*(((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB)));
-	  bxy = c1o2*(((vx2_NEB - vx2_NWT) + (vx2_SWB - vx2_SET)) + ((vx2_SWT - vx2_SEB) + (vx2_NET - vx2_NWB)));
-	  bxz = c1o2*(((vx2_SWB - vx2_NEB) + (vx2_SET - vx2_NWT)) + ((vx2_NWB - vx2_SEB) + (vx2_NET - vx2_SWT)));
-	  byz = c1o2*(((vx2_NWT - vx2_NEB) + (vx2_SWB - vx2_SET)) + ((vx2_SEB - vx2_SWT) + (vx2_NET - vx2_NWB)));
-	  bxyz=		  ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_SEB - vx2_NWT)) ;
-	  c0 = c1o8*(((vx3_NEB + vx3_NET) + (vx3_NWB + vx3_NWT)) + ((vx3_SEB + vx3_SET) + (vx3_SWB + vx3_SWT)));
-	  cx = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_SEB - vx3_NWT)));
-	  cy = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_NWT - vx3_SEB)));
-	  cz = c1o4*(((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_NWT - vx3_SEB)));
-	  cxy = c1o2*(((vx3_NEB - vx3_SET) + (vx3_SWB - vx3_NWT)) + ((vx3_SWT - vx3_NWB) + (vx3_NET - vx3_SEB)));
-	  cxz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_SET - vx3_NWT)) + ((vx3_NWB - vx3_SEB) + (vx3_NET - vx3_SWT)));
-	  cyz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_NWT - vx3_SET)) + ((vx3_SEB - vx3_NWB) + (vx3_NET - vx3_SWT)));
-	  cxyz=		  ((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_SEB - vx3_NWT)) ;
-
-	  //bxx = zero;
-	  //cxx = zero;
-	  //ayy = zero;
-	  //cyy = zero;
-	  //azz = zero;
-	  //bzz = zero;
-	  //axx = zero;
-	  //byy = zero;
-	  //czz = zero;
-
-	  bxx = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT)) + ((kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT))) - c1o2*axy;
-	  cxx = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) + (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) + (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*axz;
-
-	  ayy = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT)) - ((kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT) + (kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB))) - c1o2*bxy;
-	  cyy = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) + (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT)) - ((kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT) + (kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB))) - c1o2*byz;
-
-	  azz = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) - (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) - (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*cxz;
-	  bzz = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) - (kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT)) + ((kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB) - (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT))) - c1o2*cyz;
-
-	  axx = (c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) + (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB) + (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT))) - c1o4*bxy)
-		  + (c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) + (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) + ((kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB) + (kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT))) - c1o4*cxz);
-
-	  byy = (-c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) - (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT) - (kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB))) - c1o4*axy)
-		  + (c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) + ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*cyz);
-
-	  czz = (-c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) - (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) - ((kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT) - (kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB))) - c1o4*axz)
-		  + (c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) - ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*byz);
-
-	  a0 -= c1o4*(axx + ayy + azz);
-	  b0 -= c1o4*(bxx + byy + bzz);
-	  c0 -= c1o4*(cxx + cyy + czz);
-
-
-
-
-	  ////////////
-	  //a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT -
+      a0 = c1o8*(((vx1_NEB + vx1_NET) + (vx1_NWB + vx1_NWT)) + ((vx1_SEB + vx1_SET) + (vx1_SWB + vx1_SWT)));
+      ax = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_SEB - vx1_NWT)));
+      ay = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_NWT - vx1_SEB)));
+      az = c1o4*(((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_NWT - vx1_SEB)));
+      axy = c1o2*(((vx1_NEB - vx1_SET) + (vx1_SWB - vx1_NWT)) + ((vx1_SWT - vx1_NWB) + (vx1_NET - vx1_SEB)));
+      axz = c1o2*(((vx1_SET - vx1_NEB) + (vx1_SWB - vx1_NWT)) + ((vx1_NWB - vx1_SWT) + (vx1_NET - vx1_SEB)));
+      ayz = c1o2*(((vx1_NET - vx1_NWB) + (vx1_SEB - vx1_SWT)) + ((vx1_NWT - vx1_NEB) + (vx1_SWB - vx1_SET)));
+      axyz=          ((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_SEB - vx1_NWT)) ;
+      b0 = c1o8*(((vx2_NEB + vx2_NET) + (vx2_NWB + vx2_NWT)) + ((vx2_SEB + vx2_SET) + (vx2_SWB + vx2_SWT)));
+      bx = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT)));
+      by = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_NWT - vx2_SEB)));
+      bz = c1o4*(((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB)));
+      bxy = c1o2*(((vx2_NEB - vx2_NWT) + (vx2_SWB - vx2_SET)) + ((vx2_SWT - vx2_SEB) + (vx2_NET - vx2_NWB)));
+      bxz = c1o2*(((vx2_SWB - vx2_NEB) + (vx2_SET - vx2_NWT)) + ((vx2_NWB - vx2_SEB) + (vx2_NET - vx2_SWT)));
+      byz = c1o2*(((vx2_NWT - vx2_NEB) + (vx2_SWB - vx2_SET)) + ((vx2_SEB - vx2_SWT) + (vx2_NET - vx2_NWB)));
+      bxyz=          ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_SEB - vx2_NWT)) ;
+      c0 = c1o8*(((vx3_NEB + vx3_NET) + (vx3_NWB + vx3_NWT)) + ((vx3_SEB + vx3_SET) + (vx3_SWB + vx3_SWT)));
+      cx = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_SEB - vx3_NWT)));
+      cy = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_NWT - vx3_SEB)));
+      cz = c1o4*(((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_NWT - vx3_SEB)));
+      cxy = c1o2*(((vx3_NEB - vx3_SET) + (vx3_SWB - vx3_NWT)) + ((vx3_SWT - vx3_NWB) + (vx3_NET - vx3_SEB)));
+      cxz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_SET - vx3_NWT)) + ((vx3_NWB - vx3_SEB) + (vx3_NET - vx3_SWT)));
+      cyz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_NWT - vx3_SET)) + ((vx3_SEB - vx3_NWB) + (vx3_NET - vx3_SWT)));
+      cxyz=          ((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_SEB - vx3_NWT)) ;
+
+      //bxx = zero;
+      //cxx = zero;
+      //ayy = zero;
+      //cyy = zero;
+      //azz = zero;
+      //bzz = zero;
+      //axx = zero;
+      //byy = zero;
+      //czz = zero;
+
+      bxx = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT)) + ((kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT))) - c1o2*axy;
+      cxx = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) + (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) + (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*axz;
+
+      ayy = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT)) - ((kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT) + (kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB))) - c1o2*bxy;
+      cyy = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) + (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT)) - ((kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT) + (kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB))) - c1o2*byz;
+
+      azz = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) - (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) - (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*cxz;
+      bzz = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) - (kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT)) + ((kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB) - (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT))) - c1o2*cyz;
+
+      axx = (c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) + (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB) + (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT))) - c1o4*bxy)
+          + (c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) + (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) + ((kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB) + (kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT))) - c1o4*cxz);
+
+      byy = (-c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) - (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT) - (kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB))) - c1o4*axy)
+          + (c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) + ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*cyz);
+
+      czz = (-c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) - (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) - ((kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT) - (kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB))) - c1o4*axz)
+          + (c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) - ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*byz);
+
+      a0 -= c1o4*(axx + ayy + azz);
+      b0 -= c1o4*(bxx + byy + bzz);
+      c0 -= c1o4*(cxx + cyy + czz);
+
+
+
+
+      ////////////
+      //a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT -
    //      kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
    //      kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
    //      kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
@@ -27642,101 +27642,101 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
    //   cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage    = c0o1;
-	  real kyzAverage    = c0o1;
-	  real kxzAverage    = c0o1;
-	  real kxxMyyAverage = c0o1;
-	  real kxxMzzAverage = c0o1;
-
-	  //real kxyAverage	 =(kxyFromfcNEQ_SWB+
-			//				   kxyFromfcNEQ_SWT+
-			//				   kxyFromfcNEQ_SET+
-			//				   kxyFromfcNEQ_SEB+
-			//				   kxyFromfcNEQ_NWB+
-			//				   kxyFromfcNEQ_NWT+
-			//				   kxyFromfcNEQ_NET+
-			//				   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  //real kyzAverage	 =(kyzFromfcNEQ_SWB+
-			//				   kyzFromfcNEQ_SWT+
-			//				   kyzFromfcNEQ_SET+
-			//				   kyzFromfcNEQ_SEB+
-			//				   kyzFromfcNEQ_NWB+
-			//				   kyzFromfcNEQ_NWT+
-			//				   kyzFromfcNEQ_NET+
-			//				   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  //real kxzAverage	 =(kxzFromfcNEQ_SWB+
-			//				   kxzFromfcNEQ_SWT+
-			//				   kxzFromfcNEQ_SET+
-			//				   kxzFromfcNEQ_SEB+
-			//				   kxzFromfcNEQ_NWB+
-			//				   kxzFromfcNEQ_NWT+
-			//				   kxzFromfcNEQ_NET+
-			//				   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  //real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-			//				   kxxMyyFromfcNEQ_SWT+
-			//				   kxxMyyFromfcNEQ_SET+
-			//				   kxxMyyFromfcNEQ_SEB+
-			//				   kxxMyyFromfcNEQ_NWB+
-			//				   kxxMyyFromfcNEQ_NWT+
-			//				   kxxMyyFromfcNEQ_NET+
-			//				   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  //real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-			//				   kxxMzzFromfcNEQ_SWT+
-			//				   kxxMzzFromfcNEQ_SET+
-			//				   kxxMzzFromfcNEQ_SEB+
-			//				   kxxMzzFromfcNEQ_NWB+
-			//				   kxxMzzFromfcNEQ_NWT+
-			//				   kxxMzzFromfcNEQ_NET+
-			//				   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( ((drho_NEB + drho_SWT) + (drho_NWB + drho_SET)) + ((drho_SEB + drho_NWT) + (drho_SWB + drho_NET))) * c1o8;
-	  dx   = ( ((drho_NEB - drho_SWT) + (drho_SEB - drho_NWT)) + ((drho_SET - drho_NWB) + (drho_NET - drho_SWB))) * c1o4;
-	  dy   = ( ((drho_NEB - drho_SWT) + (drho_NWT - drho_SEB)) + ((drho_NWB - drho_SET) + (drho_NET - drho_SWB))) * c1o4;
-	  dz   = ( ((drho_SWT - drho_NEB) + (drho_NET - drho_SWB)) + ((drho_SET - drho_NWB) + (drho_NWT - drho_SEB))) * c1o4;
-	  dxy  = ( ((drho_NEB - drho_SET) + (drho_NET - drho_SEB)) + ((drho_SWT - drho_NWB) + (drho_SWB - drho_NWT))) * c1o2;
-	  dxz  = ( ((drho_SWB - drho_NEB) + (drho_NET - drho_SWT)) + ((drho_NWB - drho_SEB) + (drho_SET - drho_NWT))) * c1o2;
-	  dyz  = ( ((drho_NWT - drho_NEB) + (drho_NET - drho_NWB)) + ((drho_SEB - drho_SWT) + (drho_SWB - drho_SET))) * c1o2;
-	  //d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-	  //dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  //dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  //dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  //dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  //dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  //dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-  	//  d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage    = c0o1;
+      real kyzAverage    = c0o1;
+      real kxzAverage    = c0o1;
+      real kxxMyyAverage = c0o1;
+      real kxxMzzAverage = c0o1;
+
+      //real kxyAverage     =(kxyFromfcNEQ_SWB+
+            //                   kxyFromfcNEQ_SWT+
+            //                   kxyFromfcNEQ_SET+
+            //                   kxyFromfcNEQ_SEB+
+            //                   kxyFromfcNEQ_NWB+
+            //                   kxyFromfcNEQ_NWT+
+            //                   kxyFromfcNEQ_NET+
+            //                   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      //real kyzAverage     =(kyzFromfcNEQ_SWB+
+            //                   kyzFromfcNEQ_SWT+
+            //                   kyzFromfcNEQ_SET+
+            //                   kyzFromfcNEQ_SEB+
+            //                   kyzFromfcNEQ_NWB+
+            //                   kyzFromfcNEQ_NWT+
+            //                   kyzFromfcNEQ_NET+
+            //                   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      //real kxzAverage     =(kxzFromfcNEQ_SWB+
+            //                   kxzFromfcNEQ_SWT+
+            //                   kxzFromfcNEQ_SET+
+            //                   kxzFromfcNEQ_SEB+
+            //                   kxzFromfcNEQ_NWB+
+            //                   kxzFromfcNEQ_NWT+
+            //                   kxzFromfcNEQ_NET+
+            //                   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      //real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+            //                   kxxMyyFromfcNEQ_SWT+
+            //                   kxxMyyFromfcNEQ_SET+
+            //                   kxxMyyFromfcNEQ_SEB+
+            //                   kxxMyyFromfcNEQ_NWB+
+            //                   kxxMyyFromfcNEQ_NWT+
+            //                   kxxMyyFromfcNEQ_NET+
+            //                   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      //real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+            //                   kxxMzzFromfcNEQ_SWT+
+            //                   kxxMzzFromfcNEQ_SET+
+            //                   kxxMzzFromfcNEQ_SEB+
+            //                   kxxMzzFromfcNEQ_NWB+
+            //                   kxxMzzFromfcNEQ_NWT+
+            //                   kxxMzzFromfcNEQ_NET+
+            //                   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      d0   = ( ((drho_NEB + drho_SWT) + (drho_NWB + drho_SET)) + ((drho_SEB + drho_NWT) + (drho_SWB + drho_NET))) * c1o8;
+      dx   = ( ((drho_NEB - drho_SWT) + (drho_SEB - drho_NWT)) + ((drho_SET - drho_NWB) + (drho_NET - drho_SWB))) * c1o4;
+      dy   = ( ((drho_NEB - drho_SWT) + (drho_NWT - drho_SEB)) + ((drho_NWB - drho_SET) + (drho_NET - drho_SWB))) * c1o4;
+      dz   = ( ((drho_SWT - drho_NEB) + (drho_NET - drho_SWB)) + ((drho_SET - drho_NWB) + (drho_NWT - drho_SEB))) * c1o4;
+      dxy  = ( ((drho_NEB - drho_SET) + (drho_NET - drho_SEB)) + ((drho_SWT - drho_NWB) + (drho_SWB - drho_NWT))) * c1o2;
+      dxz  = ( ((drho_SWB - drho_NEB) + (drho_NET - drho_SWT)) + ((drho_NWB - drho_SEB) + (drho_SET - drho_NWT))) * c1o2;
+      dyz  = ( ((drho_NWT - drho_NEB) + (drho_NET - drho_NWB)) + ((drho_SEB - drho_SWT) + (drho_SWB - drho_SET))) * c1o2;
+      //d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+      //dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      //dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      //dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      //dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      //dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      //dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //  d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
       ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
@@ -27749,3330 +27749,3330 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
-	  dx = dx + yoff * dxy + zoff * dxz;
-	  dy = dy + xoff * dxy + zoff * dyz;
-	  dz = dz + xoff * dxz + yoff * dyz;
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //ax=zero;
-	  //ay=zero;
-	  //az=zero;
-	  //axx=zero;
-	  //ayy=zero;
-	  //azz=zero;
-	  //axy=zero;
-	  //axz=zero;
-	  //ayz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  //axyz=zero;
-	  //bxyz=zero;
-	  //cxyz=zero;
-	  //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //b0=zero;
-	  //c0=c1o100;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = two - o;
-	  //real residu, residutmp;
-	  //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= posFSWB[k];
-	  k0w   = neighborFX[k0zero];
-	  k0s   = neighborFY[k0zero];
-	  k0b   = neighborFZ[k0zero];
-	  k0sw  = neighborFY[k0w];
-	  k0bw  = neighborFZ[k0w];
-	  k0bs  = neighborFZ[k0s];
-	  k0bsw = neighborFZ[k0sw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= k0s;
-	  k0w   = k0sw;
-	  k0s   = neighborFY[k0s];
-	  k0b   = k0bs;
-	  k0sw  = neighborFY[k0sw];
-	  k0bw  = k0bsw;
-	  k0bs  = neighborFY[k0bs];
-	  k0bsw = neighborFY[k0bsw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-   }
-}
-//////////////////////////////////////////////////////////////////////////
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      dx = dx + yoff * dxy + zoff * dxz;
+      dy = dy + xoff * dxy + zoff * dyz;
+      dz = dz + xoff * dxz + yoff * dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //ax=zero;
+      //ay=zero;
+      //az=zero;
+      //axx=zero;
+      //ayy=zero;
+      //azz=zero;
+      //axy=zero;
+      //axz=zero;
+      //ayz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      //axyz=zero;
+      //bxyz=zero;
+      //cxyz=zero;
+      //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //b0=zero;
+      //c0=c1o100;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = two - o;
+      //real residu, residutmp;
+      //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= posFSWB[k];
+      k0w   = neighborFX[k0zero];
+      k0s   = neighborFY[k0zero];
+      k0b   = neighborFZ[k0zero];
+      k0sw  = neighborFY[k0w];
+      k0bw  = neighborFZ[k0w];
+      k0bs  = neighborFZ[k0s];
+      k0bsw = neighborFZ[k0sw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= k0s;
+      k0w   = k0sw;
+      k0s   = neighborFY[k0s];
+      k0b   = k0bs;
+      k0sw  = neighborFY[k0sw];
+      k0bw  = k0bsw;
+      k0bs  = neighborFY[k0bs];
+      k0bsw = neighborFY[k0bsw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+   }
+}
+//////////////////////////////////////////////////////////////////////////
 
 
 
@@ -31129,27 +31129,27 @@ __global__ void scaleCF_Fix_comp_27(  real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleCF_NSPress_27(   real* DC, 
-												 real* DF, 
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posCSWB, 
-												 unsigned int* posFSWB, 
-												 unsigned int kCF, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offCF)
+                                                 real* DF, 
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posCSWB, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kCF, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offCF)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -31353,13 +31353,13 @@ __global__ void scaleCF_NSPress_27(   real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-	  press_SWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
-				 drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB;
+      press_SWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
+                 drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB));
@@ -31410,10 +31410,10 @@ __global__ void scaleCF_NSPress_27(   real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (c1o1+drho_SWT)) * c1o2+drho_SWT;
@@ -31467,10 +31467,10 @@ __global__ void scaleCF_NSPress_27(   real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (c1o1+drho_SET)) * c1o2+drho_SET;
@@ -31524,10 +31524,10 @@ __global__ void scaleCF_NSPress_27(   real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (c1o1+drho_SEB)) * c1o2+drho_SEB;
@@ -31591,10 +31591,10 @@ __global__ void scaleCF_NSPress_27(   real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+2.f*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+3.f*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (1.+drho_NWB)) * 0.5f+drho_NWB;
@@ -31648,10 +31648,10 @@ __global__ void scaleCF_NSPress_27(   real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (c1o1+drho_NWT)) * c1o2+drho_NWT;
@@ -31705,10 +31705,10 @@ __global__ void scaleCF_NSPress_27(   real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (c1o1+drho_NET)) * c1o2+drho_NET;
@@ -31762,10 +31762,10 @@ __global__ void scaleCF_NSPress_27(   real* DC,
 
       //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (c1o1+drho_NEB)) * c1o2+drho_NEB;
@@ -31911,3129 +31911,3129 @@ __global__ void scaleCF_NSPress_27(   real* DC,
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
 
-	  real dx, dy, dz;
-	  real pressCenter=(press_SWT+press_NWT+press_SET+press_NET+press_NEB+press_NWB+press_SEB+press_SWB)*c1o8;
-
-
-	 // if(xoff!=zero || yoff!=zero || zoff!=zero)
-	  {
-
-		  dx=c2o1*nu*(axx+ayy+azz);
-		  dy=c2o1*nu*(bxx+byy+bzz);
-		  dz=c2o1*nu*(cxx+cyy+czz);
-		  pressCenter = pressCenter + xoff * dx + yoff * dy + zoff * dz;
-	  }
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //b0=zero;
-	  //c0=c1o100;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  real O3 = c2o1 - o;
-	  real residu, residutmp;
-	  residutmp = c0o1;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //press = press_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  press_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  press_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  press_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  press_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  press_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  press_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  press_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  //if(xoff!=zero || yoff!=zero || zoff!=zero)
-	  {press=pressCenter+c1o4*(-dx-dy-dz);}
-	 
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-	  //3.f
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-  
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= posFSWB[k];
-	  k0w   = neighborFX[k0zero];
-	  k0s   = neighborFY[k0zero];
-	  k0b   = neighborFZ[k0zero];
-	  k0sw  = neighborFY[k0w];
-	  k0bw  = neighborFZ[k0w];
-	  k0bs  = neighborFZ[k0s];
-	  k0bsw = neighborFZ[k0sw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  press_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  press_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  press_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  press_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  press_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  press_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  press_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  //if(xoff!=zero || yoff!=zero || zoff!=zero)
-	  {press=pressCenter+c1o4*(-dx-dy+dz);}
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  vvx = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*( axyz);
-	  vvy = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*( bxyz);
-	  vvz = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*( cxyz);
-
-	  //mfaaa = drho;
-	  mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
-	  
-	  
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-
-	  mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-	  //three
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  press_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  press_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  press_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  press_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  press_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  press_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  press_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  //if(xoff!=zero || yoff!=zero || zoff!=zero)
-	  {press=pressCenter+c1o4*( dx-dy-dz);}
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  vvx = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*(-axyz);
-	  vvy = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*(-bxyz);
-	  vvz = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
-
-	  
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-
-	  mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-	  //three
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  press_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  press_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  press_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  press_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  press_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  press_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  press_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  //if(xoff!=zero || yoff!=zero || zoff!=zero)
-	  {press=pressCenter+c1o4*( dx-dy-dz);}
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  vvx = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*( axyz);
-	  vvy = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*( bxyz);
-	  vvz = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*( cxyz);
-
-	  //mfaaa = drho;
-	  mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
-
-	 
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-
-	  mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-	  //three
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  press_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  press_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  press_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  press_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  press_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  press_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  press_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  //if(xoff!=zero || yoff!=zero || zoff!=zero)
-	  {press=pressCenter+c1o4*(-dx+dy-dz);}
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  vvx = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*( axyz);
-	  vvy = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*( bxyz);
-	  vvz = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*( cxyz);
-
-	  //mfaaa = drho;
-	  mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
-
-	  
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-
-	  mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-	  //three
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= k0s;
-	  k0w   = k0sw;
-	  k0s   = neighborFY[k0s];
-	  k0b   = k0bs;
-	  k0sw  = neighborFY[k0sw];
-	  k0bw  = k0bsw;
-	  k0bs  = neighborFY[k0bs];
-	  k0bsw = neighborFY[k0bsw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-		 // press_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-		 // press_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-		 // press_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-		 // press_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-		 // press_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-		 // press_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-		 // press_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  //if(xoff!=zero || yoff!=zero || zoff!=zero)
-	  {press=pressCenter+c1o4*(-dx+dy+dz);}
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  vvx = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  vvy = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  vvz = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
-
-	 
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-
-	  mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-	  //three
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  press_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  press_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  press_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  press_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  press_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  press_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  press_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  //if(xoff!=zero || yoff!=zero || zoff!=zero)
-	  {press=pressCenter+c1o4*( dx+dy+dz);}
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  vvx = a0 + c1o4*( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*( axyz);
-	  vvy = b0 + c1o4*( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*( bxyz);
-	  vvz = c0 + c1o4*( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*( cxyz);
-
-	  //mfaaa = drho;
-	  mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
-
-	  
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-
-	  mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-	  //three
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  press_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  press_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  press_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  press_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  press_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  press_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  press_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  //if(xoff!=zero || yoff!=zero || zoff!=zero)
-	  {press=pressCenter+c1o4*( dx+dy-dz);}
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  vvx = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*(-axyz);
-	  vvy = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*(-bxyz);
-	  vvz = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
-
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-
-	  mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-	  //three
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-   }
-}
-//////////////////////////////////////////////////////////////////////////
+      real dx, dy, dz;
+      real pressCenter=(press_SWT+press_NWT+press_SET+press_NET+press_NEB+press_NWB+press_SEB+press_SWB)*c1o8;
+
+
+     // if(xoff!=zero || yoff!=zero || zoff!=zero)
+      {
+
+          dx=c2o1*nu*(axx+ayy+azz);
+          dy=c2o1*nu*(bxx+byy+bzz);
+          dz=c2o1*nu*(cxx+cyy+czz);
+          pressCenter = pressCenter + xoff * dx + yoff * dy + zoff * dz;
+      }
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //b0=zero;
+      //c0=c1o100;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      real O3 = c2o1 - o;
+      real residu, residutmp;
+      residutmp = c0o1;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //press = press_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  press_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  press_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  press_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  press_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  press_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  press_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  press_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      //if(xoff!=zero || yoff!=zero || zoff!=zero)
+      {press=pressCenter+c1o4*(-dx-dy-dz);}
+     
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
+
+      //3.f
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+  
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= posFSWB[k];
+      k0w   = neighborFX[k0zero];
+      k0s   = neighborFY[k0zero];
+      k0b   = neighborFZ[k0zero];
+      k0sw  = neighborFY[k0w];
+      k0bw  = neighborFZ[k0w];
+      k0bs  = neighborFZ[k0s];
+      k0bsw = neighborFZ[k0sw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  press_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  press_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  press_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  press_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  press_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  press_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  press_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      //if(xoff!=zero || yoff!=zero || zoff!=zero)
+      {press=pressCenter+c1o4*(-dx-dy+dz);}
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      vvx = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*( axyz);
+      vvy = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*( bxyz);
+      vvz = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*( cxyz);
+
+      //mfaaa = drho;
+      mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
+      
+      
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+
+      mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
+
+      //three
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  press_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  press_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  press_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  press_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  press_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  press_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  press_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      //if(xoff!=zero || yoff!=zero || zoff!=zero)
+      {press=pressCenter+c1o4*( dx-dy-dz);}
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      vvx = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*(-axyz);
+      vvy = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*(-bxyz);
+      vvz = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
+
+      
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+
+      mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
+
+      //three
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  press_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  press_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  press_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  press_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  press_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  press_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  press_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      //if(xoff!=zero || yoff!=zero || zoff!=zero)
+      {press=pressCenter+c1o4*( dx-dy-dz);}
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      vvx = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*( axyz);
+      vvy = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*( bxyz);
+      vvz = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*( cxyz);
+
+      //mfaaa = drho;
+      mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
+
+     
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+
+      mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
+
+      //three
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  press_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  press_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  press_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  press_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  press_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  press_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  press_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      //if(xoff!=zero || yoff!=zero || zoff!=zero)
+      {press=pressCenter+c1o4*(-dx+dy-dz);}
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      vvx = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*( axyz);
+      vvy = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*( bxyz);
+      vvz = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*( cxyz);
+
+      //mfaaa = drho;
+      mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
+
+      
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+
+      mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
+
+      //three
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= k0s;
+      k0w   = k0sw;
+      k0s   = neighborFY[k0s];
+      k0b   = k0bs;
+      k0sw  = neighborFY[k0sw];
+      k0bw  = k0bsw;
+      k0bs  = neighborFY[k0bs];
+      k0bsw = neighborFY[k0bsw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+         // press_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+         // press_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+         // press_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+         // press_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+         // press_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+         // press_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+         // press_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      //if(xoff!=zero || yoff!=zero || zoff!=zero)
+      {press=pressCenter+c1o4*(-dx+dy+dz);}
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      vvx = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*(-axyz);
+      vvy = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      vvz = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
+
+     
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+
+      mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
+
+      //three
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  press_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  press_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  press_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  press_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  press_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  press_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  press_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      //if(xoff!=zero || yoff!=zero || zoff!=zero)
+      {press=pressCenter+c1o4*( dx+dy+dz);}
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      vvx = a0 + c1o4*( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*( axyz);
+      vvy = b0 + c1o4*( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*( bxyz);
+      vvz = c0 + c1o4*( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*( cxyz);
+
+      //mfaaa = drho;
+      mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
+
+      
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+
+      mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
+
+      //three
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  press_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  press_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  press_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  press_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  press_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  press_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  press_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      //if(xoff!=zero || yoff!=zero || zoff!=zero)
+      {press=pressCenter+c1o4*( dx+dy-dz);}
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      vvx = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*(-axyz);
+      vvy = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*(-bxyz);
+      vvz = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      mfaaa = press + (c2o1*axx*x+axy*y+axz*z+axyz*y*z+ax + c2o1*byy*y+bxy*x+byz*z+bxyz*x*z+by + c2o1*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
+
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      mxxMyy    = -c2o3*(ax - by + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+
+      mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
+
+      //three
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz + cxyz*x + axyz*z);
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy + bxyz*x + axyz*y);
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+   }
+}
+//////////////////////////////////////////////////////////////////////////
 
 
 
@@ -35298,13 +35298,13 @@ __global__ void scaleCF_Fix_27(   real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-	  //press_SWB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
-			//	 drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (one+drho_SWB)) * c1o2+drho_SWB;
+      //press_SWB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
+            //     drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (one+drho_SWB)) * c1o2+drho_SWB;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB));
@@ -35355,10 +35355,10 @@ __global__ void scaleCF_Fix_27(   real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (one+drho_SWT)) * c1o2+drho_SWT;
@@ -35412,10 +35412,10 @@ __global__ void scaleCF_Fix_27(   real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (one+drho_SET)) * c1o2+drho_SET;
@@ -35469,10 +35469,10 @@ __global__ void scaleCF_Fix_27(   real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (one+drho_SEB)) * c1o2+drho_SEB;
@@ -35536,10 +35536,10 @@ __global__ void scaleCF_Fix_27(   real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+2.f*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+3.f*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (1.+drho_NWB)) * 0.5f+drho_NWB;
@@ -35593,10 +35593,10 @@ __global__ void scaleCF_Fix_27(   real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (one+drho_NWT)) * c1o2+drho_NWT;
@@ -35650,22 +35650,3604 @@ __global__ void scaleCF_Fix_27(   real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (one+drho_NET)) * c1o2+drho_NET;
 
-      kxyFromfcNEQ_NET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET));
-      kyzFromfcNEQ_NET    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET));
-      kxzFromfcNEQ_NET    = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET));
-      kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET));
-      kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET));
+      kxyFromfcNEQ_NET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET));
+      kyzFromfcNEQ_NET    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NET*vx3_NET));
+      kxzFromfcNEQ_NET    = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NET*vx3_NET));
+      kxxMyyFromfcNEQ_NET = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NET*vx1_NET-vx2_NET*vx2_NET));
+      kxxMzzFromfcNEQ_NET = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NET*vx1_NET-vx3_NET*vx3_NET));
+
+      //////////////////////////////////////////////////////////////////////////
+      //NEB//
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborCX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborCX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+      f_E    = feC[kzero];
+      f_W    = fwC[kw];
+      f_N    = fnC[kzero];
+      f_S    = fsC[ks];
+      f_T    = ftC[kzero];
+      f_B    = fbC[kb];
+      f_NE   = fneC[kzero];
+      f_SW   = fswC[ksw];
+      f_SE   = fseC[ks];
+      f_NW   = fnwC[kw];
+      f_TE   = fteC[kzero];
+      f_BW   = fbwC[kbw];
+      f_BE   = fbeC[kb];
+      f_TW   = ftwC[kw];
+      f_TN   = ftnC[kzero];
+      f_BS   = fbsC[kbs];
+      f_BN   = fbnC[kb];
+      f_TS   = ftsC[ks];
+      f_ZERO = fzeroC[kzero];
+      f_TNE  = ftneC[kzero];
+      f_TSW  = ftswC[ksw];
+      f_TSE  = ftseC[ks];
+      f_TNW  = ftnwC[kw];
+      f_BNE  = fbneC[kb];
+      f_BSW  = fbswC[kbsw];
+      f_BSE  = fbseC[kbs];
+      f_BNW  = fbnwC[kbw];
+
+      //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
+      //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+      //press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
+      //   drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (one+drho_NEB)) * c1o2+drho_NEB;
+
+      kxyFromfcNEQ_NEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB));
+      kyzFromfcNEQ_NEB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB));
+      kxzFromfcNEQ_NEB    = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB));
+      kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB));
+      kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB));
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
+      //////////////////////////////////////////////////////////////////////////
+      //3
+      //////////////////////////////////////////////////////////////////////////
+      a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
+         kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
+         kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+         kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+         c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
+         c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+         c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
+         c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
+         c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
+         c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
+         c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
+         c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+         c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+      b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
+         c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
+         kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+         kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+         c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
+         c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+         c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+         c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
+         c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+         c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
+         c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
+         c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
+         c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+         c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+
+      //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour;
+
+      c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
+         kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
+         c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
+         c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
+         c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
+         c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
+         c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+         c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
+         c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+         c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+         c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+         c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
+         c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
+         c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
+      ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
+      bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
+      //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four;
+      cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
+      axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
+         kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
+         kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+         kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+         c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
+         c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
+         c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+         c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+      bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
+         kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+         c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
+         c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
+      cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
+         kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
+         c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
+         c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
+      ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
+      by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
+      cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
+      ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
+         kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+         c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
+         c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
+      byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
+         c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
+         kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+         kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+         c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+         c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
+         c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+         c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+      cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
+         kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
+         c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
+         c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
+      az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
+      //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four;
+      bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1;
+      cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
+      azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
+         kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
+         c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+         c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+      bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
+         kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
+         c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+         c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+      czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
+         kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
+         c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
+         c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
+         c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+         c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+         c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+         c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
+      axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
+      bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
+      cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
+      axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
+      bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
+      cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
+      ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
+      byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
+      cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
+      axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT;
+      bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
+      cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real kxyAverage     =(kxyFromfcNEQ_SWB+
+                               kxyFromfcNEQ_SWT+
+                               kxyFromfcNEQ_SET+
+                               kxyFromfcNEQ_SEB+
+                               kxyFromfcNEQ_NWB+
+                               kxyFromfcNEQ_NWT+
+                               kxyFromfcNEQ_NET+
+                               kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      real kyzAverage     =(kyzFromfcNEQ_SWB+
+                               kyzFromfcNEQ_SWT+
+                               kyzFromfcNEQ_SET+
+                               kyzFromfcNEQ_SEB+
+                               kyzFromfcNEQ_NWB+
+                               kyzFromfcNEQ_NWT+
+                               kyzFromfcNEQ_NET+
+                               kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      real kxzAverage     =(kxzFromfcNEQ_SWB+
+                               kxzFromfcNEQ_SWT+
+                               kxzFromfcNEQ_SET+
+                               kxzFromfcNEQ_SEB+
+                               kxzFromfcNEQ_NWB+
+                               kxzFromfcNEQ_NWT+
+                               kxzFromfcNEQ_NET+
+                               kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+                               kxxMyyFromfcNEQ_SWT+
+                               kxxMyyFromfcNEQ_SET+
+                               kxxMyyFromfcNEQ_SEB+
+                               kxxMyyFromfcNEQ_NWB+
+                               kxxMyyFromfcNEQ_NWT+
+                               kxxMyyFromfcNEQ_NET+
+                               kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+                               kxxMzzFromfcNEQ_SWT+
+                               kxxMzzFromfcNEQ_SET+
+                               kxxMzzFromfcNEQ_SEB+
+                               kxxMzzFromfcNEQ_NWB+
+                               kxxMzzFromfcNEQ_NWT+
+                               kxxMzzFromfcNEQ_NET+
+                               kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+      dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //  d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
+     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      // Bernd das Brot
+      //
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
+      ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
+      ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
+      az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz;
+      b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz;
+      bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz;
+      by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz;
+      bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz;
+      c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz;
+      cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
+      cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
+      cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      dx = dx + yoff * dxy + zoff * dxz;
+      dy = dy + xoff * dxy + zoff * dyz;
+      dz = dz + xoff * dxz + yoff * dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //ax=zero;
+      //ay=zero;
+      //az=zero;
+      //axx=zero;
+      //ayy=zero;
+      //azz=zero;
+      //axy=zero;
+      //axz=zero;
+      //ayz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      //axyz=zero;
+      //bxyz=zero;
+      //cxyz=zero;
+      //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //a0=zero;
+      //b0=zero;
+      //c0=c1o100;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = two - o;
+      //real residu, residutmp;
+      //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
+      vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
+      vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= posFSWB[k];
+      k0w   = neighborFX[k0zero];
+      k0s   = neighborFY[k0zero];
+      k0b   = neighborFZ[k0zero];
+      k0sw  = neighborFY[k0w];
+      k0bw  = neighborFZ[k0w];
+      k0bs  = neighborFZ[k0s];
+      k0bsw = neighborFZ[k0sw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
+      vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
+      vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
+      //vvx = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*( axyz);
+      //vvy = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*( bxyz);
+      //vvz = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*( cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+      
+      
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
+      vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
+      vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
+      //vvx = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
+      vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
+      vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
+      //vvx = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*( axyz);
+      //vvy = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*( bxyz);
+      //vvz = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*( cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+     
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kb   = kzero;   
+      kbw  = kw;  
+      kbs  = ks;  
+      kbsw = ksw; 
+      kzero= k0w;
+      kw   = neighborFX[k0w];   
+      ks   = k0sw;   
+      ksw  = neighborFX[k0sw];  
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
+      vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
+      vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
+      //vvx = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*( axyz);
+      //vvy = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*( bxyz);
+      //vvz = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*( cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k0zero= k0s;
+      k0w   = k0sw;
+      k0s   = neighborFY[k0s];
+      k0b   = k0bs;
+      k0sw  = neighborFY[k0sw];
+      k0bw  = k0bsw;
+      k0bs  = neighborFY[k0bs];
+      k0bsw = neighborFY[k0bsw];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= k0zero;
+      kw   = k0w;   
+      ks   = k0s;   
+      kb   = k0b;   
+      ksw  = k0sw;  
+      kbw  = k0bw;  
+      kbs  = k0bs;  
+      kbsw = k0bsw; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
+      vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
+      vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
+      //vvx = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+     
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      kzero= kb;
+      kw   = kbw;   
+      ks   = kbs;   
+      kb   = neighborFZ[kb];   
+      ksw  = kbsw;  
+      kbw  = neighborFZ[kbw];  
+      kbs  = neighborFZ[kbs];  
+      kbsw = neighborFZ[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
+      vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
+      vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
+      //vvx = a0 + c1o4*( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*( axyz);
+      //vvy = b0 + c1o4*( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*( bxyz);
+      //vvz = c0 + c1o4*( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*( cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
 
       //////////////////////////////////////////////////////////////////////////
-      //NEB//
+      //index 
+      kzero= kw;
+      kw   = neighborFX[kw];   
+      ks   = ksw;   
+      kb   = kbw;   
+      ksw  = neighborFX[ksw];  
+      kbw  = neighborFX[kbw];  
+      kbs  = kbsw;  
+      kbsw = neighborFX[kbsw]; 
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
+      vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
+      vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
+      //vvx = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
       //////////////////////////////////////////////////////////////////////////
       //index 
       kb   = kzero;   
@@ -35673,3622 +39255,40 @@ __global__ void scaleCF_Fix_27(   real* DC,
       kbs  = ks;  
       kbsw = ksw; 
       kzero= k0w;
-      kw   = neighborCX[k0w];   
+      kw   = neighborFX[k0w];   
       ks   = k0sw;   
-      ksw  = neighborCX[k0sw];  
+      ksw  = neighborFX[k0sw];  
       ////////////////////////////////////////////////////////////////////////////////
-      f_E    = feC[kzero];
-      f_W    = fwC[kw];
-      f_N    = fnC[kzero];
-      f_S    = fsC[ks];
-      f_T    = ftC[kzero];
-      f_B    = fbC[kb];
-      f_NE   = fneC[kzero];
-      f_SW   = fswC[ksw];
-      f_SE   = fseC[ks];
-      f_NW   = fnwC[kw];
-      f_TE   = fteC[kzero];
-      f_BW   = fbwC[kbw];
-      f_BE   = fbeC[kb];
-      f_TW   = ftwC[kw];
-      f_TN   = ftnC[kzero];
-      f_BS   = fbsC[kbs];
-      f_BN   = fbnC[kb];
-      f_TS   = ftsC[ks];
-      f_ZERO = fzeroC[kzero];
-      f_TNE  = ftneC[kzero];
-      f_TSW  = ftswC[ksw];
-      f_TSE  = ftseC[ks];
-      f_TNW  = ftnwC[kw];
-      f_BNE  = fbneC[kb];
-      f_BSW  = fbswC[kbsw];
-      f_BSE  = fbseC[kbs];
-      f_BNW  = fbnwC[kbw];
-
-      //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
-      //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
-      vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
-      drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-      //press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
-      //   drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (one+drho_NEB)) * c1o2+drho_NEB;
-
-      kxyFromfcNEQ_NEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB));
-      kyzFromfcNEQ_NEB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_NEB*vx3_NEB));
-      kxzFromfcNEQ_NEB    = -c3o1*omegaS*(f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE-(vx1_NEB*vx3_NEB));
-      kxxMyyFromfcNEQ_NEB = -c3o2*omegaS*(f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB));
-      kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB));
-
-      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
-      //////////////////////////////////////////////////////////////////////////
-      //3
-      //////////////////////////////////////////////////////////////////////////
-      a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-         kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
-         kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-         kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-         c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
-         c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-         c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
-         c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
-         c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
-         c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
-         c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
-         c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-         c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
-      b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
-         c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
-         kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-         kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-         c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
-         c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-         c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-         c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
-         c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-         c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
-         c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
-         c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
-         c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-         c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
-
-      //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour;
-
-      c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-         kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
-         c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
-         c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
-         c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
-         c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
-         c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-         c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
-         c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-         c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-         c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-         c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
-         c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
-         c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
-      ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
-      bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
-      //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four;
-      cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
-      axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-         kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
-         kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-         kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-         c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
-         c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
-         c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-         c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
-      bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
-         kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-         c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
-         c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
-      cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
-         kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
-         c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
-         c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
-      ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
-      by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
-      cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
-      ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
-         kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-         c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
-         c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
-      byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
-         c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
-         kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-         kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-         c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-         c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
-         c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-         c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
-      cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-         kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
-         c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
-         c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
-      az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
-      //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four;
-      bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1;
-      cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
-      azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
-         kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
-         c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-         c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
-      bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-         kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
-         c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-         c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
-      czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-         kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
-         c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
-         c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
-         c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-         c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-         c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-         c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
-      axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
-      bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
-      cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
-      axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
-      bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
-      cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
-      ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
-      byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
-      cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
-      axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT;
-      bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
-      cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
 
-      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage	 =(kxyFromfcNEQ_SWB+
-							   kxyFromfcNEQ_SWT+
-							   kxyFromfcNEQ_SET+
-							   kxyFromfcNEQ_SEB+
-							   kxyFromfcNEQ_NWB+
-							   kxyFromfcNEQ_NWT+
-							   kxyFromfcNEQ_NET+
-							   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  real kyzAverage	 =(kyzFromfcNEQ_SWB+
-							   kyzFromfcNEQ_SWT+
-							   kyzFromfcNEQ_SET+
-							   kyzFromfcNEQ_SEB+
-							   kyzFromfcNEQ_NWB+
-							   kyzFromfcNEQ_NWT+
-							   kyzFromfcNEQ_NET+
-							   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  real kxzAverage	 =(kxzFromfcNEQ_SWB+
-							   kxzFromfcNEQ_SWT+
-							   kxzFromfcNEQ_SET+
-							   kxzFromfcNEQ_SEB+
-							   kxzFromfcNEQ_NWB+
-							   kxzFromfcNEQ_NWT+
-							   kxzFromfcNEQ_NET+
-							   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-							   kxxMyyFromfcNEQ_SWT+
-							   kxxMyyFromfcNEQ_SET+
-							   kxxMyyFromfcNEQ_SEB+
-							   kxxMyyFromfcNEQ_NWB+
-							   kxxMyyFromfcNEQ_NWT+
-							   kxxMyyFromfcNEQ_NET+
-							   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-							   kxxMzzFromfcNEQ_SWT+
-							   kxxMzzFromfcNEQ_SET+
-							   kxxMzzFromfcNEQ_SEB+
-							   kxxMzzFromfcNEQ_NWB+
-							   kxxMzzFromfcNEQ_NWT+
-							   kxxMzzFromfcNEQ_NET+
-							   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-	  dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-  	//  d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
-     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-      //
-      // Bernd das Brot
-      //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-      a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
-      ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
-      ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
-      az = az + c2o1 * zoff * azz + xoff * axz + yoff * ayz;
-      b0 = b0 + xoff * bx + yoff * by + zoff * bz + xoff_sq * bxx + yoff_sq * byy + zoff_sq * bzz + xoff*yoff*bxy + xoff*zoff*bxz + yoff*zoff*byz;
-      bx = bx + c2o1 * xoff * bxx + yoff * bxy + zoff * bxz;
-      by = by + c2o1 * yoff * byy + xoff * bxy + zoff * byz;
-      bz = bz + c2o1 * zoff * bzz + xoff * bxz + yoff * byz;
-      c0 = c0 + xoff * cx + yoff * cy + zoff * cz + xoff_sq * cxx + yoff_sq * cyy + zoff_sq * czz + xoff*yoff*cxy + xoff*zoff*cxz + yoff*zoff*cyz;
-      cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
-      cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
-      cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
-	  dx = dx + yoff * dxy + zoff * dxz;
-	  dy = dy + xoff * dxy + zoff * dyz;
-	  dz = dz + xoff * dxz + yoff * dyz;
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //ax=zero;
-	  //ay=zero;
-	  //az=zero;
-	  //axx=zero;
-	  //ayy=zero;
-	  //azz=zero;
-	  //axy=zero;
-	  //axz=zero;
-	  //ayz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  //axyz=zero;
-	  //bxyz=zero;
-	  //cxyz=zero;
-	  //ax= ay= az= axx= ayy= azz= axy= axz= ayz= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz=  cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //a0=zero;
-	  //b0=zero;
-	  //c0=c1o100;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = two - o;
-	  //real residu, residutmp;
-	  //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
-	  vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
-	  vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= posFSWB[k];
-	  k0w   = neighborFX[k0zero];
-	  k0s   = neighborFY[k0zero];
-	  k0b   = neighborFZ[k0zero];
-	  k0sw  = neighborFY[k0w];
-	  k0bw  = neighborFZ[k0w];
-	  k0bs  = neighborFZ[k0s];
-	  k0bsw = neighborFZ[k0sw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
-	  vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
-	  vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
-	  //vvx = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*( axyz);
-	  //vvy = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*( bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*( cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-	  
-	  
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
-	  vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
-	  vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
-	  //vvx = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
-	  vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
-	  vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
-	  //vvx = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*( axyz);
-	  //vvy = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*( bxyz);
-	  //vvz = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*( cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	 
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
-	  vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
-	  vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
-	  //vvx = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*( axyz);
-	  //vvy = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*( bxyz);
-	  //vvz = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*( cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k0zero= k0s;
-	  k0w   = k0sw;
-	  k0s   = neighborFY[k0s];
-	  k0b   = k0bs;
-	  k0sw  = neighborFY[k0sw];
-	  k0bw  = k0bsw;
-	  k0bs  = neighborFY[k0bs];
-	  k0bsw = neighborFY[k0bsw];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= k0zero;
-	  kw   = k0w;   
-	  ks   = k0s;   
-	  kb   = k0b;   
-	  ksw  = k0sw;  
-	  kbw  = k0bw;  
-	  kbs  = k0bs;  
-	  kbsw = k0bsw; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
-	  vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
-	  vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
-	  //vvx = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	 
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kb;
-	  kw   = kbw;   
-	  ks   = kbs;   
-	  kb   = neighborFZ[kb];   
-	  ksw  = kbsw;  
-	  kbw  = neighborFZ[kbw];  
-	  kbs  = neighborFZ[kbs];  
-	  kbsw = neighborFZ[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
-	  vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
-	  vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
-	  //vvx = a0 + c1o4*( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*( axyz);
-	  //vvy = b0 + c1o4*( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*( bxyz);
-	  //vvz = c0 + c1o4*( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*( cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kzero= kw;
-	  kw   = neighborFX[kw];   
-	  ks   = ksw;   
-	  kb   = kbw;   
-	  ksw  = neighborFX[ksw];  
-	  kbw  = neighborFX[kbw];  
-	  kbs  = kbsw;  
-	  kbsw = neighborFX[kbsw]; 
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz;
-	  vvy = b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz;
-	  vvz = c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz;
-	  //vvx = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  kb   = kzero;   
-	  kbw  = kw;  
-	  kbs  = ks;  
-	  kbsw = ksw; 
-	  kzero= k0w;
-	  kw   = neighborFX[k0w];   
-	  ks   = k0sw;   
-	  ksw  = neighborFX[k0sw];  
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feF[kzero]    = mfcbb;                                                                 
-	  fwF[kw]       = mfabb;                                                               
-	  fnF[kzero]    = mfbcb;
-	  fsF[ks]       = mfbab;
-	  ftF[kzero]    = mfbbc;
-	  fbF[kb]       = mfbba;
-	  fneF[kzero]   = mfccb;
-	  fswF[ksw]     = mfaab;
-	  fseF[ks]      = mfcab;
-	  fnwF[kw]      = mfacb;
-	  fteF[kzero]   = mfcbc;
-	  fbwF[kbw]     = mfaba;
-	  fbeF[kb]      = mfcba;
-	  ftwF[kw]      = mfabc;
-	  ftnF[kzero]   = mfbcc;
-	  fbsF[kbs]     = mfbaa;
-	  fbnF[kb]      = mfbca;
-	  ftsF[ks]      = mfbac;
-	  fzeroF[kzero] = mfbbb;
-	  ftneF[kzero]  = mfccc;
-	  ftseF[ks]     = mfcac;
-	  fbneF[kb]     = mfcca;
-	  fbseF[kbs]    = mfcaa;
-	  ftnwF[kw]     = mfacc;
-	  ftswF[ksw]    = mfaac;
-	  fbnwF[kbw]    = mfaca;
-	  fbswF[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      feF[kzero]    = mfcbb;                                                                 
+      fwF[kw]       = mfabb;                                                               
+      fnF[kzero]    = mfbcb;
+      fsF[ks]       = mfbab;
+      ftF[kzero]    = mfbbc;
+      fbF[kb]       = mfbba;
+      fneF[kzero]   = mfccb;
+      fswF[ksw]     = mfaab;
+      fseF[ks]      = mfcab;
+      fnwF[kw]      = mfacb;
+      fteF[kzero]   = mfcbc;
+      fbwF[kbw]     = mfaba;
+      fbeF[kb]      = mfcba;
+      ftwF[kw]      = mfabc;
+      ftnF[kzero]   = mfbcc;
+      fbsF[kbs]     = mfbaa;
+      fbnF[kb]      = mfbca;
+      ftsF[ks]      = mfbac;
+      fzeroF[kzero] = mfbbb;
+      ftneF[kzero]  = mfccc;
+      ftseF[ks]     = mfcac;
+      fbneF[kb]     = mfcca;
+      fbseF[kbs]    = mfcaa;
+      ftnwF[kw]     = mfacc;
+      ftswF[ksw]    = mfaac;
+      fbnwF[kbw]    = mfaca;
+      fbswF[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -39555,13 +39555,13 @@ __global__ void scaleCFpress27(   real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-	  press_SWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
-				 drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB;
+      press_SWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
+                 drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB));
@@ -39612,10 +39612,10 @@ __global__ void scaleCFpress27(   real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (c1o1+drho_SWT)) * c1o2+drho_SWT;
@@ -39669,10 +39669,10 @@ __global__ void scaleCFpress27(   real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (c1o1+drho_SET)) * c1o2+drho_SET;
@@ -39726,10 +39726,10 @@ __global__ void scaleCFpress27(   real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (c1o1+drho_SEB)) * c1o2+drho_SEB;
@@ -39793,10 +39793,10 @@ __global__ void scaleCFpress27(   real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+2.f*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+3.f*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (1.+drho_NWB)) * 0.5f+drho_NWB;
@@ -39850,10 +39850,10 @@ __global__ void scaleCFpress27(   real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (c1o1+drho_NWT)) * c1o2+drho_NWT;
@@ -39907,10 +39907,10 @@ __global__ void scaleCFpress27(   real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (c1o1+drho_NET)) * c1o2+drho_NET;
@@ -39964,10 +39964,10 @@ __global__ void scaleCFpress27(   real* DC,
 
       //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (c1o1+drho_NEB)) * c1o2+drho_NEB;
@@ -41229,10 +41229,10 @@ __global__ void scaleCFLast27( real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
@@ -41284,10 +41284,10 @@ __global__ void scaleCFLast27( real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT));
@@ -41339,10 +41339,10 @@ __global__ void scaleCFLast27( real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET));
@@ -41394,10 +41394,10 @@ __global__ void scaleCFLast27( real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB));
@@ -41459,10 +41459,10 @@ __global__ void scaleCFLast27( real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB));
@@ -41514,10 +41514,10 @@ __global__ void scaleCFLast27( real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT));
@@ -41569,10 +41569,10 @@ __global__ void scaleCFLast27( real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET));
@@ -41624,10 +41624,10 @@ __global__ void scaleCFLast27( real* DC,
 
       //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB));
@@ -42170,7 +42170,7 @@ __global__ void scaleCFLast27( real* DC,
             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
             c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
-			c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)*c1o64;
+            c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)*c1o64;
       ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
@@ -42181,7 +42181,7 @@ __global__ void scaleCFLast27( real* DC,
             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
             c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)*c1o16;
+            c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)*c1o16;
       bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
             kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
             c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
@@ -42196,7 +42196,7 @@ __global__ void scaleCFLast27( real* DC,
       ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
             kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)*c1o8;
+            c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)*c1o8;
       byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
              c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
              kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
@@ -42204,22 +42204,22 @@ __global__ void scaleCFLast27( real* DC,
              c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
              c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
              c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)*c1o16;
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)*c1o16;
       cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
             kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)*c1o8;
+            c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)*c1o8;
       az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
       bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1;
       cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
       azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
              kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
              c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)*c1o8;
+             c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)*c1o8;
       bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
              kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
              c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)*c1o8;
+             c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)*c1o8;
       czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
              kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
              c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
@@ -42227,7 +42227,7 @@ __global__ void scaleCFLast27( real* DC,
              c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
              c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
              c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)*c1o16;
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)*c1o16;
       axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
       bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
       cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
@@ -42286,12 +42286,12 @@ __global__ void scaleCFLast27( real* DC,
       x_E   = c1o4*eps_new*((c2o1*(-c4o1*axx + bxy + cxz))/(c27o1*o));
       x_N   = c1o4*eps_new*((c2o1*(c2o1*axx - c2o1*bxy + cxz))/(c27o1*o));
       x_T   = c1o4*eps_new*((c2o1*(c2o1*axx + bxy - c2o1*cxz))/(c27o1*o));
-	  x_NE  = c1o4*eps_new*(-((c2o1*axx + c3o1*axy + c6o1*bxx + bxy - c2o1*cxz))/(c54o1*o));
-	  x_SE  = c1o4*eps_new*(-((c2o1*axx - c3o1*axy - c6o1*bxx + bxy - c2o1*cxz))/(c54o1*o));
-	  x_TE  = c1o4*eps_new*(-((c2o1*axx + c3o1*axz - c2o1*bxy + c6o1*cxx + cxz))/(c54o1*o));
-	  x_BE  = c1o4*eps_new*(-((c2o1*axx - c3o1*axz - c2o1*bxy - c6o1*cxx + cxz))/(c54o1*o));
-	  x_TN  = c1o4*eps_new*(-((-c4o1*axx + bxy + c3o1*bxz + c3o1*cxy + cxz))/(c54o1*o));
-	  x_BN  = c1o4*eps_new*(-((-c4o1*axx + bxy - c3o1*bxz - c3o1*cxy + cxz))/(c54o1*o));
+      x_NE  = c1o4*eps_new*(-((c2o1*axx + c3o1*axy + c6o1*bxx + bxy - c2o1*cxz))/(c54o1*o));
+      x_SE  = c1o4*eps_new*(-((c2o1*axx - c3o1*axy - c6o1*bxx + bxy - c2o1*cxz))/(c54o1*o));
+      x_TE  = c1o4*eps_new*(-((c2o1*axx + c3o1*axz - c2o1*bxy + c6o1*cxx + cxz))/(c54o1*o));
+      x_BE  = c1o4*eps_new*(-((c2o1*axx - c3o1*axz - c2o1*bxy - c6o1*cxx + cxz))/(c54o1*o));
+      x_TN  = c1o4*eps_new*(-((-c4o1*axx + bxy + c3o1*bxz + c3o1*cxy + cxz))/(c54o1*o));
+      x_BN  = c1o4*eps_new*(-((-c4o1*axx + bxy - c3o1*bxz - c3o1*cxy + cxz))/(c54o1*o));
       x_ZERO = c0o1;
       x_TNE = c1o4*eps_new*(-((axy + axz + c2o1*bxx + bxz + c2o1*cxx + cxy))/(c72o1*o));
       x_TSW = c1o4*eps_new*(((-axy + axz - c2o1*bxx + bxz + c2o1*cxx + cxy))/(c72o1*o));
@@ -42486,13 +42486,13 @@ __global__ void scaleCFLast27( real* DC,
 
       //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
       drho =     drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-				 drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-				 drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-				 drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-				 drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-				 drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-				 drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-				 drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+                 drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+                 drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+                 drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+                 drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+                 drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+                 drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+                 drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
       vx1  = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
       vx2  = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
       vx3  = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
@@ -42584,13 +42584,13 @@ __global__ void scaleCFLast27( real* DC,
 
       //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
       drho = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			 drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			 drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			 drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			 drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			 drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			 drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			 drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+             drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+             drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+             drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+             drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+             drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+             drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+             drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
       vx1  = a0 + c1o4*(-ax - ay + az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*( axyz);
       vx2  = b0 + c1o4*(-bx - by + bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*( bxyz);
       vx3  = c0 + c1o4*(-cx - cy + cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*( cxyz);
@@ -42671,13 +42671,13 @@ __global__ void scaleCFLast27( real* DC,
 
       //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
       drho =  drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+              drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+              drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+              drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+              drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+              drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+              drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+              drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
       vx1  = a0 + c1o4*( ax - ay + az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*(-axyz);
       vx2  = b0 + c1o4*( bx - by + bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*(-bxyz);
       vx3  = c0 + c1o4*( cx - cy + cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*(-cxyz);
@@ -42758,13 +42758,13 @@ __global__ void scaleCFLast27( real* DC,
 
       //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
       drho = drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			 drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			 drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			 drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			 drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			 drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			 drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			 drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+             drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+             drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+             drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+             drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+             drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+             drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+             drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
       vx1  = a0 + c1o4*( ax - ay - az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*( axyz);
       vx2  = b0 + c1o4*( bx - by - bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*( bxyz);
       vx3  = c0 + c1o4*( cx - cy - cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*( cxyz);
@@ -42846,13 +42846,13 @@ __global__ void scaleCFLast27( real* DC,
 
       //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
       drho = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			 drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			 drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			 drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			 drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			 drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			 drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			 drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+             drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+             drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+             drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+             drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+             drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+             drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+             drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
       vx1  = a0 + c1o4*(-ax + ay - az) + c1o16*(axx - axy + axz + ayy - ayz + azz) + c1o64*( axyz);
       vx2  = b0 + c1o4*(-bx + by - bz) + c1o16*(bxx - bxy + bxz + byy - byz + bzz) + c1o64*( bxyz);
       vx3  = c0 + c1o4*(-cx + cy - cz) + c1o16*(cxx - cxy + cxz + cyy - cyz + czz) + c1o64*( cxyz);
@@ -42944,13 +42944,13 @@ __global__ void scaleCFLast27( real* DC,
 
       //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
       drho = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			 drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			 drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			 drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			 drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			 drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			 drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			 drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+             drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+             drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+             drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+             drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+             drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+             drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+             drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
       vx1  = a0 + c1o4*(-ax + ay + az) + c1o16*(axx - axy - axz + ayy + ayz + azz) + c1o64*(-axyz);
       vx2  = b0 + c1o4*(-bx + by + bz) + c1o16*(bxx - bxy - bxz + byy + byz + bzz) + c1o64*(-bxyz);
       vx3  = c0 + c1o4*(-cx + cy + cz) + c1o16*(cxx - cxy - cxz + cyy + cyz + czz) + c1o64*(-cxyz);
@@ -43031,13 +43031,13 @@ __global__ void scaleCFLast27( real* DC,
 
       //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
       drho = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			 drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			 drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			 drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			 drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			 drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			 drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			 drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+             drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+             drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+             drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+             drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+             drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+             drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+             drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
       vx1  = a0 + c1o4 *( ax + ay + az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*( axyz);
       vx2  = b0 + c1o4 *( bx + by + bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*( bxyz);
       vx3  = c0 + c1o4 *( cx + cy + cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*( cxyz);
@@ -43119,13 +43119,13 @@ __global__ void scaleCFLast27( real* DC,
 
       //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
       drho = drho_NET * (0.140625 - 0.1875 * xoff - 0.1875 * yoff - 0.5625 * zoff) + 
-			 drho_NWT * (0.046875 + 0.1875 * xoff - 0.0625 * yoff - 0.1875 * zoff) + 
-			 drho_SET * (0.046875 - 0.0625 * xoff + 0.1875 * yoff - 0.1875 * zoff) + 
-			 drho_SWT * (0.015625 + 0.0625 * xoff + 0.0625 * yoff - 0.0625 * zoff) + 
-			 drho_SWB * (0.046875 + 0.1875 * xoff + 0.1875 * yoff + 0.0625 * zoff) + 
-			 drho_NWB * (0.140625 + 0.5625 * xoff - 0.1875 * yoff + 0.1875 * zoff) + 
-			 drho_SEB * (0.140625 - 0.1875 * xoff + 0.5625 * yoff + 0.1875 * zoff) + 
-			 drho_NEB * (0.421875 - 0.5625 * xoff - 0.5625 * yoff + 0.5625 * zoff);
+             drho_NWT * (0.046875 + 0.1875 * xoff - 0.0625 * yoff - 0.1875 * zoff) + 
+             drho_SET * (0.046875 - 0.0625 * xoff + 0.1875 * yoff - 0.1875 * zoff) + 
+             drho_SWT * (0.015625 + 0.0625 * xoff + 0.0625 * yoff - 0.0625 * zoff) + 
+             drho_SWB * (0.046875 + 0.1875 * xoff + 0.1875 * yoff + 0.0625 * zoff) + 
+             drho_NWB * (0.140625 + 0.5625 * xoff - 0.1875 * yoff + 0.1875 * zoff) + 
+             drho_SEB * (0.140625 - 0.1875 * xoff + 0.5625 * yoff + 0.1875 * zoff) + 
+             drho_NEB * (0.421875 - 0.5625 * xoff - 0.5625 * yoff + 0.5625 * zoff);
       vx1  = a0 + c1o4*( ax + ay - az) + c1o16*(axx + axy - axz + ayy - ayz + azz) + c1o64*(-axyz);
       vx2  = b0 + c1o4*( bx + by - bz) + c1o16*(bxx + bxy - bxz + byy - byz + bzz) + c1o64*(-bxyz);
       vx3  = c0 + c1o4*( cx + cy - cz) + c1o16*(cxx + cxy - cxz + cyy - cyz + czz) + c1o64*(-cxyz);
@@ -44009,7 +44009,7 @@ __global__ void scaleCFThSMG7(    real* DC,
 
 
       //besser
-	  a0=(-c2o1*axx - c2o1*ayy - c2o1*azz + Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT + Conc_C_SEB + Conc_C_SET + Conc_C_SWB + Conc_C_SWT)*c1o8;
+      a0=(-c2o1*axx - c2o1*ayy - c2o1*azz + Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT + Conc_C_SEB + Conc_C_SET + Conc_C_SWB + Conc_C_SWT)*c1o8;
       ax=(Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT + Conc_C_SEB + Conc_C_SET - Conc_C_SWB - Conc_C_SWT)*c1o4;
       ay=(Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT - Conc_C_SEB - Conc_C_SET - Conc_C_SWB - Conc_C_SWT)*c1o4;
       az=(-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT - Conc_C_SEB + Conc_C_SET - Conc_C_SWB + Conc_C_SWT)*c1o4;
@@ -45297,21 +45297,21 @@ __global__ void scaleCFThS7(   real* DC,
       vx2=fnF[kzero]+fneF[kzero]+fnwF[kw]+ftnF[kzero]+fbnF[kb]-fsF[ks]-fseF[ks]-fswF[ksw]-ftsF[ks]-fbsF[kbs]+ftneF[kzero]-ftswF[ksw]-ftseF[ks]+ftnwF[kw]+fbneF[kb]-fbswF[kbsw]-fbseF[kbs]+fbnwF[kbw];
       vx3=ftF[kzero]+fteF[kzero]+ftwF[kw]+ftnF[kzero]+ftsF[ks]-fbF[kb]-fbeF[kb]-fbwF[kbw]-fbnF[kb]-fbsF[kbs]+ftneF[kzero]+ftswF[ksw]+ftseF[ks]+ftnwF[kw]-fbneF[kb]-fbswF[kbsw]-fbseF[kbs]-fbnwF[kbw];
 
-	  Conc_F_SET = c27o64 * Conc_C_SET + c9o64 * (Conc_C_SEB+Conc_C_SWT+Conc_C_NET) + c3o64 * (Conc_C_SWB+Conc_C_NEB+Conc_C_NWT) + c1o64 * Conc_C_NWB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ);
+      Conc_F_SET = c27o64 * Conc_C_SET + c9o64 * (Conc_C_SEB+Conc_C_SWT+Conc_C_NET) + c3o64 * (Conc_C_SWB+Conc_C_NEB+Conc_C_NWT) + c1o64 * Conc_C_NWB - c3o32 * (Diff_Conc_XX + Diff_Conc_YY + Diff_Conc_ZZ);
 
-	  real Diff_Conc_X_FSET = c1o16 * (c9o1 * Conc_C_SET - c9o1 * Conc_C_SWT + c3o1 * Conc_C_SEB - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NWT + c1o1 * Conc_C_NEB - c1o1 * Conc_C_NWB) + c1o4 * Diff_Conc_XX;
-	  real Diff_Conc_Y_FSET = c1o16 * (c9o1 * Conc_C_NET - c9o1 * Conc_C_SET + c3o1 * Conc_C_NEB - c3o1 * Conc_C_SEB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_SWT + c1o1 * Conc_C_NWB - c1o1 * Conc_C_SWB) - c1o4 * Diff_Conc_YY;
-	  real Diff_Conc_Z_FSET = c1o16 * (c9o1 * Conc_C_SET - c9o1 * Conc_C_SEB + c3o1 * Conc_C_SWT - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NEB + c1o1 * Conc_C_NWT - c1o1 * Conc_C_NWB) + c1o4 * Diff_Conc_ZZ;
+      real Diff_Conc_X_FSET = c1o16 * (c9o1 * Conc_C_SET - c9o1 * Conc_C_SWT + c3o1 * Conc_C_SEB - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NWT + c1o1 * Conc_C_NEB - c1o1 * Conc_C_NWB) + c1o4 * Diff_Conc_XX;
+      real Diff_Conc_Y_FSET = c1o16 * (c9o1 * Conc_C_NET - c9o1 * Conc_C_SET + c3o1 * Conc_C_NEB - c3o1 * Conc_C_SEB + c3o1 * Conc_C_NWT - c3o1 * Conc_C_SWT + c1o1 * Conc_C_NWB - c1o1 * Conc_C_SWB) - c1o4 * Diff_Conc_YY;
+      real Diff_Conc_Z_FSET = c1o16 * (c9o1 * Conc_C_SET - c9o1 * Conc_C_SEB + c3o1 * Conc_C_SWT - c3o1 * Conc_C_SWB + c3o1 * Conc_C_NET - c3o1 * Conc_C_NEB + c1o1 * Conc_C_NWT - c1o1 * Conc_C_NWB) + c1o4 * Diff_Conc_ZZ;
 
-	  Mx = Conc_F_SET*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FSET;
-	  My = Conc_F_SET*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FSET;
-	  Mz = Conc_F_SET*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FSET;
-	  Mxx= Conc_F_SET*((c1o1+ae)/c3o1+(vx1*vx1));
-	  Myy= Conc_F_SET*((c1o1+ae)/c3o1+(vx2*vx2));
-	  Mzz= Conc_F_SET*((c1o1+ae)/c3o1+(vx3*vx3));
-	  M0 = Conc_F_SET;
+      Mx = Conc_F_SET*vx1-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X_FSET;
+      My = Conc_F_SET*vx2-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y_FSET;
+      Mz = Conc_F_SET*vx3-(c1o1+ae)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z_FSET;
+      Mxx= Conc_F_SET*((c1o1+ae)/c3o1+(vx1*vx1));
+      Myy= Conc_F_SET*((c1o1+ae)/c3o1+(vx2*vx2));
+      Mzz= Conc_F_SET*((c1o1+ae)/c3o1+(vx3*vx3));
+      M0 = Conc_F_SET;
 
-	  (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy;
+      (D7F.f[0])[kzero] = M0-Mzz-Mxx-Myy;
       (D7F.f[1])[kzero] =  c1o2*Mx +c1o2*Mxx;
       (D7F.f[2])[kw   ] =  c1o2*Mxx-c1o2*Mx;
       (D7F.f[3])[kzero] =  c1o2*My +c1o2*Myy;
@@ -45607,7 +45607,7 @@ __global__ void scaleCFThS27(     real* DC,
                                              unsigned int kCF, 
                                              real nu,
                                              real diffusivity_fine,
-											 ICellNeigh offCF)
+                                             ICellNeigh offCF)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, /**fzeroF,*/ *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
 
@@ -46571,34 +46571,34 @@ __global__ void scaleCFThS27(     real* DC,
       real Diff_Conc_YY = ((Diff_Conc_Y_CNEB + Diff_Conc_Y_CNWB + Diff_Conc_Y_CNET + Diff_Conc_Y_CNWT) - (Diff_Conc_Y_CSEB + Diff_Conc_Y_CSWB + Diff_Conc_Y_CSET + Diff_Conc_Y_CSWT)) * c1o4;
       real Diff_Conc_ZZ = ((Diff_Conc_Z_CSET + Diff_Conc_Z_CSWT + Diff_Conc_Z_CNET + Diff_Conc_Z_CNWT) - (Diff_Conc_Z_CSEB + Diff_Conc_Z_CSWB + Diff_Conc_Z_CNEB + Diff_Conc_Z_CNWB)) * c1o4;
 
-	  real dx = c1o4 * (Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT + Conc_C_SEB + Conc_C_SET - Conc_C_SWB - Conc_C_SWT);
-	  real dy = c1o4 * (Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT - Conc_C_SEB - Conc_C_SET - Conc_C_SWB - Conc_C_SWT);
-	  real dz = c1o4 * (-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT - Conc_C_SEB + Conc_C_SET - Conc_C_SWB + Conc_C_SWT);
-	  real dxx = Diff_Conc_XX * c1o2;
-	  real dyy = Diff_Conc_YY * c1o2;
-	  real dzz = Diff_Conc_ZZ * c1o2;
-	  real dxy = c1o2 * (Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT - Conc_C_SEB - Conc_C_SET + Conc_C_SWB + Conc_C_SWT);
-	  real dyz = c1o2 * (-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT + Conc_C_SEB - Conc_C_SET + Conc_C_SWB - Conc_C_SWT);
-	  real dxz = c1o2 * (-Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT - Conc_C_SEB + Conc_C_SET + Conc_C_SWB - Conc_C_SWT);
-	  real dxyz = -Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT + Conc_C_SEB - Conc_C_SET - Conc_C_SWB + Conc_C_SWT;
-	  real d0 = c1o8 * (-c2o1 * dxx - c2o1 * dyy - c2o1 * dzz + Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT + Conc_C_SEB + Conc_C_SET + Conc_C_SWB + Conc_C_SWT);
+      real dx = c1o4 * (Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT + Conc_C_SEB + Conc_C_SET - Conc_C_SWB - Conc_C_SWT);
+      real dy = c1o4 * (Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT - Conc_C_SEB - Conc_C_SET - Conc_C_SWB - Conc_C_SWT);
+      real dz = c1o4 * (-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT - Conc_C_SEB + Conc_C_SET - Conc_C_SWB + Conc_C_SWT);
+      real dxx = Diff_Conc_XX * c1o2;
+      real dyy = Diff_Conc_YY * c1o2;
+      real dzz = Diff_Conc_ZZ * c1o2;
+      real dxy = c1o2 * (Conc_C_NEB + Conc_C_NET - Conc_C_NWB - Conc_C_NWT - Conc_C_SEB - Conc_C_SET + Conc_C_SWB + Conc_C_SWT);
+      real dyz = c1o2 * (-Conc_C_NEB + Conc_C_NET - Conc_C_NWB + Conc_C_NWT + Conc_C_SEB - Conc_C_SET + Conc_C_SWB - Conc_C_SWT);
+      real dxz = c1o2 * (-Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT - Conc_C_SEB + Conc_C_SET + Conc_C_SWB - Conc_C_SWT);
+      real dxyz = -Conc_C_NEB + Conc_C_NET + Conc_C_NWB - Conc_C_NWT + Conc_C_SEB - Conc_C_SET - Conc_C_SWB + Conc_C_SWT;
+      real d0 = c1o8 * (-c2o1 * dxx - c2o1 * dyy - c2o1 * dzz + Conc_C_NEB + Conc_C_NET + Conc_C_NWB + Conc_C_NWT + Conc_C_SEB + Conc_C_SET + Conc_C_SWB + Conc_C_SWT);
 
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff_sq * dxx + yoff_sq * dyy + zoff_sq * dzz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
       dx = dx + c2o1 * xoff * dxx + yoff * dxy + zoff * dxz;
       dy = dy + c2o1 * yoff * dyy + xoff * dxy + zoff * dyz;
       dz = dz + c2o1 * zoff * dzz + xoff * dxz + yoff * dyz;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 
@@ -46723,7 +46723,7 @@ __global__ void scaleCFThS27(     real* DC,
       Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz;
       Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz;
 
-	  Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X;
+      Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X;
       My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y;
       Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z;
       //Mxx= Conc_F_SWT*((one+ae)/three+(vx1*vx1));
@@ -46801,7 +46801,7 @@ __global__ void scaleCFThS27(     real* DC,
       Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz;
       Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz;
 
-	  Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X;
+      Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X;
       My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y;
       Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z;
       //Mxx= Conc_F_SET*((one+ae)/three+(vx1*vx1));
@@ -46879,7 +46879,7 @@ __global__ void scaleCFThS27(     real* DC,
       Diff_Conc_Y = dy + y * dyy + x * dxy + z * dyz + x * z * dxyz;
       Diff_Conc_Z = dz + z * dzz + x * dxz + y * dyz + x * y * dxyz;
 
-	  Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X;
+      Mx = Conc_F*vx1-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_X;
       My = Conc_F*vx2-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Y;
       Mz = Conc_F*vx3-(c1o1)/(c3o1*omegaD_F)*c1o2/*two*/*Diff_Conc_Z;
       //Mxx= Conc_F_SEB*((one+ae)/three+(vx1*vx1));
@@ -47287,18 +47287,18 @@ __global__ void scaleCFEff27(real* DC,
                                         unsigned int* neighborFX,
                                         unsigned int* neighborFY,
                                         unsigned int* neighborFZ,
-									             unsigned long long numberOfLBnodesCoarse, 
-									             unsigned long long numberOfLBnodesFine, 
-									             bool isEvenTimestep,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
                                         unsigned int* posCSWB, 
                                         unsigned int* posFSWB, 
                                         unsigned int kCF, 
-									             real omCoarse, 
-									             real omFine, 
-									             real nu, 
-									             unsigned int nxC, 
-									             unsigned int nyC, 
-									             unsigned int nxF, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
                                         unsigned int nyF,
                                         ICellNeigh offCF)
 {
@@ -47504,10 +47504,10 @@ __global__ void scaleCFEff27(real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
@@ -47559,10 +47559,10 @@ __global__ void scaleCFEff27(real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT));
@@ -47614,10 +47614,10 @@ __global__ void scaleCFEff27(real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET));
@@ -47669,10 +47669,10 @@ __global__ void scaleCFEff27(real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB));
@@ -47734,10 +47734,10 @@ __global__ void scaleCFEff27(real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB));
@@ -47789,10 +47789,10 @@ __global__ void scaleCFEff27(real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT));
@@ -47844,10 +47844,10 @@ __global__ void scaleCFEff27(real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET));
@@ -47899,10 +47899,10 @@ __global__ void scaleCFEff27(real* DC,
 
       //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB));
@@ -50293,13 +50293,13 @@ __global__ void scaleCF27(real* DC,
       z = -c1o4;
 
       drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + 
-			 drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + 
-			 drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + 
-			 drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + 
-			 drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + 
-			 drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + 
-			 drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + 
-			 drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1;
+             drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + 
+             drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + 
+             drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + 
+             drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + 
+             drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + 
+             drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + 
+             drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1;
       vx1  = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z;
       vx2  = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z;
       vx3  = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z;
diff --git a/src/gpu/core/GPU/GridScaling/ScaleCF_F3_27.cu b/src/gpu/core/GPU/GridScaling/ScaleCF_F3_27.cu
index 5301e3c212c35f92c7fc23697f9b6badbbef4a69..536ff7ffe15a2cc4e1c34753c245450471d46b6e 100644
--- a/src/gpu/core/GPU/GridScaling/ScaleCF_F3_27.cu
+++ b/src/gpu/core/GPU/GridScaling/ScaleCF_F3_27.cu
@@ -15,138 +15,138 @@ using namespace vf::lbm::dir;
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
-													 real* DF,
-													 real* G6,
-													 unsigned int* neighborCX,
-													 unsigned int* neighborCY,
-													 unsigned int* neighborCZ,
-													 unsigned int* neighborFX,
-													 unsigned int* neighborFY,
-													 unsigned int* neighborFZ,
-													 unsigned long long numberOfLBnodesCoarse, 
-													 unsigned long long numberOfLBnodesFine, 
-													 bool isEvenTimestep,
-													 unsigned int* posCSWB, 
-													 unsigned int* posFSWB, 
-													 unsigned int kCF, 
-													 real omCoarse, 
-													 real omFine, 
-													 real nu, 
-													 unsigned int nxC, 
-													 unsigned int nyC, 
-													 unsigned int nxF, 
-													 unsigned int nyF,
-													 ICellNeigh offCF)
+                                                     real* DF,
+                                                     real* G6,
+                                                     unsigned int* neighborCX,
+                                                     unsigned int* neighborCY,
+                                                     unsigned int* neighborCZ,
+                                                     unsigned int* neighborFX,
+                                                     unsigned int* neighborFY,
+                                                     unsigned int* neighborFZ,
+                                                     unsigned long long numberOfLBnodesCoarse, 
+                                                     unsigned long long numberOfLBnodesFine, 
+                                                     bool isEvenTimestep,
+                                                     unsigned int* posCSWB, 
+                                                     unsigned int* posFSWB, 
+                                                     unsigned int kCF, 
+                                                     real omCoarse, 
+                                                     real omFine, 
+                                                     real nu, 
+                                                     unsigned int nxC, 
+                                                     unsigned int nyC, 
+                                                     unsigned int nxF, 
+                                                     unsigned int nyF,
+                                                     ICellNeigh offCF)
 {
-	real
-		*fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
-		*fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
-		*f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
-
-
-	fP00dest = &DF[dP00 * numberOfLBnodesFine];
-	fM00dest = &DF[dM00 * numberOfLBnodesFine];
-	f0P0dest = &DF[d0P0 * numberOfLBnodesFine];
-	f0M0dest = &DF[d0M0 * numberOfLBnodesFine];
-	f00Pdest = &DF[d00P * numberOfLBnodesFine];
-	f00Mdest = &DF[d00M * numberOfLBnodesFine];
-	fPP0dest = &DF[dPP0 * numberOfLBnodesFine];
-	fMM0dest = &DF[dMM0 * numberOfLBnodesFine];
-	fPM0dest = &DF[dPM0 * numberOfLBnodesFine];
-	fMP0dest = &DF[dMP0 * numberOfLBnodesFine];
-	fP0Pdest = &DF[dP0P * numberOfLBnodesFine];
-	fM0Mdest = &DF[dM0M * numberOfLBnodesFine];
-	fP0Mdest = &DF[dP0M * numberOfLBnodesFine];
-	fM0Pdest = &DF[dM0P * numberOfLBnodesFine];
-	f0PPdest = &DF[d0PP * numberOfLBnodesFine];
-	f0MMdest = &DF[d0MM * numberOfLBnodesFine];
-	f0PMdest = &DF[d0PM * numberOfLBnodesFine];
-	f0MPdest = &DF[d0MP * numberOfLBnodesFine];
-	f000dest = &DF[d000 * numberOfLBnodesFine];
-	fMMMdest = &DF[dMMM * numberOfLBnodesFine];
-	fMMPdest = &DF[dMMP * numberOfLBnodesFine];
-	fMPPdest = &DF[dMPP * numberOfLBnodesFine];
-	fMPMdest = &DF[dMPM * numberOfLBnodesFine];
-	fPPMdest = &DF[dPPM * numberOfLBnodesFine];
-	fPPPdest = &DF[dPPP * numberOfLBnodesFine];
-	fPMPdest = &DF[dPMP * numberOfLBnodesFine];
-	fPMMdest = &DF[dPMM * numberOfLBnodesFine];
-
-	real
-		*fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
-		*fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
-		*f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
-
-	if (isEvenTimestep == true)
-	{
-		fP00source = &DC[dP00 * numberOfLBnodesCoarse];
-		fM00source = &DC[dM00 * numberOfLBnodesCoarse];
-		f0P0source = &DC[d0P0 * numberOfLBnodesCoarse];
-		f0M0source = &DC[d0M0 * numberOfLBnodesCoarse];
-		f00Psource = &DC[d00P * numberOfLBnodesCoarse];
-		f00Msource = &DC[d00M * numberOfLBnodesCoarse];
-		fPP0source = &DC[dPP0 * numberOfLBnodesCoarse];
-		fMM0source = &DC[dMM0 * numberOfLBnodesCoarse];
-		fPM0source = &DC[dPM0 * numberOfLBnodesCoarse];
-		fMP0source = &DC[dMP0 * numberOfLBnodesCoarse];
-		fP0Psource = &DC[dP0P * numberOfLBnodesCoarse];
-		fM0Msource = &DC[dM0M * numberOfLBnodesCoarse];
-		fP0Msource = &DC[dP0M * numberOfLBnodesCoarse];
-		fM0Psource = &DC[dM0P * numberOfLBnodesCoarse];
-		f0PPsource = &DC[d0PP * numberOfLBnodesCoarse];
-		f0MMsource = &DC[d0MM * numberOfLBnodesCoarse];
-		f0PMsource = &DC[d0PM * numberOfLBnodesCoarse];
-		f0MPsource = &DC[d0MP * numberOfLBnodesCoarse];
-		f000source = &DC[d000 * numberOfLBnodesCoarse];
-		fMMMsource = &DC[dMMM * numberOfLBnodesCoarse];
-		fMMPsource = &DC[dMMP * numberOfLBnodesCoarse];
-		fMPPsource = &DC[dMPP * numberOfLBnodesCoarse];
-		fMPMsource = &DC[dMPM * numberOfLBnodesCoarse];
-		fPPMsource = &DC[dPPM * numberOfLBnodesCoarse];
-		fPPPsource = &DC[dPPP * numberOfLBnodesCoarse];
-		fPMPsource = &DC[dPMP * numberOfLBnodesCoarse];
-		fPMMsource = &DC[dPMM * numberOfLBnodesCoarse];
-	}
-	else
-	{
-		fP00source = &DC[dM00 * numberOfLBnodesCoarse];
-		fM00source = &DC[dP00 * numberOfLBnodesCoarse];
-		f0P0source = &DC[d0M0 * numberOfLBnodesCoarse];
-		f0M0source = &DC[d0P0 * numberOfLBnodesCoarse];
-		f00Psource = &DC[d00M * numberOfLBnodesCoarse];
-		f00Msource = &DC[d00P * numberOfLBnodesCoarse];
-		fPP0source = &DC[dMM0 * numberOfLBnodesCoarse];
-		fMM0source = &DC[dPP0 * numberOfLBnodesCoarse];
-		fPM0source = &DC[dMP0 * numberOfLBnodesCoarse];
-		fMP0source = &DC[dPM0 * numberOfLBnodesCoarse];
-		fP0Psource = &DC[dM0M * numberOfLBnodesCoarse];
-		fM0Msource = &DC[dP0P * numberOfLBnodesCoarse];
-		fP0Msource = &DC[dM0P * numberOfLBnodesCoarse];
-		fM0Psource = &DC[dP0M * numberOfLBnodesCoarse];
-		f0PPsource = &DC[d0MM * numberOfLBnodesCoarse];
-		f0MMsource = &DC[d0PP * numberOfLBnodesCoarse];
-		f0PMsource = &DC[d0MP * numberOfLBnodesCoarse];
-		f0MPsource = &DC[d0PM * numberOfLBnodesCoarse];
-		f000source = &DC[d000 * numberOfLBnodesCoarse];
-		fMMMsource = &DC[dPPP * numberOfLBnodesCoarse];
-		fMMPsource = &DC[dPPM * numberOfLBnodesCoarse];
-		fMPPsource = &DC[dPMM * numberOfLBnodesCoarse];
-		fMPMsource = &DC[dPMP * numberOfLBnodesCoarse];
-		fPPMsource = &DC[dMMP * numberOfLBnodesCoarse];
-		fPPPsource = &DC[dMMM * numberOfLBnodesCoarse];
-		fPMPsource = &DC[dMPM * numberOfLBnodesCoarse];
-		fPMMsource = &DC[dMPP * numberOfLBnodesCoarse];
-	}
-
-	Distributions6 G;
-	G.g[dP00] = &G6[dP00 * numberOfLBnodesFine];
-	G.g[dM00] = &G6[dM00 * numberOfLBnodesFine];
-	G.g[d0P0] = &G6[d0P0 * numberOfLBnodesFine];
-	G.g[d0M0] = &G6[d0M0 * numberOfLBnodesFine];
-	G.g[d00P] = &G6[d00P * numberOfLBnodesFine];
-	G.g[d00M] = &G6[d00M * numberOfLBnodesFine];
-
-	////////////////////////////////////////////////////////////////////////////////
+    real
+        *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
+        *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
+        *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
+
+
+    fP00dest = &DF[dP00 * numberOfLBnodesFine];
+    fM00dest = &DF[dM00 * numberOfLBnodesFine];
+    f0P0dest = &DF[d0P0 * numberOfLBnodesFine];
+    f0M0dest = &DF[d0M0 * numberOfLBnodesFine];
+    f00Pdest = &DF[d00P * numberOfLBnodesFine];
+    f00Mdest = &DF[d00M * numberOfLBnodesFine];
+    fPP0dest = &DF[dPP0 * numberOfLBnodesFine];
+    fMM0dest = &DF[dMM0 * numberOfLBnodesFine];
+    fPM0dest = &DF[dPM0 * numberOfLBnodesFine];
+    fMP0dest = &DF[dMP0 * numberOfLBnodesFine];
+    fP0Pdest = &DF[dP0P * numberOfLBnodesFine];
+    fM0Mdest = &DF[dM0M * numberOfLBnodesFine];
+    fP0Mdest = &DF[dP0M * numberOfLBnodesFine];
+    fM0Pdest = &DF[dM0P * numberOfLBnodesFine];
+    f0PPdest = &DF[d0PP * numberOfLBnodesFine];
+    f0MMdest = &DF[d0MM * numberOfLBnodesFine];
+    f0PMdest = &DF[d0PM * numberOfLBnodesFine];
+    f0MPdest = &DF[d0MP * numberOfLBnodesFine];
+    f000dest = &DF[d000 * numberOfLBnodesFine];
+    fMMMdest = &DF[dMMM * numberOfLBnodesFine];
+    fMMPdest = &DF[dMMP * numberOfLBnodesFine];
+    fMPPdest = &DF[dMPP * numberOfLBnodesFine];
+    fMPMdest = &DF[dMPM * numberOfLBnodesFine];
+    fPPMdest = &DF[dPPM * numberOfLBnodesFine];
+    fPPPdest = &DF[dPPP * numberOfLBnodesFine];
+    fPMPdest = &DF[dPMP * numberOfLBnodesFine];
+    fPMMdest = &DF[dPMM * numberOfLBnodesFine];
+
+    real
+        *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
+        *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
+        *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
+
+    if (isEvenTimestep == true)
+    {
+        fP00source = &DC[dP00 * numberOfLBnodesCoarse];
+        fM00source = &DC[dM00 * numberOfLBnodesCoarse];
+        f0P0source = &DC[d0P0 * numberOfLBnodesCoarse];
+        f0M0source = &DC[d0M0 * numberOfLBnodesCoarse];
+        f00Psource = &DC[d00P * numberOfLBnodesCoarse];
+        f00Msource = &DC[d00M * numberOfLBnodesCoarse];
+        fPP0source = &DC[dPP0 * numberOfLBnodesCoarse];
+        fMM0source = &DC[dMM0 * numberOfLBnodesCoarse];
+        fPM0source = &DC[dPM0 * numberOfLBnodesCoarse];
+        fMP0source = &DC[dMP0 * numberOfLBnodesCoarse];
+        fP0Psource = &DC[dP0P * numberOfLBnodesCoarse];
+        fM0Msource = &DC[dM0M * numberOfLBnodesCoarse];
+        fP0Msource = &DC[dP0M * numberOfLBnodesCoarse];
+        fM0Psource = &DC[dM0P * numberOfLBnodesCoarse];
+        f0PPsource = &DC[d0PP * numberOfLBnodesCoarse];
+        f0MMsource = &DC[d0MM * numberOfLBnodesCoarse];
+        f0PMsource = &DC[d0PM * numberOfLBnodesCoarse];
+        f0MPsource = &DC[d0MP * numberOfLBnodesCoarse];
+        f000source = &DC[d000 * numberOfLBnodesCoarse];
+        fMMMsource = &DC[dMMM * numberOfLBnodesCoarse];
+        fMMPsource = &DC[dMMP * numberOfLBnodesCoarse];
+        fMPPsource = &DC[dMPP * numberOfLBnodesCoarse];
+        fMPMsource = &DC[dMPM * numberOfLBnodesCoarse];
+        fPPMsource = &DC[dPPM * numberOfLBnodesCoarse];
+        fPPPsource = &DC[dPPP * numberOfLBnodesCoarse];
+        fPMPsource = &DC[dPMP * numberOfLBnodesCoarse];
+        fPMMsource = &DC[dPMM * numberOfLBnodesCoarse];
+    }
+    else
+    {
+        fP00source = &DC[dM00 * numberOfLBnodesCoarse];
+        fM00source = &DC[dP00 * numberOfLBnodesCoarse];
+        f0P0source = &DC[d0M0 * numberOfLBnodesCoarse];
+        f0M0source = &DC[d0P0 * numberOfLBnodesCoarse];
+        f00Psource = &DC[d00M * numberOfLBnodesCoarse];
+        f00Msource = &DC[d00P * numberOfLBnodesCoarse];
+        fPP0source = &DC[dMM0 * numberOfLBnodesCoarse];
+        fMM0source = &DC[dPP0 * numberOfLBnodesCoarse];
+        fPM0source = &DC[dMP0 * numberOfLBnodesCoarse];
+        fMP0source = &DC[dPM0 * numberOfLBnodesCoarse];
+        fP0Psource = &DC[dM0M * numberOfLBnodesCoarse];
+        fM0Msource = &DC[dP0P * numberOfLBnodesCoarse];
+        fP0Msource = &DC[dM0P * numberOfLBnodesCoarse];
+        fM0Psource = &DC[dP0M * numberOfLBnodesCoarse];
+        f0PPsource = &DC[d0MM * numberOfLBnodesCoarse];
+        f0MMsource = &DC[d0PP * numberOfLBnodesCoarse];
+        f0PMsource = &DC[d0MP * numberOfLBnodesCoarse];
+        f0MPsource = &DC[d0PM * numberOfLBnodesCoarse];
+        f000source = &DC[d000 * numberOfLBnodesCoarse];
+        fMMMsource = &DC[dPPP * numberOfLBnodesCoarse];
+        fMMPsource = &DC[dPPM * numberOfLBnodesCoarse];
+        fMPPsource = &DC[dPMM * numberOfLBnodesCoarse];
+        fMPMsource = &DC[dPMP * numberOfLBnodesCoarse];
+        fPPMsource = &DC[dMMP * numberOfLBnodesCoarse];
+        fPPPsource = &DC[dMMM * numberOfLBnodesCoarse];
+        fPMPsource = &DC[dMPM * numberOfLBnodesCoarse];
+        fPMMsource = &DC[dMPP * numberOfLBnodesCoarse];
+    }
+
+    Distributions6 G;
+    G.g[dP00] = &G6[dP00 * numberOfLBnodesFine];
+    G.g[dM00] = &G6[dM00 * numberOfLBnodesFine];
+    G.g[d0P0] = &G6[d0P0 * numberOfLBnodesFine];
+    G.g[d0M0] = &G6[d0M0 * numberOfLBnodesFine];
+    G.g[d00P] = &G6[d00P * numberOfLBnodesFine];
+    G.g[d00M] = &G6[d00M * numberOfLBnodesFine];
+
+    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  ix = threadIdx.x;  // Globaler x-Index 
    const unsigned  iy = blockIdx.x;   // Globaler y-Index 
    const unsigned  iz = blockIdx.y;   // Globaler z-Index 
@@ -227,47 +227,47 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
       unsigned int k0MM = k0MMbase;  
       unsigned int kMMM = kMMMbase; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM);
-	  vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
-	  vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
+      vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
+      vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
 
-	  kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
-	  kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
-	  kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
-	  kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
-	  kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
-	  kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
+      kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
+      kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
+      kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
+      kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
+      kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
+      kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
 
-	  //////////////////////////////////////////////////////////////////////////
+      //////////////////////////////////////////////////////////////////////////
       //SWT//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -280,45 +280,45 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
       k0MM = neighborCZ[k0MM];  
       kMMM = neighborCZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP);
-	  vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
-	  vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
+      vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
+      vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
 
-	  kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
-	  kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
-	  kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
-	  kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
-	  kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
-	  kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
+      kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
+      kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
+      kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
+      kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
+      kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
+      kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
 
       //////////////////////////////////////////////////////////////////////////
       //SET//
@@ -333,47 +333,47 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
       k0MM = kMMM;  
       kMMM = neighborCX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP);
-	  vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
-	  vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
-
-	  kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
-	  kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
-	  kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
-	  kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
-	  kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
-	  kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
-	  
-	  //////////////////////////////////////////////////////////////////////////
+      vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
+      vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
+
+      kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
+      kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
+      kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
+      kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
+      kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
+      kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
+      
+      //////////////////////////////////////////////////////////////////////////
       //SEB//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -386,45 +386,45 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborCX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM);
-	  vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
-	  vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
+      vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
+      vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
 
-	  kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
-	  kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
-	  kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
-	  kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
-	  kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
-	  kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
+      kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
+      kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
+      kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
+      kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
+      kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
+      kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
 
       //////////////////////////////////////////////////////////////////////////
       //NWB//
@@ -449,45 +449,45 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
       k0MM = k0MMbase;  
       kMMM = kMMMbase; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM);
-	  vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
-	  vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
+      vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
+      vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
 
-	  kxyFromfcNEQMPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
-	  kyzFromfcNEQMPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
-	  kxzFromfcNEQMPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
-	  kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
-	  kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
-	  kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
+      kxyFromfcNEQMPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
+      kyzFromfcNEQMPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
+      kxzFromfcNEQMPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
+      kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
+      kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
+      kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
 
       //////////////////////////////////////////////////////////////////////////
       //NWT//
@@ -502,45 +502,45 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
       k0MM = neighborCZ[k0MM];  
       kMMM = neighborCZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP);
-	  vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
-	  vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
+      vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
+      vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
 
-	  kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
-	  kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
-	  kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
-	  kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
-	  kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
-	  kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
+      kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
+      kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
+      kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
+      kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
+      kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
+      kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NET//
@@ -555,45 +555,45 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
       k0MM = kMMM;  
       kMMM = neighborCX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP);
-	  vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
-	  vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
+      vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
+      vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
 
-	  kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
-	  kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
-	  kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
-	  kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
-	  kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
-	  kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
+      kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
+      kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
+      kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
+      kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
+      kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
+      kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NEB//
@@ -608,142 +608,142 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborCX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM);
-	  vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
-	  vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
+      vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
+      vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
 
-	  kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
-	  kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
-	  kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
-	  kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
-	  kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
-	  kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
+      kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
+      kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
+      kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
+      kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
+      kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
+      kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
 
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
-	  a0 = c1o8*(((vx1PPM + vx1PPP) + (vx1MPM + vx1MPP)) + ((vx1PMM + vx1PMP) + (vx1MMM + vx1MMP)));
-	  ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
-	  ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
-	  az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
-	  axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
-	  axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
-	  ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
-	  axyz=		  ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
-	  b0 = c1o8*(((vx2PPM + vx2PPP) + (vx2MPM + vx2MPP)) + ((vx2PMM + vx2PMP) + (vx2MMM + vx2MMP)));
-	  bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
-	  by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
-	  bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
-	  bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
-	  bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
-	  byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
-	  bxyz=		  ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
-	  c0 = c1o8*(((vx3PPM + vx3PPP) + (vx3MPM + vx3MPP)) + ((vx3PMM + vx3PMP) + (vx3MMM + vx3MMP)));
-	  cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
-	  cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
-	  cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
-	  cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
-	  cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
-	  cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
-	  cxyz=		  ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
-
-	  //bxx = zero;
-	  //cxx = zero;
-	  //ayy = zero;
-	  //cyy = zero;
-	  //azz = zero;
-	  //bzz = zero;
-	  //axx = zero;
-	  //byy = zero;
-	  //czz = zero;
-
-	  bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
-	  cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
-
-	  ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
-	  cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
-
-	  azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
-	  bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
-
-	  axx = (c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
-		  + (c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
-
-	  byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
-		  + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
-
-	  czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
-		  + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
-
-	  a0 -= c1o4*(axx + ayy + azz);
-	  b0 -= c1o4*(bxx + byy + bzz);
-	  c0 -= c1o4*(cxx + cyy + czz);
+      a0 = c1o8*(((vx1PPM + vx1PPP) + (vx1MPM + vx1MPP)) + ((vx1PMM + vx1PMP) + (vx1MMM + vx1MMP)));
+      ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
+      ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
+      az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
+      axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
+      axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
+      ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
+      axyz=          ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
+      b0 = c1o8*(((vx2PPM + vx2PPP) + (vx2MPM + vx2MPP)) + ((vx2PMM + vx2PMP) + (vx2MMM + vx2MMP)));
+      bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
+      by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
+      bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
+      bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
+      bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
+      byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
+      bxyz=          ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
+      c0 = c1o8*(((vx3PPM + vx3PPP) + (vx3MPM + vx3MPP)) + ((vx3PMM + vx3PMP) + (vx3MMM + vx3MMP)));
+      cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
+      cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
+      cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
+      cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
+      cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
+      cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
+      cxyz=          ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
+
+      //bxx = zero;
+      //cxx = zero;
+      //ayy = zero;
+      //cyy = zero;
+      //azz = zero;
+      //bzz = zero;
+      //axx = zero;
+      //byy = zero;
+      //czz = zero;
+
+      bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
+      cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
+
+      ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
+      cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
+
+      azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
+      bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
+
+      axx = (c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
+          + (c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
+
+      byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
+          + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
+
+      czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
+          + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
+
+      a0 -= c1o4*(axx + ayy + azz);
+      b0 -= c1o4*(bxx + byy + bzz);
+      c0 -= c1o4*(cxx + cyy + czz);
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real kxyAverage = c0;
+      real kyzAverage = c0;
+      real kxzAverage = c0;
+      real kxxMyyAverage = c0;
+      real kxxMzzAverage = c0;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //Press
+      //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
+      //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
+      //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
+      //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
+      //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
+      //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
+      //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
+      //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage = c0;
-	  real kyzAverage = c0;
-	  real kxzAverage = c0;
-	  real kxxMyyAverage = c0;
-	  real kxxMzzAverage = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //Press
-	  //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
-	  //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
-	  //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
-	  //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
-	  dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
-	  dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
-	  dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
-	  dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
-	  dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
-	  dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
+      //drho
+      d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
+      dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
+      dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
+      dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
+      dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
+      dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
+      dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
       dxyz =  -drhoPPM + drhoPPP + drhoMPM - drhoMPP + drhoPMM - drhoPMP - drhoMMM + drhoMMP;
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
       ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
@@ -756,3552 +756,3552 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
-	  dx = dx + yoff * dxy + zoff * dxz;
-	  dy = dy + xoff * dxy + zoff * dyz;
-	  dz = dz + xoff * dxz + yoff * dyz;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0;
-	  real mfabb = c0;
-	  real mfbcb = c0;
-	  real mfbab = c0;
-	  real mfbbc = c0;
-	  real mfbba = c0;
-	  real mfccb = c0;
-	  real mfaab = c0;
-	  real mfcab = c0;
-	  real mfacb = c0;
-	  real mfcbc = c0;
-	  real mfaba = c0;
-	  real mfcba = c0;
-	  real mfabc = c0;
-	  real mfbcc = c0;
-	  real mfbaa = c0;
-	  real mfbca = c0;
-	  real mfbac = c0;
-	  real mfbbb = c0;
-	  real mfccc = c0;
-	  real mfaac = c0;
-	  real mfcac = c0;
-	  real mfacc = c0;
-	  real mfcca = c0;
-	  real mfaaa = c0;
-	  real mfcaa = c0;
-	  real mfaca = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mgcbb = c0;
-	  real mgabb = c0;
-	  real mgbcb = c0;
-	  real mgbab = c0;
-	  real mgbbc = c0;
-	  real mgbba = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = two - o;
-	  //real residu, residutmp;
-	  //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  real dxux;
-	  real dyuy;
-	  real dzuz;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
-	  dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
-	  dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
-	  mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  //mgcbb = zero;
-	  //mgabb = zero;
-	  //mgbcb = zero;
-	  //mgbab = zero;
-	  //mgbbc = zero;
-	  //mgbba = zero;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k000base = posFSWB[k];
-	  kM00base = neighborFX[k000base];
-	  k0M0base = neighborFY[k000base];
-	  k00Mbase = neighborFZ[k000base];
-	  kMM0base = neighborFY[kM00base];
-	  kM0Mbase = neighborFZ[kM00base];
-	  k0MMbase = neighborFZ[k0M0base];
-	  kMMMbase = neighborFZ[kMM0base];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k000base;
-	  kM00 = kM00base;
-	  k0M0 = k0M0base;
-	  k00M = k00Mbase;
-	  kMM0 = kMM0base;
-	  kM0M = kM0Mbase;
-	  k0MM = k0MMbase;
-	  kMMM = kMMMbase;
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
-	  dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
-	  dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
-	  mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  //mgcbb = zero;
-	  //mgabb = zero;
-	  //mgbcb = zero;
-	  //mgbab = zero;
-	  //mgbbc = zero;
-	  //mgbba = zero;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k00M;
-	  kM00 = kM0M;
-	  k0M0 = k0MM;
-	  k00M = neighborFZ[k00M];
-	  kMM0 = kMMM;
-	  kM0M = neighborFZ[kM0M];
-	  k0MM = neighborFZ[k0MM];
-	  kMMM = neighborFZ[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
-	  dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
-	  dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
-	  mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  //mgcbb = zero;
-	  //mgabb = zero;
-	  //mgbcb = zero;
-	  //mgbab = zero;
-	  //mgbbc = zero;
-	  //mgbba = zero;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = kM00;
-	  kM00 = neighborFX[kM00];
-	  k0M0 = kMM0;
-	  k00M = kM0M;
-	  kMM0 = neighborFX[kMM0];
-	  kM0M = neighborFX[kM0M];
-	  k0MM = kMMM;
-	  kMMM = neighborFX[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
-	  dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
-	  dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
-	  mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  //mgcbb = zero;
-	  //mgabb = zero;
-	  //mgbcb = zero;
-	  //mgbab = zero;
-	  //mgbbc = zero;
-	  //mgbba = zero;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k00M = k000;
-	  kM0M = kM00;
-	  k0MM = k0M0;
-	  kMMM = kMM0;
-	  k000 = kM00base;
-	  kM00 = neighborFX[kM00base];
-	  k0M0 = kMM0base;
-	  kMM0 = neighborFX[kMM0base];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
-	  dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
-	  dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
-	  mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  //mgcbb = zero;
-	  //mgabb = zero;
-	  //mgbcb = zero;
-	  //mgbab = zero;
-	  //mgbbc = zero;
-	  //mgbba = zero;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k000base = k0M0base;
-	  kM00base = kMM0base;
-	  k0M0base = neighborFY[k0M0base];
-	  k00Mbase = k0MMbase;
-	  kMM0base = neighborFY[kMM0base];
-	  kM0Mbase = kMMMbase;
-	  k0MMbase = neighborFY[k0MMbase];
-	  kMMMbase = neighborFY[kMMMbase];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k000base;
-	  kM00 = kM00base;
-	  k0M0 = k0M0base;
-	  k00M = k00Mbase;
-	  kMM0 = kMM0base;
-	  kM0M = kM0Mbase;
-	  k0MM = k0MMbase;
-	  kMMM = kMMMbase;
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
-	  dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
-	  dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
-	  mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  //mgcbb = zero;
-	  //mgabb = zero;
-	  //mgbcb = zero;
-	  //mgbab = zero;
-	  //mgbbc = zero;
-	  //mgbba = zero;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k00M;
-	  kM00 = kM0M;
-	  k0M0 = k0MM;
-	  k00M = neighborFZ[k00M];
-	  kMM0 = kMMM;
-	  kM0M = neighborFZ[kM0M];
-	  k0MM = neighborFZ[k0MM];
-	  kMMM = neighborFZ[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
-	  dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
-	  dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
-	  mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  //mgcbb = zero;
-	  //mgabb = zero;
-	  //mgbcb = zero;
-	  //mgbab = zero;
-	  //mgbbc = zero;
-	  //mgbba = zero;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = kM00;
-	  kM00 = neighborFX[kM00];
-	  k0M0 = kMM0;
-	  k00M = kM0M;
-	  kMM0 = neighborFX[kMM0];
-	  kM0M = neighborFX[kM0M];
-	  k0MM = kMMM;
-	  kMMM = neighborFX[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
-	  dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
-	  dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
-	  mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
-	  //mgcbb = zero;
-	  //mgabb = zero;
-	  //mgbcb = zero;
-	  //mgbab = zero;
-	  //mgbbc = zero;
-	  //mgbba = zero;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k00M = k000;   
-	  kM0M = kM00;
-	  k0MM = k0M0;
-	  kMMM = kMM0;
-	  k000 = kM00base;
-	  kM00 = neighborFX[kM00base];
-	  k0M0 = kMM0base;
-	  kMM0 = neighborFX[kMM0base];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      dx = dx + yoff * dxy + zoff * dxz;
+      dy = dy + xoff * dxy + zoff * dyz;
+      dz = dz + xoff * dxz + yoff * dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0;
+      real mfabb = c0;
+      real mfbcb = c0;
+      real mfbab = c0;
+      real mfbbc = c0;
+      real mfbba = c0;
+      real mfccb = c0;
+      real mfaab = c0;
+      real mfcab = c0;
+      real mfacb = c0;
+      real mfcbc = c0;
+      real mfaba = c0;
+      real mfcba = c0;
+      real mfabc = c0;
+      real mfbcc = c0;
+      real mfbaa = c0;
+      real mfbca = c0;
+      real mfbac = c0;
+      real mfbbb = c0;
+      real mfccc = c0;
+      real mfaac = c0;
+      real mfcac = c0;
+      real mfacc = c0;
+      real mfcca = c0;
+      real mfaaa = c0;
+      real mfcaa = c0;
+      real mfaca = c0;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real mgcbb = c0;
+      real mgabb = c0;
+      real mgbcb = c0;
+      real mgbab = c0;
+      real mgbbc = c0;
+      real mgbba = c0;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = two - o;
+      //real residu, residutmp;
+      //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      real dxux;
+      real dyuy;
+      real dzuz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
+      dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
+      dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
+      mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      //mgcbb = zero;
+      //mgabb = zero;
+      //mgbcb = zero;
+      //mgbab = zero;
+      //mgbbc = zero;
+      //mgbba = zero;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k000base = posFSWB[k];
+      kM00base = neighborFX[k000base];
+      k0M0base = neighborFY[k000base];
+      k00Mbase = neighborFZ[k000base];
+      kMM0base = neighborFY[kM00base];
+      kM0Mbase = neighborFZ[kM00base];
+      k0MMbase = neighborFZ[k0M0base];
+      kMMMbase = neighborFZ[kMM0base];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k000base;
+      kM00 = kM00base;
+      k0M0 = k0M0base;
+      k00M = k00Mbase;
+      kMM0 = kMM0base;
+      kM0M = kM0Mbase;
+      k0MM = k0MMbase;
+      kMMM = kMMMbase;
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
+      dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
+      dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
+      mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      //mgcbb = zero;
+      //mgabb = zero;
+      //mgbcb = zero;
+      //mgbab = zero;
+      //mgbbc = zero;
+      //mgbba = zero;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k00M;
+      kM00 = kM0M;
+      k0M0 = k0MM;
+      k00M = neighborFZ[k00M];
+      kMM0 = kMMM;
+      kM0M = neighborFZ[kM0M];
+      k0MM = neighborFZ[k0MM];
+      kMMM = neighborFZ[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
+      dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
+      dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
+      mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      //mgcbb = zero;
+      //mgabb = zero;
+      //mgbcb = zero;
+      //mgbab = zero;
+      //mgbbc = zero;
+      //mgbba = zero;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = kM00;
+      kM00 = neighborFX[kM00];
+      k0M0 = kMM0;
+      k00M = kM0M;
+      kMM0 = neighborFX[kMM0];
+      kM0M = neighborFX[kM0M];
+      k0MM = kMMM;
+      kMMM = neighborFX[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
+      dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
+      dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
+      mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      //mgcbb = zero;
+      //mgabb = zero;
+      //mgbcb = zero;
+      //mgbab = zero;
+      //mgbbc = zero;
+      //mgbba = zero;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k00M = k000;
+      kM0M = kM00;
+      k0MM = k0M0;
+      kMMM = kMM0;
+      k000 = kM00base;
+      kM00 = neighborFX[kM00base];
+      k0M0 = kMM0base;
+      kMM0 = neighborFX[kMM0base];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
+      dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
+      dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
+      mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      //mgcbb = zero;
+      //mgabb = zero;
+      //mgbcb = zero;
+      //mgbab = zero;
+      //mgbbc = zero;
+      //mgbba = zero;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k000base = k0M0base;
+      kM00base = kMM0base;
+      k0M0base = neighborFY[k0M0base];
+      k00Mbase = k0MMbase;
+      kMM0base = neighborFY[kMM0base];
+      kM0Mbase = kMMMbase;
+      k0MMbase = neighborFY[k0MMbase];
+      kMMMbase = neighborFY[kMMMbase];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k000base;
+      kM00 = kM00base;
+      k0M0 = k0M0base;
+      k00M = k00Mbase;
+      kMM0 = kMM0base;
+      kM0M = kM0Mbase;
+      k0MM = k0MMbase;
+      kMMM = kMMMbase;
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
+      dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
+      dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
+      mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      //mgcbb = zero;
+      //mgabb = zero;
+      //mgbcb = zero;
+      //mgbab = zero;
+      //mgbbc = zero;
+      //mgbba = zero;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k00M;
+      kM00 = kM0M;
+      k0M0 = k0MM;
+      k00M = neighborFZ[k00M];
+      kMM0 = kMMM;
+      kM0M = neighborFZ[kM0M];
+      k0MM = neighborFZ[k0MM];
+      kMMM = neighborFZ[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
+      dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
+      dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
+      mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      //mgcbb = zero;
+      //mgabb = zero;
+      //mgbcb = zero;
+      //mgbab = zero;
+      //mgbbc = zero;
+      //mgbba = zero;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = kM00;
+      kM00 = neighborFX[kM00];
+      k0M0 = kMM0;
+      k00M = kM0M;
+      kMM0 = neighborFX[kMM0];
+      kM0M = neighborFX[kM0M];
+      k0MM = kMMM;
+      kMMM = neighborFX[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      dxux = (ax + c2o1*axx*x + axy*y + axz*z + axyz*y*z);
+      dyuy = (by + bxy*x + c2o1*byy*y + byz*z + bxyz*x*z);
+      dzuz = (cz - cxz*x + cyz*y + c2o1*czz*z + cxyz*x*y);
+      mgcbb =  (vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgabb = -(vvx * axx + dxux * dxux) * (eps_new * eps_new) * (c1o1 + press);
+      mgbcb =  (vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbab = -(vvy * byy + dyuy * dyuy) * (eps_new * eps_new) * (c1o1 + press);
+      mgbbc =  (vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      mgbba = -(vvz * czz + dzuz * dzuz) * (eps_new * eps_new) * (c1o1 + press);
+      //mgcbb = zero;
+      //mgabb = zero;
+      //mgbcb = zero;
+      //mgbab = zero;
+      //mgbbc = zero;
+      //mgbba = zero;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k00M = k000;   
+      kM0M = kM00;
+      k0MM = k0M0;
+      kMMM = kMM0;
+      k000 = kM00base;
+      kM00 = neighborFX[kM00base];
+      k0M0 = kMM0base;
+      kMM0 = neighborFX[kMM0base];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -4362,138 +4362,138 @@ __global__ void scaleCF_comp_D3Q27F3_2018(real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleCF_comp_D3Q27F3( real* DC,
-												 real* DF,
-												 real* G6,
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posCSWB, 
-												 unsigned int* posFSWB, 
-												 unsigned int kCF, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offCF)
+                                                 real* DF,
+                                                 real* G6,
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posCSWB, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kCF, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offCF)
 {
-	real
-		*fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
-		*fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
-		*f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
-
-
-	fP00dest = &DF[dP00 * numberOfLBnodesFine];
-	fM00dest = &DF[dM00 * numberOfLBnodesFine];
-	f0P0dest = &DF[d0P0 * numberOfLBnodesFine];
-	f0M0dest = &DF[d0M0 * numberOfLBnodesFine];
-	f00Pdest = &DF[d00P * numberOfLBnodesFine];
-	f00Mdest = &DF[d00M * numberOfLBnodesFine];
-	fPP0dest = &DF[dPP0 * numberOfLBnodesFine];
-	fMM0dest = &DF[dMM0 * numberOfLBnodesFine];
-	fPM0dest = &DF[dPM0 * numberOfLBnodesFine];
-	fMP0dest = &DF[dMP0 * numberOfLBnodesFine];
-	fP0Pdest = &DF[dP0P * numberOfLBnodesFine];
-	fM0Mdest = &DF[dM0M * numberOfLBnodesFine];
-	fP0Mdest = &DF[dP0M * numberOfLBnodesFine];
-	fM0Pdest = &DF[dM0P * numberOfLBnodesFine];
-	f0PPdest = &DF[d0PP * numberOfLBnodesFine];
-	f0MMdest = &DF[d0MM * numberOfLBnodesFine];
-	f0PMdest = &DF[d0PM * numberOfLBnodesFine];
-	f0MPdest = &DF[d0MP * numberOfLBnodesFine];
-	f000dest = &DF[d000 * numberOfLBnodesFine];
-	fMMMdest = &DF[dMMM * numberOfLBnodesFine];
-	fMMPdest = &DF[dMMP * numberOfLBnodesFine];
-	fMPPdest = &DF[dMPP * numberOfLBnodesFine];
-	fMPMdest = &DF[dMPM * numberOfLBnodesFine];
-	fPPMdest = &DF[dPPM * numberOfLBnodesFine];
-	fPPPdest = &DF[dPPP * numberOfLBnodesFine];
-	fPMPdest = &DF[dPMP * numberOfLBnodesFine];
-	fPMMdest = &DF[dPMM * numberOfLBnodesFine];
-
-	real
-		*fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
-		*fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
-		*f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
-
-	if (isEvenTimestep == true)
-	{
-		fP00source = &DC[dP00 * numberOfLBnodesCoarse];
-		fM00source = &DC[dM00 * numberOfLBnodesCoarse];
-		f0P0source = &DC[d0P0 * numberOfLBnodesCoarse];
-		f0M0source = &DC[d0M0 * numberOfLBnodesCoarse];
-		f00Psource = &DC[d00P * numberOfLBnodesCoarse];
-		f00Msource = &DC[d00M * numberOfLBnodesCoarse];
-		fPP0source = &DC[dPP0 * numberOfLBnodesCoarse];
-		fMM0source = &DC[dMM0 * numberOfLBnodesCoarse];
-		fPM0source = &DC[dPM0 * numberOfLBnodesCoarse];
-		fMP0source = &DC[dMP0 * numberOfLBnodesCoarse];
-		fP0Psource = &DC[dP0P * numberOfLBnodesCoarse];
-		fM0Msource = &DC[dM0M * numberOfLBnodesCoarse];
-		fP0Msource = &DC[dP0M * numberOfLBnodesCoarse];
-		fM0Psource = &DC[dM0P * numberOfLBnodesCoarse];
-		f0PPsource = &DC[d0PP * numberOfLBnodesCoarse];
-		f0MMsource = &DC[d0MM * numberOfLBnodesCoarse];
-		f0PMsource = &DC[d0PM * numberOfLBnodesCoarse];
-		f0MPsource = &DC[d0MP * numberOfLBnodesCoarse];
-		f000source = &DC[d000 * numberOfLBnodesCoarse];
-		fMMMsource = &DC[dMMM * numberOfLBnodesCoarse];
-		fMMPsource = &DC[dMMP * numberOfLBnodesCoarse];
-		fMPPsource = &DC[dMPP * numberOfLBnodesCoarse];
-		fMPMsource = &DC[dMPM * numberOfLBnodesCoarse];
-		fPPMsource = &DC[dPPM * numberOfLBnodesCoarse];
-		fPPPsource = &DC[dPPP * numberOfLBnodesCoarse];
-		fPMPsource = &DC[dPMP * numberOfLBnodesCoarse];
-		fPMMsource = &DC[dPMM * numberOfLBnodesCoarse];
-	}
-	else
-	{
-		fP00source = &DC[dM00 * numberOfLBnodesCoarse];
-		fM00source = &DC[dP00 * numberOfLBnodesCoarse];
-		f0P0source = &DC[d0M0 * numberOfLBnodesCoarse];
-		f0M0source = &DC[d0P0 * numberOfLBnodesCoarse];
-		f00Psource = &DC[d00M * numberOfLBnodesCoarse];
-		f00Msource = &DC[d00P * numberOfLBnodesCoarse];
-		fPP0source = &DC[dMM0 * numberOfLBnodesCoarse];
-		fMM0source = &DC[dPP0 * numberOfLBnodesCoarse];
-		fPM0source = &DC[dMP0 * numberOfLBnodesCoarse];
-		fMP0source = &DC[dPM0 * numberOfLBnodesCoarse];
-		fP0Psource = &DC[dM0M * numberOfLBnodesCoarse];
-		fM0Msource = &DC[dP0P * numberOfLBnodesCoarse];
-		fP0Msource = &DC[dM0P * numberOfLBnodesCoarse];
-		fM0Psource = &DC[dP0M * numberOfLBnodesCoarse];
-		f0PPsource = &DC[d0MM * numberOfLBnodesCoarse];
-		f0MMsource = &DC[d0PP * numberOfLBnodesCoarse];
-		f0PMsource = &DC[d0MP * numberOfLBnodesCoarse];
-		f0MPsource = &DC[d0PM * numberOfLBnodesCoarse];
-		f000source = &DC[d000 * numberOfLBnodesCoarse];
-		fMMMsource = &DC[dPPP * numberOfLBnodesCoarse];
-		fMMPsource = &DC[dPPM * numberOfLBnodesCoarse];
-		fMPPsource = &DC[dPMM * numberOfLBnodesCoarse];
-		fMPMsource = &DC[dPMP * numberOfLBnodesCoarse];
-		fPPMsource = &DC[dMMP * numberOfLBnodesCoarse];
-		fPPPsource = &DC[dMMM * numberOfLBnodesCoarse];
-		fPMPsource = &DC[dMPM * numberOfLBnodesCoarse];
-		fPMMsource = &DC[dMPP * numberOfLBnodesCoarse];
-	}
-
-	Distributions6 G;
-	G.g[dP00] = &G6[dP00 * numberOfLBnodesFine];
-	G.g[dM00] = &G6[dM00 * numberOfLBnodesFine];
-	G.g[d0P0] = &G6[d0P0 * numberOfLBnodesFine];
-	G.g[d0M0] = &G6[d0M0 * numberOfLBnodesFine];
-	G.g[d00P] = &G6[d00P * numberOfLBnodesFine];
-	G.g[d00M] = &G6[d00M * numberOfLBnodesFine];
-
-	////////////////////////////////////////////////////////////////////////////////
+    real
+        *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
+        *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
+        *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
+
+
+    fP00dest = &DF[dP00 * numberOfLBnodesFine];
+    fM00dest = &DF[dM00 * numberOfLBnodesFine];
+    f0P0dest = &DF[d0P0 * numberOfLBnodesFine];
+    f0M0dest = &DF[d0M0 * numberOfLBnodesFine];
+    f00Pdest = &DF[d00P * numberOfLBnodesFine];
+    f00Mdest = &DF[d00M * numberOfLBnodesFine];
+    fPP0dest = &DF[dPP0 * numberOfLBnodesFine];
+    fMM0dest = &DF[dMM0 * numberOfLBnodesFine];
+    fPM0dest = &DF[dPM0 * numberOfLBnodesFine];
+    fMP0dest = &DF[dMP0 * numberOfLBnodesFine];
+    fP0Pdest = &DF[dP0P * numberOfLBnodesFine];
+    fM0Mdest = &DF[dM0M * numberOfLBnodesFine];
+    fP0Mdest = &DF[dP0M * numberOfLBnodesFine];
+    fM0Pdest = &DF[dM0P * numberOfLBnodesFine];
+    f0PPdest = &DF[d0PP * numberOfLBnodesFine];
+    f0MMdest = &DF[d0MM * numberOfLBnodesFine];
+    f0PMdest = &DF[d0PM * numberOfLBnodesFine];
+    f0MPdest = &DF[d0MP * numberOfLBnodesFine];
+    f000dest = &DF[d000 * numberOfLBnodesFine];
+    fMMMdest = &DF[dMMM * numberOfLBnodesFine];
+    fMMPdest = &DF[dMMP * numberOfLBnodesFine];
+    fMPPdest = &DF[dMPP * numberOfLBnodesFine];
+    fMPMdest = &DF[dMPM * numberOfLBnodesFine];
+    fPPMdest = &DF[dPPM * numberOfLBnodesFine];
+    fPPPdest = &DF[dPPP * numberOfLBnodesFine];
+    fPMPdest = &DF[dPMP * numberOfLBnodesFine];
+    fPMMdest = &DF[dPMM * numberOfLBnodesFine];
+
+    real
+        *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
+        *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
+        *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
+
+    if (isEvenTimestep == true)
+    {
+        fP00source = &DC[dP00 * numberOfLBnodesCoarse];
+        fM00source = &DC[dM00 * numberOfLBnodesCoarse];
+        f0P0source = &DC[d0P0 * numberOfLBnodesCoarse];
+        f0M0source = &DC[d0M0 * numberOfLBnodesCoarse];
+        f00Psource = &DC[d00P * numberOfLBnodesCoarse];
+        f00Msource = &DC[d00M * numberOfLBnodesCoarse];
+        fPP0source = &DC[dPP0 * numberOfLBnodesCoarse];
+        fMM0source = &DC[dMM0 * numberOfLBnodesCoarse];
+        fPM0source = &DC[dPM0 * numberOfLBnodesCoarse];
+        fMP0source = &DC[dMP0 * numberOfLBnodesCoarse];
+        fP0Psource = &DC[dP0P * numberOfLBnodesCoarse];
+        fM0Msource = &DC[dM0M * numberOfLBnodesCoarse];
+        fP0Msource = &DC[dP0M * numberOfLBnodesCoarse];
+        fM0Psource = &DC[dM0P * numberOfLBnodesCoarse];
+        f0PPsource = &DC[d0PP * numberOfLBnodesCoarse];
+        f0MMsource = &DC[d0MM * numberOfLBnodesCoarse];
+        f0PMsource = &DC[d0PM * numberOfLBnodesCoarse];
+        f0MPsource = &DC[d0MP * numberOfLBnodesCoarse];
+        f000source = &DC[d000 * numberOfLBnodesCoarse];
+        fMMMsource = &DC[dMMM * numberOfLBnodesCoarse];
+        fMMPsource = &DC[dMMP * numberOfLBnodesCoarse];
+        fMPPsource = &DC[dMPP * numberOfLBnodesCoarse];
+        fMPMsource = &DC[dMPM * numberOfLBnodesCoarse];
+        fPPMsource = &DC[dPPM * numberOfLBnodesCoarse];
+        fPPPsource = &DC[dPPP * numberOfLBnodesCoarse];
+        fPMPsource = &DC[dPMP * numberOfLBnodesCoarse];
+        fPMMsource = &DC[dPMM * numberOfLBnodesCoarse];
+    }
+    else
+    {
+        fP00source = &DC[dM00 * numberOfLBnodesCoarse];
+        fM00source = &DC[dP00 * numberOfLBnodesCoarse];
+        f0P0source = &DC[d0M0 * numberOfLBnodesCoarse];
+        f0M0source = &DC[d0P0 * numberOfLBnodesCoarse];
+        f00Psource = &DC[d00M * numberOfLBnodesCoarse];
+        f00Msource = &DC[d00P * numberOfLBnodesCoarse];
+        fPP0source = &DC[dMM0 * numberOfLBnodesCoarse];
+        fMM0source = &DC[dPP0 * numberOfLBnodesCoarse];
+        fPM0source = &DC[dMP0 * numberOfLBnodesCoarse];
+        fMP0source = &DC[dPM0 * numberOfLBnodesCoarse];
+        fP0Psource = &DC[dM0M * numberOfLBnodesCoarse];
+        fM0Msource = &DC[dP0P * numberOfLBnodesCoarse];
+        fP0Msource = &DC[dM0P * numberOfLBnodesCoarse];
+        fM0Psource = &DC[dP0M * numberOfLBnodesCoarse];
+        f0PPsource = &DC[d0MM * numberOfLBnodesCoarse];
+        f0MMsource = &DC[d0PP * numberOfLBnodesCoarse];
+        f0PMsource = &DC[d0MP * numberOfLBnodesCoarse];
+        f0MPsource = &DC[d0PM * numberOfLBnodesCoarse];
+        f000source = &DC[d000 * numberOfLBnodesCoarse];
+        fMMMsource = &DC[dPPP * numberOfLBnodesCoarse];
+        fMMPsource = &DC[dPPM * numberOfLBnodesCoarse];
+        fMPPsource = &DC[dPMM * numberOfLBnodesCoarse];
+        fMPMsource = &DC[dPMP * numberOfLBnodesCoarse];
+        fPPMsource = &DC[dMMP * numberOfLBnodesCoarse];
+        fPPPsource = &DC[dMMM * numberOfLBnodesCoarse];
+        fPMPsource = &DC[dMPM * numberOfLBnodesCoarse];
+        fPMMsource = &DC[dMPP * numberOfLBnodesCoarse];
+    }
+
+    Distributions6 G;
+    G.g[dP00] = &G6[dP00 * numberOfLBnodesFine];
+    G.g[dM00] = &G6[dM00 * numberOfLBnodesFine];
+    G.g[d0P0] = &G6[d0P0 * numberOfLBnodesFine];
+    G.g[d0M0] = &G6[d0M0 * numberOfLBnodesFine];
+    G.g[d00P] = &G6[d00P * numberOfLBnodesFine];
+    G.g[d00M] = &G6[d00M * numberOfLBnodesFine];
+
+    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  ix = threadIdx.x;  // Globaler x-Index 
    const unsigned  iy = blockIdx.x;   // Globaler y-Index 
    const unsigned  iz = blockIdx.y;   // Globaler z-Index 
@@ -4574,47 +4574,47 @@ __global__ void scaleCF_comp_D3Q27F3( real* DC,
       unsigned int k0MM = k0MMbase;  
       unsigned int kMMM = kMMMbase; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM);
-	  vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
-	  vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
+      vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
+      vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
 
-	  kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
-	  kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
-	  kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
-	  kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
-	  kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
-	  kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
+      kxyFromfcNEQMMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
+      kyzFromfcNEQMMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
+      kxzFromfcNEQMMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
+      kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
+      kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
+      kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
 
-	  //////////////////////////////////////////////////////////////////////////
+      //////////////////////////////////////////////////////////////////////////
       //SWT//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -4627,45 +4627,45 @@ __global__ void scaleCF_comp_D3Q27F3( real* DC,
       k0MM = neighborCZ[k0MM];  
       kMMM = neighborCZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP);
-	  vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
-	  vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
+      vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
+      vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
 
-	  kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
-	  kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
-	  kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
-	  kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
-	  kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
-	  kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
+      kxyFromfcNEQMMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
+      kyzFromfcNEQMMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
+      kxzFromfcNEQMMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
+      kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
+      kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
+      kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
 
       //////////////////////////////////////////////////////////////////////////
       //SET//
@@ -4680,47 +4680,47 @@ __global__ void scaleCF_comp_D3Q27F3( real* DC,
       k0MM = kMMM;  
       kMMM = neighborCX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP);
-	  vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
-	  vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
-
-	  kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
-	  kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
-	  kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
-	  kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
-	  kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
-	  kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
-	  
-	  //////////////////////////////////////////////////////////////////////////
+      vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
+      vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
+
+      kxyFromfcNEQPMP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
+      kyzFromfcNEQPMP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
+      kxzFromfcNEQPMP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
+      kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
+      kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
+      kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
+      
+      //////////////////////////////////////////////////////////////////////////
       //SEB//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -4733,45 +4733,45 @@ __global__ void scaleCF_comp_D3Q27F3( real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborCX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM);
-	  vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
-	  vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
+      vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
+      vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
 
-	  kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
-	  kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
-	  kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
-	  kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
-	  kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
-	  kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
+      kxyFromfcNEQPMM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
+      kyzFromfcNEQPMM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
+      kxzFromfcNEQPMM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
+      kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
+      kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
+      kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
 
       //////////////////////////////////////////////////////////////////////////
       //NWB//
@@ -4796,45 +4796,45 @@ __global__ void scaleCF_comp_D3Q27F3( real* DC,
       k0MM = k0MMbase;  
       kMMM = kMMMbase; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM);
-	  vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
-	  vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
+      vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
+      vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
 
-	  kxyFromfcNEQMPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
-	  kyzFromfcNEQMPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
-	  kxzFromfcNEQMPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
-	  kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
-	  kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
-	  kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
+      kxyFromfcNEQMPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
+      kyzFromfcNEQMPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
+      kxzFromfcNEQMPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
+      kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
+      kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
+      kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
 
       //////////////////////////////////////////////////////////////////////////
       //NWT//
@@ -4849,45 +4849,45 @@ __global__ void scaleCF_comp_D3Q27F3( real* DC,
       k0MM = neighborCZ[k0MM];  
       kMMM = neighborCZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP);
-	  vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
-	  vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
+      vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
+      vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
 
-	  kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
-	  kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
-	  kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
-	  kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
-	  kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
-	  kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
+      kxyFromfcNEQMPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
+      kyzFromfcNEQMPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
+      kxzFromfcNEQMPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
+      kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
+      kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
+      kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NET//
@@ -4902,45 +4902,45 @@ __global__ void scaleCF_comp_D3Q27F3( real* DC,
       k0MM = kMMM;  
       kMMM = neighborCX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP);
-	  vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
-	  vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
+      vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
+      vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
 
-	  kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
-	  kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
-	  kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
-	  kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
-	  kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
-	  kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
+      kxyFromfcNEQPPP = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
+      kyzFromfcNEQPPP = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
+      kxzFromfcNEQPPP = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
+      kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
+      kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
+      kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NEB//
@@ -4955,142 +4955,142 @@ __global__ void scaleCF_comp_D3Q27F3( real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborCX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM);
-	  vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
-	  vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
+      vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
+      vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
 
-	  kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
-	  kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
-	  kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
-	  kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
-	  kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
-	  kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
+      kxyFromfcNEQPPM = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
+      kyzFromfcNEQPPM = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
+      kxzFromfcNEQPPM = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
+      kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
+      kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
+      kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
 
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
-	  a0 = c1o8*(((vx1PPM + vx1PPP) + (vx1MPM + vx1MPP)) + ((vx1PMM + vx1PMP) + (vx1MMM + vx1MMP)));
-	  ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
-	  ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
-	  az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
-	  axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
-	  axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
-	  ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
-	  axyz=		  ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
-	  b0 = c1o8*(((vx2PPM + vx2PPP) + (vx2MPM + vx2MPP)) + ((vx2PMM + vx2PMP) + (vx2MMM + vx2MMP)));
-	  bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
-	  by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
-	  bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
-	  bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
-	  bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
-	  byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
-	  bxyz=		  ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
-	  c0 = c1o8*(((vx3PPM + vx3PPP) + (vx3MPM + vx3MPP)) + ((vx3PMM + vx3PMP) + (vx3MMM + vx3MMP)));
-	  cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
-	  cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
-	  cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
-	  cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
-	  cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
-	  cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
-	  cxyz=		  ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
-
-	  //bxx = zero;
-	  //cxx = zero;
-	  //ayy = zero;
-	  //cyy = zero;
-	  //azz = zero;
-	  //bzz = zero;
-	  //axx = zero;
-	  //byy = zero;
-	  //czz = zero;
-
-	  bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
-	  cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
-
-	  ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
-	  cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
-
-	  azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
-	  bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
-
-	  axx = (c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
-		  + (c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
-
-	  byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
-		  + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
-
-	  czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
-		  + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
-
-	  a0 -= c1o4*(axx + ayy + azz);
-	  b0 -= c1o4*(bxx + byy + bzz);
-	  c0 -= c1o4*(cxx + cyy + czz);
+      a0 = c1o8*(((vx1PPM + vx1PPP) + (vx1MPM + vx1MPP)) + ((vx1PMM + vx1PMP) + (vx1MMM + vx1MMP)));
+      ax = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
+      ay = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
+      az = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
+      axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
+      axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
+      ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
+      axyz=          ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
+      b0 = c1o8*(((vx2PPM + vx2PPP) + (vx2MPM + vx2MPP)) + ((vx2PMM + vx2PMP) + (vx2MMM + vx2MMP)));
+      bx = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
+      by = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
+      bz = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
+      bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
+      bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
+      byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
+      bxyz=          ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
+      c0 = c1o8*(((vx3PPM + vx3PPP) + (vx3MPM + vx3MPP)) + ((vx3PMM + vx3PMP) + (vx3MMM + vx3MMP)));
+      cx = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
+      cy = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
+      cz = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
+      cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
+      cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
+      cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
+      cxyz=          ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
+
+      //bxx = zero;
+      //cxx = zero;
+      //ayy = zero;
+      //cyy = zero;
+      //azz = zero;
+      //bzz = zero;
+      //axx = zero;
+      //byy = zero;
+      //czz = zero;
+
+      bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
+      cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
+
+      ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
+      cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
+
+      azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
+      bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
+
+      axx = (c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
+          + (c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
+
+      byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
+          + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
+
+      czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
+          + (c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
+
+      a0 -= c1o4*(axx + ayy + azz);
+      b0 -= c1o4*(bxx + byy + bzz);
+      c0 -= c1o4*(cxx + cyy + czz);
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real kxyAverage = c0;
+      real kyzAverage = c0;
+      real kxzAverage = c0;
+      real kxxMyyAverage = c0;
+      real kxxMzzAverage = c0;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //Press
+      //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
+      //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
+      //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
+      //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
+      //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
+      //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
+      //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
+      //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage = c0;
-	  real kyzAverage = c0;
-	  real kxzAverage = c0;
-	  real kxxMyyAverage = c0;
-	  real kxxMzzAverage = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //Press
-	  //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
-	  //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
-	  //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
-	  //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
-	  dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
-	  dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
-	  dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
-	  dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
-	  dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
-	  dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
+      //drho
+      d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
+      dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
+      dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
+      dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
+      dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
+      dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
+      dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
       dxyz =  -drhoPPM + drhoPPP + drhoMPM - drhoMPP + drhoPMM - drhoPMP - drhoMMM + drhoMMP;
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | x---x	
-	  // |	 ---+-+-> |    ----> off-vector
-	  // |		| x---x 
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      | x---x    
+      // |     ---+-+-> |    ----> off-vector
+      // |        | x---x 
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
       ay = ay + c2o1 * yoff * ayy + xoff * axy + zoff * ayz;
@@ -5103,3477 +5103,3477 @@ __global__ void scaleCF_comp_D3Q27F3( real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
-	  dx = dx + yoff * dxy + zoff * dxz;
-	  dy = dy + xoff * dxy + zoff * dyz;
-	  dz = dz + xoff * dxz + yoff * dyz;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0;
-	  real mfabb = c0;
-	  real mfbcb = c0;
-	  real mfbab = c0;
-	  real mfbbc = c0;
-	  real mfbba = c0;
-	  real mfccb = c0;
-	  real mfaab = c0;
-	  real mfcab = c0;
-	  real mfacb = c0;
-	  real mfcbc = c0;
-	  real mfaba = c0;
-	  real mfcba = c0;
-	  real mfabc = c0;
-	  real mfbcc = c0;
-	  real mfbaa = c0;
-	  real mfbca = c0;
-	  real mfbac = c0;
-	  real mfbbb = c0;
-	  real mfccc = c0;
-	  real mfaac = c0;
-	  real mfcac = c0;
-	  real mfacc = c0;
-	  real mfcca = c0;
-	  real mfaaa = c0;
-	  real mfcaa = c0;
-	  real mfaca = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mgcbb = c0;
-	  real mgabb = c0;
-	  real mgbcb = c0;
-	  real mgbab = c0;
-	  real mgbbc = c0;
-	  real mgbba = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = two - o;
-	  //real residu, residutmp;
-	  //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWB -0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb = (ax - axx) * eps_new;
-	  mgabb = (ax + axx) * eps_new;
-	  mgbcb = (by - byy) * eps_new;
-	  mgbab = (by + byy) * eps_new;
-	  mgbbc = (cz - czz) * eps_new;
-	  mgbba = (cz + czz) * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k000base = posFSWB[k];
-	  kM00base = neighborFX[k000base];
-	  k0M0base = neighborFY[k000base];
-	  k00Mbase = neighborFZ[k000base];
-	  kMM0base = neighborFY[kM00base];
-	  kM0Mbase = neighborFZ[kM00base];
-	  k0MMbase = neighborFZ[k0M0base];
-	  kMMMbase = neighborFZ[kMM0base];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k000base;
-	  kM00 = kM00base;
-	  k0M0 = k0M0base;
-	  k00M = k00Mbase;
-	  kMM0 = kMM0base;
-	  kM0M = kM0Mbase;
-	  k0MM = k0MMbase;
-	  kMMM = kMMMbase;
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SWT -0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
-	  //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb = (ax - axx) * eps_new;
-	  mgabb = (ax + axx) * eps_new;
-	  mgbcb = (by - byy) * eps_new;
-	  mgbab = (by + byy) * eps_new;
-	  mgbbc = (cz - czz) * eps_new;
-	  mgbba = (cz + czz) * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k00M;
-	  kM00 = kM0M;
-	  k0M0 = k0MM;
-	  k00M = neighborFZ[k00M];
-	  kMM0 = kMMM;
-	  kM0M = neighborFZ[kM0M];
-	  k0MM = neighborFZ[k0MM];
-	  kMMM = neighborFZ[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SET 0.25f, -0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb = (ax - axx) * eps_new;
-	  mgabb = (ax + axx) * eps_new;
-	  mgbcb = (by - byy) * eps_new;
-	  mgbab = (by + byy) * eps_new;
-	  mgbbc = (cz - czz) * eps_new;
-	  mgbba = (cz + czz) * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = kM00;
-	  kM00 = neighborFX[kM00];
-	  k0M0 = kMM0;
-	  k00M = kM0M;
-	  kMM0 = neighborFX[kMM0];
-	  kM0M = neighborFX[kM0M];
-	  k0MM = kMMM;
-	  kMMM = neighborFX[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position SEB 0.25f, -0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y = -c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
-	  //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb = (ax - axx) * eps_new;
-	  mgabb = (ax + axx) * eps_new;
-	  mgbcb = (by - byy) * eps_new;
-	  mgbab = (by + byy) * eps_new;
-	  mgbbc = (cz - czz) * eps_new;
-	  mgbba = (cz + czz) * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k00M = k000;
-	  kM0M = kM00;
-	  k0MM = k0M0;
-	  kMMM = kMM0;
-	  k000 = kM00base;
-	  kM00 = neighborFX[kM00base];
-	  k0M0 = kMM0base;
-	  kMM0 = neighborFX[kMM0base];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWB -0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb = (ax - axx) * eps_new;
-	  mgabb = (ax + axx) * eps_new;
-	  mgbcb = (by - byy) * eps_new;
-	  mgbab = (by + byy) * eps_new;
-	  mgbbc = (cz - czz) * eps_new;
-	  mgbba = (cz + czz) * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k000base = k0M0base;
-	  kM00base = kMM0base;
-	  k0M0base = neighborFY[k0M0base];
-	  k00Mbase = k0MMbase;
-	  kMM0base = neighborFY[kMM0base];
-	  kM0Mbase = kMMMbase;
-	  k0MMbase = neighborFY[k0MMbase];
-	  kMMMbase = neighborFY[kMMMbase];
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k000base;
-	  kM00 = kM00base;
-	  k0M0 = k0M0base;
-	  k00M = k00Mbase;
-	  kMM0 = kMM0base;
-	  kM0M = kM0Mbase;
-	  k0MM = k0MMbase;
-	  kMMM = kMMMbase;
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NWT -0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = -c1o4;
-	  y =  c1o4;
-	  z =  c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
-	  //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb = (ax - axx) * eps_new;
-	  mgabb = (ax + axx) * eps_new;
-	  mgbcb = (by - byy) * eps_new;
-	  mgbab = (by + byy) * eps_new;
-	  mgbbc = (cz - czz) * eps_new;
-	  mgbba = (cz + czz) * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = k00M;
-	  kM00 = kM0M;
-	  k0M0 = k0MM;
-	  k00M = neighborFZ[k00M];
-	  kMM0 = kMMM;
-	  kM0M = neighborFZ[kM0M];
-	  k0MM = neighborFZ[k0MM];
-	  kMMM = neighborFZ[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NET 0.25f, 0.25f, 0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x = c1o4;
-	  y = c1o4;
-	  z = c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
-	  //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb = (ax - axx) * eps_new;
-	  mgabb = (ax + axx) * eps_new;
-	  mgbcb = (by - byy) * eps_new;
-	  mgbab = (by + byy) * eps_new;
-	  mgbbc = (cz - czz) * eps_new;
-	  mgbba = (cz + czz) * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k000 = kM00;
-	  kM00 = neighborFX[kM00];
-	  k0M0 = kMM0;
-	  k00M = kM0M;
-	  kMM0 = neighborFX[kMM0];
-	  kM0M = neighborFX[kM0M];
-	  k0MM = kMMM;
-	  kMMM = neighborFX[kMMM];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  //reset
-	  mfcbb = c0;
-	  mfabb = c0;
-	  mfbcb = c0;
-	  mfbab = c0;
-	  mfbbc = c0;
-	  mfbba = c0;
-	  mfccb = c0;
-	  mfaab = c0;
-	  mfcab = c0;
-	  mfacb = c0;
-	  mfcbc = c0;
-	  mfaba = c0;
-	  mfcba = c0;
-	  mfabc = c0;
-	  mfbcc = c0;
-	  mfbaa = c0;
-	  mfbca = c0;
-	  mfbac = c0;
-	  mfbbb = c0;
-	  mfccc = c0;
-	  mfaac = c0;
-	  mfcac = c0;
-	  mfacc = c0;
-	  mfcca = c0;
-	  mfaaa = c0;
-	  mfcaa = c0;
-	  mfaca = c0;
-	  /////////////
-	  mgcbb = c0;
-	  mgabb = c0;
-	  mgbcb = c0;
-	  mgbab = c0;
-	  mgbbc = c0;
-	  mgbba = c0;
-
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position NEB 0.25f, 0.25f, -0.25f
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  x =  c1o4;
-	  y =  c1o4;
-	  z = -c1o4;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
-	  //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
-			//  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
-			//  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
-			//  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
-			//  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
-			//  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
-			//  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
-			//  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
-	  //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
-			//  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
-			//  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
-			//  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
-			//  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
-			//  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
-			//  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
-			//  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
-	  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-	  vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-	  vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-	  vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-	  //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
-	  //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
-	  //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-	  
-	  //2.f
-	  // linear combinations
-	  mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
-	  //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
-	 
-	  //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
-
-  	  mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
-	 
-	  mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //three
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
-	  //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-	  //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
-	  //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
-	  //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz =  c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb = (ax - axx) * eps_new;
-	  mgabb = (ax + axx) * eps_new;
-	  mgbcb = (by - byy) * eps_new;
-	  mgbab = (by + byy) * eps_new;
-	  mgbbc = (cz - czz) * eps_new;
-	  mgbba = (cz + czz) * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.f
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  //////////////////////////////////////////////////////////////////////////
-	  //index 
-	  k00M = k000;   
-	  kM0M = kM00;
-	  k0MM = k0M0;
-	  kMMM = kMM0;
-	  k000 = kM00base;
-	  kM00 = neighborFX[kM00base];
-	  k0M0 = kMM0base;
-	  kMM0 = neighborFX[kMM0base];
-	  ////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;
-	  fM00dest[kM00] = mfabb;
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      dx = dx + yoff * dxy + zoff * dxz;
+      dy = dy + xoff * dxy + zoff * dyz;
+      dz = dz + xoff * dxz + yoff * dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0;
+      real mfabb = c0;
+      real mfbcb = c0;
+      real mfbab = c0;
+      real mfbbc = c0;
+      real mfbba = c0;
+      real mfccb = c0;
+      real mfaab = c0;
+      real mfcab = c0;
+      real mfacb = c0;
+      real mfcbc = c0;
+      real mfaba = c0;
+      real mfcba = c0;
+      real mfabc = c0;
+      real mfbcc = c0;
+      real mfbaa = c0;
+      real mfbca = c0;
+      real mfbac = c0;
+      real mfbbb = c0;
+      real mfccc = c0;
+      real mfaac = c0;
+      real mfcac = c0;
+      real mfacc = c0;
+      real mfcca = c0;
+      real mfaaa = c0;
+      real mfcaa = c0;
+      real mfaca = c0;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real mgcbb = c0;
+      real mgabb = c0;
+      real mgbcb = c0;
+      real mgbab = c0;
+      real mgbbc = c0;
+      real mgbba = c0;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = two - o;
+      //real residu, residutmp;
+      //residutmp = zero;// /*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWB -0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c1o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c27o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SWT * (c9o64  + c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c1o64  - c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c27o64 + c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c9o64 + c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c1o64 - c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z )*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb = (ax - axx) * eps_new;
+      mgabb = (ax + axx) * eps_new;
+      mgbcb = (by - byy) * eps_new;
+      mgbab = (by + byy) * eps_new;
+      mgbbc = (cz - czz) * eps_new;
+      mgbba = (cz + czz) * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k000base = posFSWB[k];
+      kM00base = neighborFX[k000base];
+      k0M0base = neighborFY[k000base];
+      k00Mbase = neighborFZ[k000base];
+      kMM0base = neighborFY[kM00base];
+      kM0Mbase = neighborFZ[kM00base];
+      k0MMbase = neighborFZ[k0M0base];
+      kMMMbase = neighborFZ[kMM0base];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k000base;
+      kM00 = kM00base;
+      k0M0 = k0M0base;
+      k00M = k00Mbase;
+      kMM0 = kMM0base;
+      kM0M = kM0Mbase;
+      k0MM = k0MMbase;
+      kMMM = kMMMbase;
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+      
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SWT -0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c1o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c27o64*drho_SWT;
+      //press = press_SWT * (c27o64 + c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NEB * (c1o64  - c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SWT * (c27o64 + c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NEB * (c1o64 - c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb = (ax - axx) * eps_new;
+      mgabb = (ax + axx) * eps_new;
+      mgbcb = (by - byy) * eps_new;
+      mgbab = (by + byy) * eps_new;
+      mgbbc = (cz - czz) * eps_new;
+      mgbba = (cz + czz) * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k00M;
+      kM00 = kM0M;
+      k0M0 = k0MM;
+      k00M = neighborFZ[k00M];
+      kMM0 = kMMM;
+      kM0M = neighborFZ[kM0M];
+      k0MM = neighborFZ[k0MM];
+      kMMM = neighborFZ[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SET 0.25f, -0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c3o64*drho_NEB+c9o64*drho_NET+c1o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c27o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_SET * (c27o64 - c9o16 * mxoff + c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c3o16 * mxoff - c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c9o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c1o64  + c1o16 * mxoff - c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c1o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_SET * (c27o64 - c9o16 * xoff + c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c3o16 * xoff - c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c9o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c1o64 + c1o16 * xoff - c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c1o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb = (ax - axx) * eps_new;
+      mgabb = (ax + axx) * eps_new;
+      mgbcb = (by - byy) * eps_new;
+      mgbab = (by + byy) * eps_new;
+      mgbbc = (cz - czz) * eps_new;
+      mgbba = (cz + czz) * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = kM00;
+      kM00 = neighborFX[kM00];
+      k0M0 = kMM0;
+      k00M = kM0M;
+      kMM0 = neighborFX[kMM0];
+      kM0M = neighborFX[kM0M];
+      k0MM = kMMM;
+      kMMM = neighborFX[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position SEB 0.25f, -0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y = -c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho =c9o64*drho_NEB+c3o64*drho_NET+c3o64*drho_NWB+c1o64*drho_NWT+c27o64*drho_SEB+c9o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_SET * (c9o64  - c3o16 * mxoff + c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c1o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_NWT * (c1o64  + c1o16 * mxoff - c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c9o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c27o64 - c9o16 * mxoff + c9o16 * myoff + c9o16 * mzoff);
+      //drho =  drho_SET * (c9o64 - c3o16 * xoff + c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c1o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_NWT * (c1o64 + c1o16 * xoff - c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c27o64 - c9o16 * xoff + c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb = (ax - axx) * eps_new;
+      mgabb = (ax + axx) * eps_new;
+      mgbcb = (by - byy) * eps_new;
+      mgbab = (by + byy) * eps_new;
+      mgbbc = (cz - czz) * eps_new;
+      mgbba = (cz + czz) * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k00M = k000;
+      kM0M = kM00;
+      k0MM = k0M0;
+      kMMM = kMM0;
+      k000 = kM00base;
+      kM00 = neighborFX[kM00base];
+      k0M0 = kMM0base;
+      kMM0 = neighborFX[kMM0base];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWB -0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c3o64*drho_NET+c27o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c1o64*drho_SET+c9o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NWT * (c9o64  + c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c3o64  - c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c1o64  - c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c9o64  + c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c27o64 + c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c9o64 + c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c3o64 - c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c1o64 - c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c9o64 + c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c27o64 + c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb = (ax - axx) * eps_new;
+      mgabb = (ax + axx) * eps_new;
+      mgbcb = (by - byy) * eps_new;
+      mgbab = (by + byy) * eps_new;
+      mgbbc = (cz - czz) * eps_new;
+      mgbba = (cz + czz) * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 0
+      k000base = k0M0base;
+      kM00base = kMM0base;
+      k0M0base = neighborFY[k0M0base];
+      k00Mbase = k0MMbase;
+      kMM0base = neighborFY[kMM0base];
+      kM0Mbase = kMMMbase;
+      k0MMbase = neighborFY[k0MMbase];
+      kMMMbase = neighborFY[kMMMbase];
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k000base;
+      kM00 = kM00base;
+      k0M0 = k0M0base;
+      k00M = k00Mbase;
+      kMM0 = kMM0base;
+      kM0M = kM0Mbase;
+      k0MM = k0MMbase;
+      kMMM = kMMMbase;
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NWT -0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = -c1o4;
+      y =  c1o4;
+      z =  c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c3o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c27o64*drho_NWT+c1o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c9o64*drho_SWT;
+      //press = press_NWT * (c27o64 + c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NET * (c9o64  - c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c9o64  + c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SEB * (c1o64  - c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NEB * (c3o64  - c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NWT * (c27o64 + c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NET * (c9o64 - c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c9o64 + c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SEB * (c1o64 - c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NEB * (c3o64 - c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb = (ax - axx) * eps_new;
+      mgabb = (ax + axx) * eps_new;
+      mgbcb = (by - byy) * eps_new;
+      mgbab = (by + byy) * eps_new;
+      mgbbc = (cz - czz) * eps_new;
+      mgbba = (cz + czz) * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = k00M;
+      kM00 = kM0M;
+      k0M0 = k0MM;
+      k00M = neighborFZ[k00M];
+      kMM0 = kMMM;
+      kM0M = neighborFZ[kM0M];
+      k0MM = neighborFZ[k0MM];
+      kMMM = neighborFZ[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NET 0.25f, 0.25f, 0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x = c1o4;
+      y = c1o4;
+      z = c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c9o64*drho_NEB+c27o64*drho_NET+c3o64*drho_NWB+c9o64*drho_NWT+c3o64*drho_SEB+c9o64*drho_SET+c1o64*drho_SWB+c3o64*drho_SWT;
+      //press = press_NET * (c27o64 - c9o16 * mxoff - c9o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c9o64  + c9o16 * mxoff - c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c9o64  - c3o16 * mxoff + c9o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c3o64  + c3o16 * mxoff + c3o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c1o64  + c1o16 * mxoff + c1o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c3o64  + c3o16 * mxoff - c1o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c3o64  - c1o16 * mxoff + c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c9o64  - c3o16 * mxoff - c3o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c27o64 - c9o16 * xoff - c9o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c9o64 + c9o16 * xoff - c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c9o64 - c3o16 * xoff + c9o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c3o64 + c3o16 * xoff + c3o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c1o64 + c1o16 * xoff + c1o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c3o64 + c3o16 * xoff - c1o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c3o64 - c1o16 * xoff + c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c9o64 - c3o16 * xoff - c3o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb = (ax - axx) * eps_new;
+      mgabb = (ax + axx) * eps_new;
+      mgbcb = (by - byy) * eps_new;
+      mgbab = (by + byy) * eps_new;
+      mgbbc = (cz - czz) * eps_new;
+      mgbba = (cz + czz) * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k000 = kM00;
+      kM00 = neighborFX[kM00];
+      k0M0 = kMM0;
+      k00M = kM0M;
+      kMM0 = neighborFX[kMM0];
+      kM0M = neighborFX[kM0M];
+      k0MM = kMMM;
+      kMMM = neighborFX[kMMM];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      //reset
+      mfcbb = c0;
+      mfabb = c0;
+      mfbcb = c0;
+      mfbab = c0;
+      mfbbc = c0;
+      mfbba = c0;
+      mfccb = c0;
+      mfaab = c0;
+      mfcab = c0;
+      mfacb = c0;
+      mfcbc = c0;
+      mfaba = c0;
+      mfcba = c0;
+      mfabc = c0;
+      mfbcc = c0;
+      mfbaa = c0;
+      mfbca = c0;
+      mfbac = c0;
+      mfbbb = c0;
+      mfccc = c0;
+      mfaac = c0;
+      mfcac = c0;
+      mfacc = c0;
+      mfcca = c0;
+      mfaaa = c0;
+      mfcaa = c0;
+      mfaca = c0;
+      /////////////
+      mgcbb = c0;
+      mgabb = c0;
+      mgbcb = c0;
+      mgbab = c0;
+      mgbbc = c0;
+      mgbba = c0;
+
+
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position NEB 0.25f, 0.25f, -0.25f
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      x =  c1o4;
+      y =  c1o4;
+      z = -c1o4;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho = c27o64*drho_NEB+c9o64*drho_NET+c9o64*drho_NWB+c3o64*drho_NWT+c9o64*drho_SEB+c3o64*drho_SET+c3o64*drho_SWB+c1o64*drho_SWT;
+      //press = press_NET * (c9o64  - c3o16 * mxoff - c3o16 * myoff - c9o16 * mzoff) + 
+            //  press_NWT * (c3o64  + c3o16 * mxoff - c1o16 * myoff - c3o16 * mzoff) + 
+            //  press_SET * (c3o64  - c1o16 * mxoff + c3o16 * myoff - c3o16 * mzoff) + 
+            //  press_SWT * (c1o64  + c1o16 * mxoff + c1o16 * myoff - c1o16 * mzoff) + 
+            //  press_SWB * (c3o64  + c3o16 * mxoff + c3o16 * myoff + c1o16 * mzoff) + 
+            //  press_NWB * (c9o64  + c9o16 * mxoff - c3o16 * myoff + c3o16 * mzoff) + 
+            //  press_SEB * (c9o64  - c3o16 * mxoff + c9o16 * myoff + c3o16 * mzoff) + 
+            //  press_NEB * (c27o64 - c9o16 * mxoff - c9o16 * myoff + c9o16 * mzoff);
+      //drho  = drho_NET * (c9o64 - c3o16 * xoff - c3o16 * yoff - c9o16 * zoff) + 
+            //  drho_NWT * (c3o64 + c3o16 * xoff - c1o16 * yoff - c3o16 * zoff) + 
+            //  drho_SET * (c3o64 - c1o16 * xoff + c3o16 * yoff - c3o16 * zoff) + 
+            //  drho_SWT * (c1o64 + c1o16 * xoff + c1o16 * yoff - c1o16 * zoff) + 
+            //  drho_SWB * (c3o64 + c3o16 * xoff + c3o16 * yoff + c1o16 * zoff) + 
+            //  drho_NWB * (c9o64 + c9o16 * xoff - c3o16 * yoff + c3o16 * zoff) + 
+            //  drho_SEB * (c9o64 - c3o16 * xoff + c9o16 * yoff + c3o16 * zoff) + 
+            //  drho_NEB * (c27o64 - c9o16 * xoff - c9o16 * yoff + c9o16 * zoff);
+      press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+      vvx = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+      vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+      vvz = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+      //vvx = a0 + c1o4*(-ax - ay - az) + c1o16*(axx + axy + axz + ayy + ayz + azz) + c1o64*(-axyz);
+      //vvy = b0 + c1o4*(-bx - by - bz) + c1o16*(bxx + bxy + bxz + byy + byz + bzz) + c1o64*(-bxyz);
+      //vvz = c0 + c1o4*(-cx - cy - cz) + c1o16*(cxx + cxy + cxz + cyy + cyz + czz) + c1o64*(-cxyz);
+
+      //mfaaa = drho;
+      //mfaaa = press + (two*axx*x+axy*y+axz*z+axyz*y*z+ax + two*byy*y+bxy*x+byz*z+bxyz*x*z+by + two*czz*z+cxz*x+cyz*y+cxyz*x*y+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+      
+      //2.f
+      // linear combinations
+      mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press);
+      //mxxMyy    = -c2o3*(ax - by + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o;
+     
+      //mfabb     = -c1o3 * (bz + cy + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o;
+
+        mxxMyy    = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press);
+     
+      mfabb     = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press);
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //three
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy + axyz*x + bxyz*y + cxyz*z);
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz + cxyz*x + axyz*z);
+      //OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+      //residu =  -(one/o-c1o2)*c2o9*(bxx + bzz + (axy+axyz*z+cyz+cxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz + cxyz*x + axyz*z));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz - cxyz*x + axyz*z);
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz - cxyz*x + axyz*z);
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy + bxyz*x + axyz*y);
+      //residu =  -(one/o-c1o2)*c2o9*(cxx + cyy + (axz+axyz*y+byz+bxyz*x)*two )*eps_new*eps_new;
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy + bxyz*x + axyz*y));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy - bxyz*x + axyz*y);
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy - bxyz*x + axyz*y);
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz + cxyz*y + bxyz*z);
+      //residu =  -(one/o-c1o2)*c2o9*(ayy + azz + (bxy+bxyz*z+cxz+cxyz*y)*two )*eps_new*eps_new;
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz - cxyz*y - bxyz*z);
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz =  c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz - cxyz*y + bxyz*z);
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb = (ax - axx) * eps_new;
+      mgabb = (ax + axx) * eps_new;
+      mgbcb = (by - byy) * eps_new;
+      mgbab = (by + byy) * eps_new;
+      mgbbc = (cz - czz) * eps_new;
+      mgbba = (cz + czz) * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.f
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      //////////////////////////////////////////////////////////////////////////
+      //index 
+      k00M = k000;   
+      kM0M = kM00;
+      k0MM = k0M0;
+      kMMM = kMM0;
+      k000 = kM00base;
+      kM00 = neighborFX[kM00base];
+      k0M0 = kMM0base;
+      kMM0 = neighborFX[kMM0base];
+      ////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;
+      fM00dest[kM00] = mfabb;
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
diff --git a/src/gpu/core/GPU/GridScaling/ScaleFC27.cu b/src/gpu/core/GPU/GridScaling/ScaleFC27.cu
index 803cf0bc4197d4e31b28899254f3d85a830efeff..41ce4a2a679085c3003ca5f38ed901cc8272a100 100644
--- a/src/gpu/core/GPU/GridScaling/ScaleFC27.cu
+++ b/src/gpu/core/GPU/GridScaling/ScaleFC27.cu
@@ -15,32 +15,32 @@ using namespace vf::lbm::dir;
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleFC_0817_comp_27( real* DC, 
-												 real* DF, 
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posC, 
-												 unsigned int* posFSWB, 
-												 unsigned int kFC, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offFC)
+                                                 real* DF, 
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posC, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kFC, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offFC)
 {
    real 
-	   *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
-	   *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
-	   *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
+       *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
+       *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
+       *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
 
 
    fP00source = &DF[dP00 * numberOfLBnodesFine];
@@ -72,69 +72,69 @@ __global__ void scaleFC_0817_comp_27( real* DC,
    fPMMsource = &DF[dPMM * numberOfLBnodesFine];
 
    real
-	   *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
-	   *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
-	   *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
+       *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
+       *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
+       *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
 
    if (isEvenTimestep==true)
    {
-	   fP00dest = &DC[dP00 * numberOfLBnodesCoarse];
-	   fM00dest = &DC[dM00 * numberOfLBnodesCoarse];
-	   f0P0dest = &DC[d0P0 * numberOfLBnodesCoarse];
-	   f0M0dest = &DC[d0M0 * numberOfLBnodesCoarse];
-	   f00Pdest = &DC[d00P * numberOfLBnodesCoarse];
-	   f00Mdest = &DC[d00M * numberOfLBnodesCoarse];
-	   fPP0dest = &DC[dPP0 * numberOfLBnodesCoarse];
-	   fMM0dest = &DC[dMM0 * numberOfLBnodesCoarse];
-	   fPM0dest = &DC[dPM0 * numberOfLBnodesCoarse];
-	   fMP0dest = &DC[dMP0 * numberOfLBnodesCoarse];
-	   fP0Pdest = &DC[dP0P * numberOfLBnodesCoarse];
-	   fM0Mdest = &DC[dM0M * numberOfLBnodesCoarse];
-	   fP0Mdest = &DC[dP0M * numberOfLBnodesCoarse];
-	   fM0Pdest = &DC[dM0P * numberOfLBnodesCoarse];
-	   f0PPdest = &DC[d0PP * numberOfLBnodesCoarse];
-	   f0MMdest = &DC[d0MM * numberOfLBnodesCoarse];
-	   f0PMdest = &DC[d0PM * numberOfLBnodesCoarse];
-	   f0MPdest = &DC[d0MP * numberOfLBnodesCoarse];
-	   f000dest = &DC[d000 * numberOfLBnodesCoarse];
-	   fMMMdest = &DC[dMMM * numberOfLBnodesCoarse];
-	   fMMPdest = &DC[dMMP * numberOfLBnodesCoarse];
-	   fMPPdest = &DC[dMPP * numberOfLBnodesCoarse];
-	   fMPMdest = &DC[dMPM * numberOfLBnodesCoarse];
-	   fPPMdest = &DC[dPPM * numberOfLBnodesCoarse];
-	   fPPPdest = &DC[dPPP * numberOfLBnodesCoarse];
-	   fPMPdest = &DC[dPMP * numberOfLBnodesCoarse];
-	   fPMMdest = &DC[dPMM * numberOfLBnodesCoarse];
+       fP00dest = &DC[dP00 * numberOfLBnodesCoarse];
+       fM00dest = &DC[dM00 * numberOfLBnodesCoarse];
+       f0P0dest = &DC[d0P0 * numberOfLBnodesCoarse];
+       f0M0dest = &DC[d0M0 * numberOfLBnodesCoarse];
+       f00Pdest = &DC[d00P * numberOfLBnodesCoarse];
+       f00Mdest = &DC[d00M * numberOfLBnodesCoarse];
+       fPP0dest = &DC[dPP0 * numberOfLBnodesCoarse];
+       fMM0dest = &DC[dMM0 * numberOfLBnodesCoarse];
+       fPM0dest = &DC[dPM0 * numberOfLBnodesCoarse];
+       fMP0dest = &DC[dMP0 * numberOfLBnodesCoarse];
+       fP0Pdest = &DC[dP0P * numberOfLBnodesCoarse];
+       fM0Mdest = &DC[dM0M * numberOfLBnodesCoarse];
+       fP0Mdest = &DC[dP0M * numberOfLBnodesCoarse];
+       fM0Pdest = &DC[dM0P * numberOfLBnodesCoarse];
+       f0PPdest = &DC[d0PP * numberOfLBnodesCoarse];
+       f0MMdest = &DC[d0MM * numberOfLBnodesCoarse];
+       f0PMdest = &DC[d0PM * numberOfLBnodesCoarse];
+       f0MPdest = &DC[d0MP * numberOfLBnodesCoarse];
+       f000dest = &DC[d000 * numberOfLBnodesCoarse];
+       fMMMdest = &DC[dMMM * numberOfLBnodesCoarse];
+       fMMPdest = &DC[dMMP * numberOfLBnodesCoarse];
+       fMPPdest = &DC[dMPP * numberOfLBnodesCoarse];
+       fMPMdest = &DC[dMPM * numberOfLBnodesCoarse];
+       fPPMdest = &DC[dPPM * numberOfLBnodesCoarse];
+       fPPPdest = &DC[dPPP * numberOfLBnodesCoarse];
+       fPMPdest = &DC[dPMP * numberOfLBnodesCoarse];
+       fPMMdest = &DC[dPMM * numberOfLBnodesCoarse];
    } 
    else
    {
-	   fP00dest = &DC[dM00 * numberOfLBnodesCoarse];
-	   fM00dest = &DC[dP00 * numberOfLBnodesCoarse];
-	   f0P0dest = &DC[d0M0 * numberOfLBnodesCoarse];
-	   f0M0dest = &DC[d0P0 * numberOfLBnodesCoarse];
-	   f00Pdest = &DC[d00M * numberOfLBnodesCoarse];
-	   f00Mdest = &DC[d00P * numberOfLBnodesCoarse];
-	   fPP0dest = &DC[dMM0 * numberOfLBnodesCoarse];
-	   fMM0dest = &DC[dPP0 * numberOfLBnodesCoarse];
-	   fPM0dest = &DC[dMP0 * numberOfLBnodesCoarse];
-	   fMP0dest = &DC[dPM0 * numberOfLBnodesCoarse];
-	   fP0Pdest = &DC[dM0M * numberOfLBnodesCoarse];
-	   fM0Mdest = &DC[dP0P * numberOfLBnodesCoarse];
-	   fP0Mdest = &DC[dM0P * numberOfLBnodesCoarse];
-	   fM0Pdest = &DC[dP0M * numberOfLBnodesCoarse];
-	   f0PPdest = &DC[d0MM * numberOfLBnodesCoarse];
-	   f0MMdest = &DC[d0PP * numberOfLBnodesCoarse];
-	   f0PMdest = &DC[d0MP * numberOfLBnodesCoarse];
-	   f0MPdest = &DC[d0PM * numberOfLBnodesCoarse];
-	   f000dest = &DC[d000 * numberOfLBnodesCoarse];
-	   fMMMdest = &DC[dPPP * numberOfLBnodesCoarse];
-	   fMMPdest = &DC[dPPM * numberOfLBnodesCoarse];
-	   fMPPdest = &DC[dPMM * numberOfLBnodesCoarse];
-	   fMPMdest = &DC[dPMP * numberOfLBnodesCoarse];
-	   fPPMdest = &DC[dMMP * numberOfLBnodesCoarse];
-	   fPPPdest = &DC[dMMM * numberOfLBnodesCoarse];
-	   fPMPdest = &DC[dMPM * numberOfLBnodesCoarse];
-	   fPMMdest = &DC[dMPP * numberOfLBnodesCoarse];
+       fP00dest = &DC[dM00 * numberOfLBnodesCoarse];
+       fM00dest = &DC[dP00 * numberOfLBnodesCoarse];
+       f0P0dest = &DC[d0M0 * numberOfLBnodesCoarse];
+       f0M0dest = &DC[d0P0 * numberOfLBnodesCoarse];
+       f00Pdest = &DC[d00M * numberOfLBnodesCoarse];
+       f00Mdest = &DC[d00P * numberOfLBnodesCoarse];
+       fPP0dest = &DC[dMM0 * numberOfLBnodesCoarse];
+       fMM0dest = &DC[dPP0 * numberOfLBnodesCoarse];
+       fPM0dest = &DC[dMP0 * numberOfLBnodesCoarse];
+       fMP0dest = &DC[dPM0 * numberOfLBnodesCoarse];
+       fP0Pdest = &DC[dM0M * numberOfLBnodesCoarse];
+       fM0Mdest = &DC[dP0P * numberOfLBnodesCoarse];
+       fP0Mdest = &DC[dM0P * numberOfLBnodesCoarse];
+       fM0Pdest = &DC[dP0M * numberOfLBnodesCoarse];
+       f0PPdest = &DC[d0MM * numberOfLBnodesCoarse];
+       f0MMdest = &DC[d0PP * numberOfLBnodesCoarse];
+       f0PMdest = &DC[d0MP * numberOfLBnodesCoarse];
+       f0MPdest = &DC[d0PM * numberOfLBnodesCoarse];
+       f000dest = &DC[d000 * numberOfLBnodesCoarse];
+       fMMMdest = &DC[dPPP * numberOfLBnodesCoarse];
+       fMMPdest = &DC[dPPM * numberOfLBnodesCoarse];
+       fMPPdest = &DC[dPMM * numberOfLBnodesCoarse];
+       fMPMdest = &DC[dPMP * numberOfLBnodesCoarse];
+       fPPMdest = &DC[dMMP * numberOfLBnodesCoarse];
+       fPPPdest = &DC[dMMM * numberOfLBnodesCoarse];
+       fPMPdest = &DC[dMPM * numberOfLBnodesCoarse];
+       fPMMdest = &DC[dMPP * numberOfLBnodesCoarse];
    }
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  ix = threadIdx.x;  // Globaler x-Index 
@@ -231,26 +231,26 @@ __global__ void scaleFC_0817_comp_27( real* DC,
       f0PM = f0PMsource[k00M];
       f0MP = f0MPsource[k0M0];
       f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
       fPMP = fPMPsource[k0M0];
       fPMM = fPMMsource[k0MM];
 
       drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM);
-	  vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
-	  vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
+      vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
+      vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
 
-	  kxyFromfcNEQMMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
-	  kyzFromfcNEQMMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
-	  kxzFromfcNEQMMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
-	  kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
-	  kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
-	  kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
+      kxyFromfcNEQMMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
+      kyzFromfcNEQMMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
+      kxzFromfcNEQMMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
+      kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
+      kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
+      kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
 
       //////////////////////////////////////////////////////////////////////////
       //SWT//
@@ -265,45 +265,45 @@ __global__ void scaleFC_0817_comp_27( real* DC,
       k0MM = neighborFZ[k0MM];  
       kMMM = neighborFZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP);
-	  vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
-	  vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
+      vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
+      vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
 
-	  kxyFromfcNEQMMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
-	  kyzFromfcNEQMMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
-	  kxzFromfcNEQMMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
-	  kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
-	  kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
-	  kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
+      kxyFromfcNEQMMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
+      kyzFromfcNEQMMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
+      kxzFromfcNEQMMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
+      kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
+      kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
+      kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
 
       //////////////////////////////////////////////////////////////////////////
       //SET//
@@ -318,45 +318,45 @@ __global__ void scaleFC_0817_comp_27( real* DC,
       k0MM = kMMM;  
       kMMM = neighborFX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP);
-	  vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
-	  vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
+      vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
+      vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
 
-	  kxyFromfcNEQPMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
-	  kyzFromfcNEQPMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
-	  kxzFromfcNEQPMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
-	  kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
-	  kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
-	  kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
+      kxyFromfcNEQPMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
+      kyzFromfcNEQPMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
+      kxzFromfcNEQPMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
+      kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
+      kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
+      kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
 
       //////////////////////////////////////////////////////////////////////////
       //SEB//
@@ -371,45 +371,45 @@ __global__ void scaleFC_0817_comp_27( real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborFX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM);
-	  vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
-	  vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
+      vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
+      vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
 
-	  kxyFromfcNEQPMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
-	  kyzFromfcNEQPMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
-	  kxzFromfcNEQPMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
-	  kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
-	  kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
-	  kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
+      kxyFromfcNEQPMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
+      kyzFromfcNEQPMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
+      kxzFromfcNEQPMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
+      kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
+      kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
+      kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
 
       //////////////////////////////////////////////////////////////////////////
       //NWB//
@@ -434,47 +434,47 @@ __global__ void scaleFC_0817_comp_27( real* DC,
       k0MM = k0MMbase;  
       kMMM = kMMMbase; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM);
-	  vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
-	  vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
+      vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
+      vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
 
-	  kxyFromfcNEQMPM    = -c3o1*omegaS*   ((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
-	  kyzFromfcNEQMPM    = -c3o1*omegaS*   ((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
-	  kxzFromfcNEQMPM    = -c3o1*omegaS*   ((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
-	  kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
-	  kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
-	  kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
+      kxyFromfcNEQMPM    = -c3o1*omegaS*   ((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
+      kyzFromfcNEQMPM    = -c3o1*omegaS*   ((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
+      kxzFromfcNEQMPM    = -c3o1*omegaS*   ((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
+      kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
+      kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
+      kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
 
-	  //////////////////////////////////////////////////////////////////////////
+      //////////////////////////////////////////////////////////////////////////
       //NWT//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -487,45 +487,45 @@ __global__ void scaleFC_0817_comp_27( real* DC,
       k0MM = neighborFZ[k0MM];  
       kMMM = neighborFZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP);
-	  vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
-	  vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
+      vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
+      vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
 
-	  kxyFromfcNEQMPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
-	  kyzFromfcNEQMPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
-	  kxzFromfcNEQMPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
-	  kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
-	  kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
-	  kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
+      kxyFromfcNEQMPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
+      kyzFromfcNEQMPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
+      kxzFromfcNEQMPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
+      kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
+      kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
+      kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NET//
@@ -540,45 +540,45 @@ __global__ void scaleFC_0817_comp_27( real* DC,
       k0MM = kMMM;  
       kMMM = neighborFX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP);
-	  vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
-	  vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
+      vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
+      vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
 
-	  kxyFromfcNEQPPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
-	  kyzFromfcNEQPPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
-	  kxzFromfcNEQPPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
-	  kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
-	  kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
-	  kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
+      kxyFromfcNEQPPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
+      kyzFromfcNEQPPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
+      kxzFromfcNEQPPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
+      kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
+      kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
+      kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NEB//
@@ -593,142 +593,142 @@ __global__ void scaleFC_0817_comp_27( real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborFX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM);
-	  vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
-	  vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
+      vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
+      vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
 
-	  kxyFromfcNEQPPM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
-	  kyzFromfcNEQPPM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
-	  kxzFromfcNEQPPM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
-	  kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
-	  kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
-	  kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
+      kxyFromfcNEQPPM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
+      kyzFromfcNEQPPM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
+      kxzFromfcNEQPPM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
+      kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
+      kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
+      kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
 
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
-	  a0  = c1o8*(((vx1PPM + vx1MMP) + (vx1MPM + vx1PMP)) + ((vx1PMM + vx1MPP) + (vx1MMM + vx1PPP)));
-	  ax  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
-	  ay  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
-	  az  = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
-	  axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
-	  axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
-	  ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
-	  //axyz=		  ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
-	  b0  = c1o8*(((vx2PPM + vx2MMP) + (vx2MPM + vx2PMP)) + ((vx2PMM + vx2MPP) + (vx2MMM + vx2PPP)));
-	  bx  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
-	  by  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
-	  bz  = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
-	  bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
-	  bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
-	  byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
-	  //bxyz=		  ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
-	  c0  = c1o8*(((vx3PPM + vx3MMP) + (vx3MPM + vx3PMP)) + ((vx3PMM + vx3MPP) + (vx3MMM + vx3PPP)));
-	  cx  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
-	  cy  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
-	  cz  = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
-	  cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
-	  cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
-	  cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
-	  //cxyz=		  ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
-
-	  //bxx = zero;
-	  //cxx = zero;
-	  //ayy = zero;
-	  //cyy = zero;
-	  //azz = zero;
-	  //bzz = zero;
-	  //axx = zero;
-	  //byy = zero;
-	  //czz = zero;
-
-	  bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
-	  cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
-
-	  ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
-	  cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
-
-	  azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
-	  bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
-
-	  axx = ( c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
-		  + ( c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
-
-	  byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
-		  + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
-
-	  czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
-		  + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
-
-	  a0 -= c1o4*(axx + ayy + azz);
-	  b0 -= c1o4*(bxx + byy + bzz);
-	  c0 -= c1o4*(cxx + cyy + czz);
-
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage    = c0o1;
-	  real kyzAverage    = c0o1;
-	  real kxzAverage    = c0o1;
-	  real kxxMyyAverage = c0o1;
-	  real kxxMzzAverage = c0o1;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////Press
-	  //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
-	  //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
-	  //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
-	  //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
-	  dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
-	  dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
-	  dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
-	  dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
-	  dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
-	  dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
+      a0  = c1o8*(((vx1PPM + vx1MMP) + (vx1MPM + vx1PMP)) + ((vx1PMM + vx1MPP) + (vx1MMM + vx1PPP)));
+      ax  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
+      ay  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
+      az  = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
+      axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
+      axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
+      ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
+      //axyz=          ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
+      b0  = c1o8*(((vx2PPM + vx2MMP) + (vx2MPM + vx2PMP)) + ((vx2PMM + vx2MPP) + (vx2MMM + vx2PPP)));
+      bx  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
+      by  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
+      bz  = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
+      bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
+      bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
+      byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
+      //bxyz=          ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
+      c0  = c1o8*(((vx3PPM + vx3MMP) + (vx3MPM + vx3PMP)) + ((vx3PMM + vx3MPP) + (vx3MMM + vx3PPP)));
+      cx  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
+      cy  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
+      cz  = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
+      cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
+      cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
+      cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
+      //cxyz=          ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
+
+      //bxx = zero;
+      //cxx = zero;
+      //ayy = zero;
+      //cyy = zero;
+      //azz = zero;
+      //bzz = zero;
+      //axx = zero;
+      //byy = zero;
+      //czz = zero;
+
+      bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
+      cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
+
+      ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
+      cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
+
+      azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
+      bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
+
+      axx = ( c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
+          + ( c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
+
+      byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
+          + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
+
+      czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
+          + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
+
+      a0 -= c1o4*(axx + ayy + azz);
+      b0 -= c1o4*(bxx + byy + bzz);
+      c0 -= c1o4*(cxx + cyy + czz);
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real kxyAverage    = c0o1;
+      real kyzAverage    = c0o1;
+      real kxzAverage    = c0o1;
+      real kxxMyyAverage = c0o1;
+      real kxxMzzAverage = c0o1;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////Press
+      //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
+      //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
+      //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
+      //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
+      //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
+      //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
+      //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
+      //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
+      dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
+      dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
+      dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
+      dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
+      dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
+      dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot 
-	  //
       //
-	  // x------x
-	  // |      |
-	  // |	 ---+--->X
-	  // |		|  \
-	  // x------x   \
-	  //			off-vector
+      //
+      // x------x
+      // |      |
+      // |     ---+--->X
+      // |        |  \
+      // x------x   \
+      //            off-vector
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
@@ -742,416 +742,416 @@ __global__ void scaleFC_0817_comp_27( real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = c2o1 - o;
+      //real residu, residutmp;
+      //residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = c2o1 - o;
-	  //real residu, residutmp;
-	  //residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position C 0., 0., 0.
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //x = 0.;
-	  //y = 0.;
-	  //z = 0.;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //press = pressPPP * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressMPP * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressPMP * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressMMP * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressPPM * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  pressMPM * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  pressPMM * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
-			//  pressMMM * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
-	  //drho  = drhoPPP * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoMPP * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoPMP * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoMMP * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoPPM * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drhoMPM * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drhoPMM * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
-			//  drhoMMM * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
-	  press = d0;
-	  vvx   = a0;
-	  vvy   = b0;
-	  vvz   = c0;
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  real oP = o;// :(
-	  mxxPyyPzz = mfaaa    -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); 
-	  //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
-	  mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
-
-	  mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
-
-	  
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //3.
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy );
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz );
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz );
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy );
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy );
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz );
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz = c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz );
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k000 = posC[k];
-	  kM00 = neighborCX[k000];
-	  k0M0 = neighborCY[k000];
-	  k00M = neighborCZ[k000];
-	  kMM0 = neighborCY[kM00];
-	  kM0M = neighborCZ[kM00];
-	  k0MM = neighborCZ[k0M0];
-	  kMMM = neighborCZ[kMM0];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;                                                                 
-	  fM00dest[kM00] = mfabb;                                                               
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position C 0., 0., 0.
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //x = 0.;
+      //y = 0.;
+      //z = 0.;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //press = pressPPP * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressMPP * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressPMP * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressMMP * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressPPM * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  pressMPM * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  pressPMM * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
+            //  pressMMM * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
+      //drho  = drhoPPP * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoMPP * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoPMP * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoMMP * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoPPM * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drhoMPM * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drhoPMM * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
+            //  drhoMMM * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
+      press = d0;
+      vvx   = a0;
+      vvy   = b0;
+      vvz   = c0;
+
+      //mfaaa = drho;
+      //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      real oP = o;// :(
+      mxxPyyPzz = mfaaa    -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); 
+      //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
+      mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
+
+      mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
+
+      
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //3.
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy );
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz );
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz );
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy );
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy );
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz );
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz = c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz );
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 0
+      k000 = posC[k];
+      kM00 = neighborCX[k000];
+      k0M0 = neighborCY[k000];
+      k00M = neighborCZ[k000];
+      kMM0 = neighborCY[kM00];
+      kM0M = neighborCZ[kM00];
+      k0MM = neighborCZ[k0M0];
+      kMMM = neighborCZ[kMM0];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;                                                                 
+      fM00dest[kM00] = mfabb;                                                               
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -1211,27 +1211,27 @@ __global__ void scaleFC_0817_comp_27( real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleFC_AA2016_comp_27(real* DC, 
-												  real* DF, 
-												  unsigned int* neighborCX,
-												  unsigned int* neighborCY,
-												  unsigned int* neighborCZ,
-												  unsigned int* neighborFX,
-												  unsigned int* neighborFY,
-												  unsigned int* neighborFZ,
-												  unsigned long long numberOfLBnodesCoarse, 
-												  unsigned long long numberOfLBnodesFine, 
-												  bool isEvenTimestep,
-												  unsigned int* posC, 
-												  unsigned int* posFSWB, 
-												  unsigned int kFC, 
-												  real omCoarse, 
-												  real omFine, 
-												  real nu, 
-												  unsigned int nxC, 
-												  unsigned int nyC, 
-												  unsigned int nxF, 
-												  unsigned int nyF,
-												  ICellNeigh offFC)
+                                                  real* DF, 
+                                                  unsigned int* neighborCX,
+                                                  unsigned int* neighborCY,
+                                                  unsigned int* neighborCZ,
+                                                  unsigned int* neighborFX,
+                                                  unsigned int* neighborFY,
+                                                  unsigned int* neighborFZ,
+                                                  unsigned long long numberOfLBnodesCoarse, 
+                                                  unsigned long long numberOfLBnodesFine, 
+                                                  bool isEvenTimestep,
+                                                  unsigned int* posC, 
+                                                  unsigned int* posFSWB, 
+                                                  unsigned int kFC, 
+                                                  real omCoarse, 
+                                                  real omFine, 
+                                                  real nu, 
+                                                  unsigned int nxC, 
+                                                  unsigned int nyC, 
+                                                  unsigned int nxF, 
+                                                  unsigned int nyF,
+                                                  ICellNeigh offFC)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -1369,26 +1369,26 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
    real        kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB;
    real        a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/;
    real        d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/;
-	//////////////////////////////////////////////////////////////////////////////////////
-    real	mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca;
-	//real wadjust;
-	//real qudricLimitP = 0.01f;// * 0.0001f;
-	//real qudricLimitM = 0.01f;// * 0.0001f;
-	//real qudricLimitD = 0.01f;// * 0.001f;
-	//real omega = omFine;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	real NeqOn = c1o1;
-	real drho, rho;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//real OxxPyyPzz;
-	//real OxyyPxzz;
-	//real OxyyMxzz;
-	//real Oxyz;
-	//real O4, O5, O6;
-	//real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////////////////
+    real    mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca;
+    //real wadjust;
+    //real qudricLimitP = 0.01f;// * 0.0001f;
+    //real qudricLimitM = 0.01f;// * 0.0001f;
+    //real qudricLimitD = 0.01f;// * 0.001f;
+    //real omega = omFine;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+    real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+    real NeqOn = c1o1;
+    real drho, rho;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //real OxxPyyPzz;
+    //real OxyyPxzz;
+    //real OxyyMxzz;
+    //real Oxyz;
+    //real O4, O5, O6;
+    //real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
    if(k<kFC)
    {
@@ -1452,8 +1452,8 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-	  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-	  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+      vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+      vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE )  / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW )  / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
@@ -1461,306 +1461,306 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
       kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SWB    = mfbbb;
-			real mxxyPyzz_SWB = mxxyPyzz;
-			real mxxyMyzz_SWB = mxxyMyzz;
-			real mxxzPyyz_SWB = mxxzPyyz;
-			real mxxzMyyz_SWB = mxxzMyyz;
-			real mxyyPxzz_SWB = mxyyPxzz;
-			real mxyyMxzz_SWB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SWB    = mfbbb;
+            real mxxyPyzz_SWB = mxxyPyzz;
+            real mxxyMyzz_SWB = mxxyMyzz;
+            real mxxzPyyz_SWB = mxxzPyyz;
+            real mxxzMyyz_SWB = mxxzMyyz;
+            real mxyyPxzz_SWB = mxyyPxzz;
+            real mxyyMxzz_SWB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -1815,7 +1815,7 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
 
 
-	  
+      
       //////////////////////////////////////////////////////////////////////////
       //SWT//
       //////////////////////////////////////////////////////////////////////////
@@ -1859,8 +1859,8 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-	  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-	  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+      vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+      vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
       kyzFromfcNEQ_SWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
@@ -1868,306 +1868,306 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
       kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SWT    = mfbbb;
-			real mxxyPyzz_SWT = mxxyPyzz;
-			real mxxyMyzz_SWT = mxxyMyzz;
-			real mxxzPyyz_SWT = mxxzPyyz;
-			real mxxzMyyz_SWT = mxxzMyyz;
-			real mxyyPxzz_SWT = mxyyPxzz;
-			real mxyyMxzz_SWT = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SWT    = mfbbb;
+            real mxxyPyzz_SWT = mxxyPyzz;
+            real mxxyMyzz_SWT = mxxyMyzz;
+            real mxxzPyyz_SWT = mxxzPyyz;
+            real mxxzMyyz_SWT = mxxzMyyz;
+            real mxyyPxzz_SWT = mxyyPxzz;
+            real mxyyMxzz_SWT = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -2265,8 +2265,8 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-	  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-	  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+      vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+      vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
       kyzFromfcNEQ_SET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
@@ -2274,306 +2274,306 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
       kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SET    = mfbbb;
-			real mxxyPyzz_SET = mxxyPyzz;
-			real mxxyMyzz_SET = mxxyMyzz;
-			real mxxzPyyz_SET = mxxzPyyz;
-			real mxxzMyyz_SET = mxxzMyyz;
-			real mxyyPxzz_SET = mxyyPxzz;
-			real mxyyMxzz_SET = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SET    = mfbbb;
+            real mxxyPyzz_SET = mxxyPyzz;
+            real mxxyMyzz_SET = mxxyMyzz;
+            real mxxzPyyz_SET = mxxzPyyz;
+            real mxxzMyyz_SET = mxxzMyyz;
+            real mxyyPxzz_SET = mxyyPxzz;
+            real mxyyMxzz_SET = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -2671,8 +2671,8 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-	  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-	  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+      vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+      vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
       kyzFromfcNEQ_SEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
@@ -2680,306 +2680,306 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
       kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
 
- 			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+             //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SEB    = mfbbb;
-			real mxxyPyzz_SEB = mxxyPyzz;
-			real mxxyMyzz_SEB = mxxyMyzz;
-			real mxxzPyyz_SEB = mxxzPyyz;
-			real mxxzMyyz_SEB = mxxzMyyz;
-			real mxyyPxzz_SEB = mxyyPxzz;
-			real mxyyMxzz_SEB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SEB    = mfbbb;
+            real mxxyPyzz_SEB = mxxyPyzz;
+            real mxxyMyzz_SEB = mxxyMyzz;
+            real mxxzPyyz_SEB = mxxzPyyz;
+            real mxxzMyyz_SEB = mxxzMyyz;
+            real mxyyPxzz_SEB = mxyyPxzz;
+            real mxyyMxzz_SEB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -3087,8 +3087,8 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-	  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-	  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+      vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+      vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
       kyzFromfcNEQ_NWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
@@ -3096,306 +3096,306 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
       kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NWB    = mfbbb;
-			real mxxyPyzz_NWB = mxxyPyzz;
-			real mxxyMyzz_NWB = mxxyMyzz;
-			real mxxzPyyz_NWB = mxxzPyyz;
-			real mxxzMyyz_NWB = mxxzMyyz;
-			real mxyyPxzz_NWB = mxyyPxzz;
-			real mxyyMxzz_NWB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NWB    = mfbbb;
+            real mxxyPyzz_NWB = mxxyPyzz;
+            real mxxyMyzz_NWB = mxxyMyzz;
+            real mxxzPyyz_NWB = mxxzPyyz;
+            real mxxzMyyz_NWB = mxxzMyyz;
+            real mxyyPxzz_NWB = mxyyPxzz;
+            real mxyyMxzz_NWB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -3493,8 +3493,8 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-	  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-	  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+      vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+      vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
       kyzFromfcNEQ_NWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
@@ -3502,306 +3502,306 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
       kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NWT    = mfbbb;
-			real mxxyPyzz_NWT = mxxyPyzz;
-			real mxxyMyzz_NWT = mxxyMyzz;
-			real mxxzPyyz_NWT = mxxzPyyz;
-			real mxxzMyyz_NWT = mxxzMyyz;
-			real mxyyPxzz_NWT = mxyyPxzz;
-			real mxyyMxzz_NWT = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NWT    = mfbbb;
+            real mxxyPyzz_NWT = mxxyPyzz;
+            real mxxyMyzz_NWT = mxxyMyzz;
+            real mxxzPyyz_NWT = mxxzPyyz;
+            real mxxzMyyz_NWT = mxxzMyyz;
+            real mxyyPxzz_NWT = mxyyPxzz;
+            real mxyyMxzz_NWT = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -3899,8 +3899,8 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-	  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-	  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+      vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+      vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
       kyzFromfcNEQ_NET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
@@ -3908,306 +3908,306 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
       kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NET    = mfbbb;
-			real mxxyPyzz_NET = mxxyPyzz;
-			real mxxyMyzz_NET = mxxyMyzz;
-			real mxxzPyyz_NET = mxxzPyyz;
-			real mxxzMyyz_NET = mxxzMyyz;
-			real mxyyPxzz_NET = mxyyPxzz;
-			real mxyyMxzz_NET = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NET    = mfbbb;
+            real mxxyPyzz_NET = mxxyPyzz;
+            real mxxyMyzz_NET = mxxyMyzz;
+            real mxxzPyyz_NET = mxxzPyyz;
+            real mxxzMyyz_NET = mxxzMyyz;
+            real mxyyPxzz_NET = mxyyPxzz;
+            real mxyyMxzz_NET = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -4305,8 +4305,8 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-	  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-	  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+      vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+      vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
       kyzFromfcNEQ_NEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
@@ -4314,306 +4314,306 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
       kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NEB    = mfbbb;
-			real mxxyPyzz_NEB = mxxyPyzz;
-			real mxxyMyzz_NEB = mxxyMyzz;
-			real mxxzPyyz_NEB = mxxzPyyz;
-			real mxxzMyyz_NEB = mxxzMyyz;
-			real mxyyPxzz_NEB = mxyyPxzz;
-			real mxyyMxzz_NEB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NEB    = mfbbb;
+            real mxxyPyzz_NEB = mxxyPyzz;
+            real mxxyMyzz_NEB = mxxyMyzz;
+            real mxxzPyyz_NEB = mxxzPyyz;
+            real mxxzMyyz_NEB = mxxzMyyz;
+            real mxyyPxzz_NEB = mxyyPxzz;
+            real mxyyMxzz_NEB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -4669,155 +4669,155 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mfbbbMean    = c1o8 * (mfbbb_SWB    + mfbbb_SWT    + mfbbb_SET    + mfbbb_SEB    + mfbbb_NWB    + mfbbb_NWT    + mfbbb_NET    + mfbbb_NEB);
-	  real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB);
-	  real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB);
-	  real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB);
-	  real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB);
-	  real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB);
-	  real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB);
+      real mfbbbMean    = c1o8 * (mfbbb_SWB    + mfbbb_SWT    + mfbbb_SET    + mfbbb_SEB    + mfbbb_NWB    + mfbbb_NWT    + mfbbb_NET    + mfbbb_NEB);
+      real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB);
+      real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB);
+      real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB);
+      real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB);
+      real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB);
+      real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB);
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
+      //kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
       a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
-			 c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
-			 c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
-			 c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
-			 c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
-			 c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
+             c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
+             c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
+             c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
+             c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
+             c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
-			 c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
-			 c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
-			 c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
-			 c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
+             c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
+             c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
+             c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
-			 c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
-			 c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
-			 c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
-			 c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
+             c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
+             c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
+             c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
+             c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
       ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
-			 kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
+             kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
       cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
       ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
-			 kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
+             kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
       byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
-			 c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
+             kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
       az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
       bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1;
       cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
       azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
-			 c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
-			 c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
+             c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
+             c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
       axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
       bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
       cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
@@ -4831,94 +4831,94 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
       //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage	     = c0o1;
-	  real kyzAverage	     = c0o1;
-	  real kxzAverage	     = c0o1;
-	  real kxxMyyAverage	 = c0o1;
-	  real kxxMzzAverage	 = c0o1;
-	  //real kxyAverage	 =(kxyFromfcNEQ_SWB+
-			//				   kxyFromfcNEQ_SWT+
-			//				   kxyFromfcNEQ_SET+
-			//				   kxyFromfcNEQ_SEB+
-			//				   kxyFromfcNEQ_NWB+
-			//				   kxyFromfcNEQ_NWT+
-			//				   kxyFromfcNEQ_NET+
-			//				   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  //real kyzAverage	 =(kyzFromfcNEQ_SWB+
-			//				   kyzFromfcNEQ_SWT+
-			//				   kyzFromfcNEQ_SET+
-			//				   kyzFromfcNEQ_SEB+
-			//				   kyzFromfcNEQ_NWB+
-			//				   kyzFromfcNEQ_NWT+
-			//				   kyzFromfcNEQ_NET+
-			//				   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  //real kxzAverage	 =(kxzFromfcNEQ_SWB+
-			//				   kxzFromfcNEQ_SWT+
-			//				   kxzFromfcNEQ_SET+
-			//				   kxzFromfcNEQ_SEB+
-			//				   kxzFromfcNEQ_NWB+
-			//				   kxzFromfcNEQ_NWT+
-			//				   kxzFromfcNEQ_NET+
-			//				   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  //real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-			//				   kxxMyyFromfcNEQ_SWT+
-			//				   kxxMyyFromfcNEQ_SET+
-			//				   kxxMyyFromfcNEQ_SEB+
-			//				   kxxMyyFromfcNEQ_NWB+
-			//				   kxxMyyFromfcNEQ_NWT+
-			//				   kxxMyyFromfcNEQ_NET+
-			//				   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  //real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-			//				   kxxMzzFromfcNEQ_SWT+
-			//				   kxxMzzFromfcNEQ_SET+
-			//				   kxxMzzFromfcNEQ_SEB+
-			//				   kxxMzzFromfcNEQ_NWB+
-			//				   kxxMzzFromfcNEQ_NWT+
-			//				   kxxMzzFromfcNEQ_NET+
-			//				   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
-	  d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT - c2o1*LapRho) * c1o8;
-	  dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-	  //d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage         = c0o1;
+      real kyzAverage         = c0o1;
+      real kxzAverage         = c0o1;
+      real kxxMyyAverage     = c0o1;
+      real kxxMzzAverage     = c0o1;
+      //real kxyAverage     =(kxyFromfcNEQ_SWB+
+            //                   kxyFromfcNEQ_SWT+
+            //                   kxyFromfcNEQ_SET+
+            //                   kxyFromfcNEQ_SEB+
+            //                   kxyFromfcNEQ_NWB+
+            //                   kxyFromfcNEQ_NWT+
+            //                   kxyFromfcNEQ_NET+
+            //                   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      //real kyzAverage     =(kyzFromfcNEQ_SWB+
+            //                   kyzFromfcNEQ_SWT+
+            //                   kyzFromfcNEQ_SET+
+            //                   kyzFromfcNEQ_SEB+
+            //                   kyzFromfcNEQ_NWB+
+            //                   kyzFromfcNEQ_NWT+
+            //                   kyzFromfcNEQ_NET+
+            //                   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      //real kxzAverage     =(kxzFromfcNEQ_SWB+
+            //                   kxzFromfcNEQ_SWT+
+            //                   kxzFromfcNEQ_SET+
+            //                   kxzFromfcNEQ_SEB+
+            //                   kxzFromfcNEQ_NWB+
+            //                   kxzFromfcNEQ_NWT+
+            //                   kxzFromfcNEQ_NET+
+            //                   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      //real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+            //                   kxxMyyFromfcNEQ_SWT+
+            //                   kxxMyyFromfcNEQ_SET+
+            //                   kxxMyyFromfcNEQ_SEB+
+            //                   kxxMyyFromfcNEQ_NWB+
+            //                   kxxMyyFromfcNEQ_NWT+
+            //                   kxxMyyFromfcNEQ_NET+
+            //                   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      //real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+            //                   kxxMzzFromfcNEQ_SWT+
+            //                   kxxMzzFromfcNEQ_SET+
+            //                   kxxMzzFromfcNEQ_SEB+
+            //                   kxxMzzFromfcNEQ_NWB+
+            //                   kxxMzzFromfcNEQ_NWT+
+            //                   kxxMzzFromfcNEQ_NET+
+            //                   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
+      d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT - c2o1*LapRho) * c1o8;
+      dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot 
-	  //
       //
-	  // x------x
-	  // |      |
-	  // |	 ---+--->X
-	  // |		|  \
-	  // x------x   \
-	  //			off-vector
+      //
+      // x------x
+      // |      |
+      // |     ---+--->X
+      // |        |  \
+      // x------x   \
+      //            off-vector
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
@@ -4932,415 +4932,415 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = two - o;
+      //real residu, residutmp;
+      //residutmp = zero;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      //real NeqOn = one;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position C 0., 0., 0.
+      //
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = two - o;
-	  //real residu, residutmp;
-	  //residutmp = zero;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  //real NeqOn = one;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position C 0., 0., 0.
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //x = 0.;
-	  //y = 0.;
-	  //z = 0.;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
-	  //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
-	  press = d0;
-	  vvx   = a0;
-	  vvy   = b0;
-	  vvz   = c0;
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
-	  mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
-
-	  mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
-
-	  
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //3.
-	  // linear combinations
-	  mfbbb    = c4o1 * (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) 
-					  / (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) * mfbbbMean;
-	  mxxyPyzz = c4o1 * (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine) /(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) * mxxyPyzzMean;
-	  mxxyMyzz = c4o1 * (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) * mxxyMyzzMean;
-	  mxxzPyyz = c4o1 * (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine) /(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) * mxxzPyyzMean;
-	  mxxzMyyz = c4o1 * (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) * mxxzMyyzMean;
-	  mxyyPxzz = c4o1 * (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine) /(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) * mxyyPxzzMean;
-	  mxyyMxzz = c4o1 * (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  kzero= posC[k];
-	  kw   = neighborCX[kzero];
-	  ks   = neighborCY[kzero];
-	  kb   = neighborCZ[kzero];
-	  ksw  = neighborCY[kw];
-	  kbw  = neighborCZ[kw];
-	  kbs  = neighborCZ[ks];
-	  kbsw = neighborCZ[ksw];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feC[kzero]    = mfcbb;                                                                 
-	  fwC[kw]       = mfabb;                                                               
-	  fnC[kzero]    = mfbcb;
-	  fsC[ks]       = mfbab;
-	  ftC[kzero]    = mfbbc;
-	  fbC[kb]       = mfbba;
-	  fneC[kzero]   = mfccb;
-	  fswC[ksw]     = mfaab;
-	  fseC[ks]      = mfcab;
-	  fnwC[kw]      = mfacb;
-	  fteC[kzero]   = mfcbc;
-	  fbwC[kbw]     = mfaba;
-	  fbeC[kb]      = mfcba;
-	  ftwC[kw]      = mfabc;
-	  ftnC[kzero]   = mfbcc;
-	  fbsC[kbs]     = mfbaa;
-	  fbnC[kb]      = mfbca;
-	  ftsC[ks]      = mfbac;
-	  fzeroC[kzero] = mfbbb;
-	  ftneC[kzero]  = mfccc;
-	  ftseC[ks]     = mfcac;
-	  fbneC[kb]     = mfcca;
-	  fbseC[kbs]    = mfcaa;
-	  ftnwC[kw]     = mfacc;
-	  ftswC[ksw]    = mfaac;
-	  fbnwC[kbw]    = mfaca;
-	  fbswC[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      //x = 0.;
+      //y = 0.;
+      //z = 0.;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
+      //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
+      press = d0;
+      vvx   = a0;
+      vvy   = b0;
+      vvz   = c0;
+
+      //mfaaa = drho;
+      //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
+      mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
+
+      mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
+
+      
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //3.
+      // linear combinations
+      mfbbb    = c4o1 * (c24o1*(-c2o1+omFine)*(-c2o1-c7o1*omFine+c3o1*omFine*omFine)/(c48o1+c152o1*omFine-c130o1*omFine*omFine+c29o1*omFine*omFine*omFine)) 
+                      / (c24o1*(-c2o1+omCoarse)*(-c2o1-c7o1*omCoarse+c3o1*omCoarse*omCoarse)/(c48o1+c152o1*omCoarse-c130o1*omCoarse*omCoarse+c29o1*omCoarse*omCoarse*omCoarse)) * mfbbbMean;
+      mxxyPyzz = c4o1 * (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine) /(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) * mxxyPyzzMean;
+      mxxyMyzz = c4o1 * (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) * mxxyMyzzMean;
+      mxxzPyyz = c4o1 * (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine) /(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) * mxxzPyyzMean;
+      mxxzMyyz = c4o1 * (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) * mxxzMyyzMean;
+      mxyyPxzz = c4o1 * (c8o1*(-c2o1+omFine)*(c1o1+c2o1*omFine) /(-c8o1-c14o1*omFine+c7o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(c1o1+c2o1*omCoarse)/(-c8o1-c14o1*omCoarse+c7o1*omCoarse*omCoarse)) * mxyyPxzzMean;
+      mxyyMxzz = c4o1 * (c8o1*(-c2o1+omFine)*(-c7o1+c4o1*omFine)/(c56o1-c50o1*omFine+c9o1*omFine*omFine)) / (c8o1*(-c2o1+omCoarse)*(-c7o1+c4o1*omCoarse)/(c56o1-c50o1*omCoarse+c9o1*omCoarse*omCoarse)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 0
+      kzero= posC[k];
+      kw   = neighborCX[kzero];
+      ks   = neighborCY[kzero];
+      kb   = neighborCZ[kzero];
+      ksw  = neighborCY[kw];
+      kbw  = neighborCZ[kw];
+      kbs  = neighborCZ[ks];
+      kbsw = neighborCZ[ksw];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feC[kzero]    = mfcbb;                                                                 
+      fwC[kw]       = mfabb;                                                               
+      fnC[kzero]    = mfbcb;
+      fsC[ks]       = mfbab;
+      ftC[kzero]    = mfbbc;
+      fbC[kb]       = mfbba;
+      fneC[kzero]   = mfccb;
+      fswC[ksw]     = mfaab;
+      fseC[ks]      = mfcab;
+      fnwC[kw]      = mfacb;
+      fteC[kzero]   = mfcbc;
+      fbwC[kbw]     = mfaba;
+      fbeC[kb]      = mfcba;
+      ftwC[kw]      = mfabc;
+      ftnC[kzero]   = mfbcc;
+      fbsC[kbs]     = mfbaa;
+      fbnC[kb]      = mfbca;
+      ftsC[ks]      = mfbac;
+      fzeroC[kzero] = mfbbb;
+      ftneC[kzero]  = mfccc;
+      ftseC[ks]     = mfcac;
+      fbneC[kb]     = mfcca;
+      fbseC[kbs]    = mfcaa;
+      ftnwC[kw]     = mfacc;
+      ftswC[ksw]    = mfaac;
+      fbnwC[kbw]    = mfaca;
+      fbswC[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -5400,27 +5400,27 @@ __global__ void scaleFC_AA2016_comp_27(real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC, 
-														real* DF, 
-														unsigned int* neighborCX,
-														unsigned int* neighborCY,
-														unsigned int* neighborCZ,
-														unsigned int* neighborFX,
-														unsigned int* neighborFY,
-														unsigned int* neighborFZ,
-														unsigned long long numberOfLBnodesCoarse, 
-														unsigned long long numberOfLBnodesFine, 
-														bool isEvenTimestep,
-														unsigned int* posC, 
-														unsigned int* posFSWB, 
-														unsigned int kFC, 
-														real omCoarse, 
-														real omFine, 
-														real nu, 
-														unsigned int nxC, 
-														unsigned int nyC, 
-														unsigned int nxF, 
-														unsigned int nyF,
-														ICellNeigh offFC)
+                                                        real* DF, 
+                                                        unsigned int* neighborCX,
+                                                        unsigned int* neighborCY,
+                                                        unsigned int* neighborCZ,
+                                                        unsigned int* neighborFX,
+                                                        unsigned int* neighborFY,
+                                                        unsigned int* neighborFZ,
+                                                        unsigned long long numberOfLBnodesCoarse, 
+                                                        unsigned long long numberOfLBnodesFine, 
+                                                        bool isEvenTimestep,
+                                                        unsigned int* posC, 
+                                                        unsigned int* posFSWB, 
+                                                        unsigned int kFC, 
+                                                        real omCoarse, 
+                                                        real omFine, 
+                                                        real nu, 
+                                                        unsigned int nxC, 
+                                                        unsigned int nyC, 
+                                                        unsigned int nxF, 
+                                                        unsigned int nyF,
+                                                        ICellNeigh offFC)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -5558,26 +5558,26 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
    real        kxyFromfcNEQ_SEB, kyzFromfcNEQ_SEB, kxzFromfcNEQ_SEB, kxxMyyFromfcNEQ_SEB, kxxMzzFromfcNEQ_SEB;
    real        a0, ax, ay, az, axx, ayy, azz, axy, axz, ayz, b0, bx, by, bz, bxx, byy, bzz, bxy, bxz, byz, c0, cx, cy, cz, cxx, cyy, czz, cxy, cxz, cyz/*, axyz, bxyz, cxyz*/;
    real        d0, dx, dy, dz, dxy, dxz, dyz/*, dxyz*/;
-	//////////////////////////////////////////////////////////////////////////////////////
-    real	mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca;
-	//real wadjust;
-	//real qudricLimitP = 0.01f;// * 0.0001f;
-	//real qudricLimitM = 0.01f;// * 0.0001f;
-	//real qudricLimitD = 0.01f;// * 0.001f;
-	//real omega = omFine;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	real NeqOn = c1o1;
-	real drho, rho;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	//real OxxPyyPzz;
-	//real OxyyPxzz;
-	//real OxyyMxzz;
-	//real Oxyz;
-	//real O4, O5, O6;
-	//real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc;
-	////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////////////////
+    real    mfcbb, mfabb, mfbcb, mfbab, mfbbc, mfbba, mfccb, mfaab, mfcab, mfacb, mfcbc, mfaba, mfcba, mfabc, mfbcc, mfbaa, mfbca, mfbac, mfbbb, mfccc, mfaac, mfcac, mfacc, mfcca, mfaaa, mfcaa, mfaca;
+    //real wadjust;
+    //real qudricLimitP = 0.01f;// * 0.0001f;
+    //real qudricLimitM = 0.01f;// * 0.0001f;
+    //real qudricLimitD = 0.01f;// * 0.001f;
+    //real omega = omFine;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+    real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+    real NeqOn = c1o1;
+    real drho, rho;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    //real OxxPyyPzz;
+    //real OxyyPxzz;
+    //real OxyyMxzz;
+    //real Oxyz;
+    //real O4, O5, O6;
+    //real CUMcbb, CUMbcb, CUMbbc, CUMcca, CUMcac, CUMacc, CUMbcc, CUMcbc, CUMccb, CUMccc;
+    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
    if(k<kFC)
    {
@@ -5641,8 +5641,8 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-	  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-	  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+      vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+      vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
@@ -5650,306 +5650,306 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
       kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SWB    = mfbbb;
-			real mxxyPyzz_SWB = mxxyPyzz;
-			real mxxyMyzz_SWB = mxxyMyzz;
-			real mxxzPyyz_SWB = mxxzPyyz;
-			real mxxzMyyz_SWB = mxxzMyyz;
-			real mxyyPxzz_SWB = mxyyPxzz;
-			real mxyyMxzz_SWB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SWB    = mfbbb;
+            real mxxyPyzz_SWB = mxxyPyzz;
+            real mxxyMyzz_SWB = mxxyMyzz;
+            real mxxzPyyz_SWB = mxxzPyyz;
+            real mxxzMyyz_SWB = mxxzMyyz;
+            real mxyyPxzz_SWB = mxyyPxzz;
+            real mxyyMxzz_SWB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -6004,7 +6004,7 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
 
 
-	  
+      
       //////////////////////////////////////////////////////////////////////////
       //SWT//
       //////////////////////////////////////////////////////////////////////////
@@ -6048,8 +6048,8 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-	  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-	  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+      vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+      vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
       kyzFromfcNEQ_SWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
@@ -6057,306 +6057,306 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
       kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SWT    = mfbbb;
-			real mxxyPyzz_SWT = mxxyPyzz;
-			real mxxyMyzz_SWT = mxxyMyzz;
-			real mxxzPyyz_SWT = mxxzPyyz;
-			real mxxzMyyz_SWT = mxxzMyyz;
-			real mxyyPxzz_SWT = mxyyPxzz;
-			real mxyyMxzz_SWT = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SWT    = mfbbb;
+            real mxxyPyzz_SWT = mxxyPyzz;
+            real mxxyMyzz_SWT = mxxyMyzz;
+            real mxxzPyyz_SWT = mxxzPyyz;
+            real mxxzMyyz_SWT = mxxzMyyz;
+            real mxyyPxzz_SWT = mxyyPxzz;
+            real mxyyMxzz_SWT = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -6454,8 +6454,8 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-	  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-	  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+      vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+      vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
       kyzFromfcNEQ_SET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
@@ -6463,306 +6463,306 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
       kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SET    = mfbbb;
-			real mxxyPyzz_SET = mxxyPyzz;
-			real mxxyMyzz_SET = mxxyMyzz;
-			real mxxzPyyz_SET = mxxzPyyz;
-			real mxxzMyyz_SET = mxxzMyyz;
-			real mxyyPxzz_SET = mxyyPxzz;
-			real mxyyMxzz_SET = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SET    = mfbbb;
+            real mxxyPyzz_SET = mxxyPyzz;
+            real mxxyMyzz_SET = mxxyMyzz;
+            real mxxzPyyz_SET = mxxzPyyz;
+            real mxxzMyyz_SET = mxxzMyyz;
+            real mxyyPxzz_SET = mxyyPxzz;
+            real mxyyMxzz_SET = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -6860,8 +6860,8 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-	  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-	  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+      vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+      vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
       kyzFromfcNEQ_SEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
@@ -6869,306 +6869,306 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
       kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
 
- 			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+             //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_SEB    = mfbbb;
-			real mxxyPyzz_SEB = mxxyPyzz;
-			real mxxyMyzz_SEB = mxxyMyzz;
-			real mxxzPyyz_SEB = mxxzPyyz;
-			real mxxzMyyz_SEB = mxxzMyyz;
-			real mxyyPxzz_SEB = mxyyPxzz;
-			real mxyyMxzz_SEB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_SEB    = mfbbb;
+            real mxxyPyzz_SEB = mxxyPyzz;
+            real mxxyMyzz_SEB = mxxyMyzz;
+            real mxxzPyyz_SEB = mxxzPyyz;
+            real mxxzMyyz_SEB = mxxzMyyz;
+            real mxyyPxzz_SEB = mxyyPxzz;
+            real mxyyMxzz_SEB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -7276,8 +7276,8 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-	  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-	  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+      vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+      vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
       kyzFromfcNEQ_NWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
@@ -7285,306 +7285,306 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
       kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NWB    = mfbbb;
-			real mxxyPyzz_NWB = mxxyPyzz;
-			real mxxyMyzz_NWB = mxxyMyzz;
-			real mxxzPyyz_NWB = mxxzPyyz;
-			real mxxzMyyz_NWB = mxxzMyyz;
-			real mxyyPxzz_NWB = mxyyPxzz;
-			real mxyyMxzz_NWB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NWB    = mfbbb;
+            real mxxyPyzz_NWB = mxxyPyzz;
+            real mxxyMyzz_NWB = mxxyMyzz;
+            real mxxzPyyz_NWB = mxxzPyyz;
+            real mxxzMyyz_NWB = mxxzMyyz;
+            real mxyyPxzz_NWB = mxyyPxzz;
+            real mxyyMxzz_NWB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -7682,8 +7682,8 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-	  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-	  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+      vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+      vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
       kyzFromfcNEQ_NWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
@@ -7691,306 +7691,306 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
       kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NWT    = mfbbb;
-			real mxxyPyzz_NWT = mxxyPyzz;
-			real mxxyMyzz_NWT = mxxyMyzz;
-			real mxxzPyyz_NWT = mxxzPyyz;
-			real mxxzMyyz_NWT = mxxzMyyz;
-			real mxyyPxzz_NWT = mxyyPxzz;
-			real mxyyMxzz_NWT = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NWT    = mfbbb;
+            real mxxyPyzz_NWT = mxxyPyzz;
+            real mxxyMyzz_NWT = mxxyMyzz;
+            real mxxzPyyz_NWT = mxxzPyyz;
+            real mxxzMyyz_NWT = mxxzMyyz;
+            real mxyyPxzz_NWT = mxyyPxzz;
+            real mxyyMxzz_NWT = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -8088,8 +8088,8 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-	  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-	  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+      vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+      vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
       kyzFromfcNEQ_NET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
@@ -8097,306 +8097,306 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
       kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NET    = mfbbb;
-			real mxxyPyzz_NET = mxxyPyzz;
-			real mxxyMyzz_NET = mxxyMyzz;
-			real mxxzPyyz_NET = mxxzPyyz;
-			real mxxzMyyz_NET = mxxzMyyz;
-			real mxyyPxzz_NET = mxyyPxzz;
-			real mxyyMxzz_NET = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NET    = mfbbb;
+            real mxxyPyzz_NET = mxxyPyzz;
+            real mxxyMyzz_NET = mxxyMyzz;
+            real mxxzPyyz_NET = mxxzPyyz;
+            real mxxzMyyz_NET = mxxzMyyz;
+            real mxyyPxzz_NET = mxyyPxzz;
+            real mxyyMxzz_NET = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -8494,8 +8494,8 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-	  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-	  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+      vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+      vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
       kyzFromfcNEQ_NEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
@@ -8503,306 +8503,306 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
       kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = f_E   ;
-			mfabb = f_W   ;
-			mfbcb = f_N   ;
-			mfbab = f_S   ;
-			mfbbc = f_T   ;
-			mfbba = f_B   ;
-			mfccb = f_NE  ;
-			mfaab = f_SW  ;
-			mfcab = f_SE  ;
-			mfacb = f_NW  ;
-			mfcbc = f_TE  ;
-			mfaba = f_BW  ;
-			mfcba = f_BE  ;
-			mfabc = f_TW  ;
-			mfbcc = f_TN  ;
-			mfbaa = f_BS  ;
-			mfbca = f_BN  ;
-			mfbac = f_TS  ;
-			mfbbb = f_ZERO;
-			mfccc = f_TNE ;
-			mfaac = f_TSW ;
-			mfcac = f_TSE ;
-			mfacc = f_TNW ;
-			mfcca = f_BNE ;
-			mfaaa = f_BSW ;
-			mfcaa = f_BSE ;
-			mfaca = f_BNW ;
-			////////////////////////////////////////////////////////////////////////////////////
-			drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-					(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-					((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
-
-			rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-				     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb)) / rho;
-			vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-			vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			oMdrho = c1o1; // comp special
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			// linear combinations
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = f_E   ;
+            mfabb = f_W   ;
+            mfbcb = f_N   ;
+            mfbab = f_S   ;
+            mfbbc = f_T   ;
+            mfbba = f_B   ;
+            mfccb = f_NE  ;
+            mfaab = f_SW  ;
+            mfcab = f_SE  ;
+            mfacb = f_NW  ;
+            mfcbc = f_TE  ;
+            mfaba = f_BW  ;
+            mfcba = f_BE  ;
+            mfabc = f_TW  ;
+            mfbcc = f_TN  ;
+            mfbaa = f_BS  ;
+            mfbca = f_BN  ;
+            mfbac = f_TS  ;
+            mfbbb = f_ZERO;
+            mfccc = f_TNE ;
+            mfaac = f_TSW ;
+            mfcac = f_TSE ;
+            mfacc = f_TNW ;
+            mfcca = f_BNE ;
+            mfaaa = f_BSW ;
+            mfcaa = f_BSE ;
+            mfaca = f_BNW ;
+            ////////////////////////////////////////////////////////////////////////////////////
+            drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                    (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                    ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb;
+
+            rho = c1o1+drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb)) / rho;
+            vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+            vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            oMdrho = c1o1; // comp special
+            vx2=vvx*vvx;
+            vy2=vvy*vvy;
+            vz2=vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2    = mfaaa    + mfaac;
+            m1    = mfaac    - mfaaa;
+            m0    = m2        + mfaab;
+            mfaaa = m0;
+            m0   += c1o36 * oMdrho;    
+            mfaab = m1 -        m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfabc;
+            m1    = mfabc  - mfaba;
+            m0    = m2        + mfabb;
+            mfaba = m0;
+            m0   += c1o9 * oMdrho;
+            mfabb = m1 -        m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfacc;
+            m1    = mfacc  - mfaca;
+            m0    = m2        + mfacb;
+            mfaca = m0;
+            m0   += c1o36 * oMdrho;
+            mfacb = m1 -        m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbac;
+            m1    = mfbac    - mfbaa;
+            m0    = m2        + mfbab;
+            mfbaa = m0;
+            m0   += c1o9 * oMdrho;
+            mfbab = m1 -        m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbba  + mfbbc;
+            m1    = mfbbc  - mfbba;
+            m0    = m2        + mfbbb;
+            mfbba = m0;
+            m0   += c4o9 * oMdrho;
+            mfbbb = m1 -        m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbca  + mfbcc;
+            m1    = mfbcc  - mfbca;
+            m0    = m2        + mfbcb;
+            mfbca = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcb = m1 -        m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcac;
+            m1    = mfcac    - mfcaa;
+            m0    = m2        + mfcab;
+            mfcaa = m0;
+            m0   += c1o36 * oMdrho;
+            mfcab = m1 -        m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcba  + mfcbc;
+            m1    = mfcbc  - mfcba;
+            m0    = m2        + mfcbb;
+            mfcba = m0;
+            m0   += c1o9 * oMdrho;
+            mfcbb = m1 -        m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcca  + mfccc;
+            m1    = mfccc  - mfcca;
+            m0    = m2        + mfccb;
+            mfcca = m0;
+            m0   += c1o36 * oMdrho;
+            mfccb = m1 -        m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2    = mfaaa    + mfaca;
+            m1    = mfaca    - mfaaa;
+            m0    = m2        + mfaba;
+            mfaaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfaba = m1 -        m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab  + mfacb;
+            m1    = mfacb  - mfaab;
+            m0    = m2        + mfabb;
+            mfaab = m0;
+            mfabb = m1 -        m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac  + mfacc;
+            m1    = mfacc  - mfaac;
+            m0    = m2        + mfabc;
+            mfaac = m0;
+            m0   += c1o18 * oMdrho;
+            mfabc = m1 -        m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbaa    + mfbca;
+            m1    = mfbca    - mfbaa;
+            m0    = m2        + mfbba;
+            mfbaa = m0;
+            m0   += c2o3 * oMdrho;
+            mfbba = m1 -        m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbab  + mfbcb;
+            m1    = mfbcb  - mfbab;
+            m0    = m2        + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 -        m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfbac  + mfbcc;
+            m1    = mfbcc  - mfbac;
+            m0    = m2        + mfbbc;
+            mfbac = m0;
+            m0   += c2o9 * oMdrho;
+            mfbbc = m1 -        m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcaa    + mfcca;
+            m1    = mfcca    - mfcaa;
+            m0    = m2        + mfcba;
+            mfcaa = m0;
+            m0   += c1o6 * oMdrho;
+            mfcba = m1 -        m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcab  + mfccb;
+            m1    = mfccb  - mfcab;
+            m0    = m2        + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 -        m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfcac  + mfccc;
+            m1    = mfccc  - mfcac;
+            m0    = m2        + mfcbc;
+            mfcac = m0;
+            m0   += c1o18 * oMdrho;
+            mfcbc = m1 -        m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2    = mfaaa    + mfcaa;
+            m1    = mfcaa    - mfaaa;
+            m0    = m2        + mfbaa;
+            mfaaa = m0;
+            m0   += c1o1* oMdrho;
+            mfbaa = m1 -        m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaba  + mfcba;
+            m1    = mfcba  - mfaba;
+            m0    = m2        + mfbba;
+            mfaba = m0;
+            mfbba = m1 -        m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaca  + mfcca;
+            m1    = mfcca  - mfaca;
+            m0    = m2        + mfbca;
+            mfaca = m0;
+            m0   += c1o3 * oMdrho;
+            mfbca = m1 -        m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaab    + mfcab;
+            m1    = mfcab    - mfaab;
+            m0    = m2        + mfbab;
+            mfaab = m0;
+            mfbab = m1 -        m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabb  + mfcbb;
+            m1    = mfcbb  - mfabb;
+            m0    = m2        + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 -        m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacb  + mfccb;
+            m1    = mfccb  - mfacb;
+            m0    = m2        + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 -        m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfaac    + mfcac;
+            m1    = mfcac    - mfaac;
+            m0    = m2        + mfbac;
+            mfaac = m0;
+            m0   += c1o3 * oMdrho;
+            mfbac = m1 -        m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfabc  + mfcbc;
+            m1    = mfcbc  - mfabc;
+            m0    = m2        + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 -        m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2    = mfacc  + mfccc;
+            m1    = mfccc  - mfacc;
+            m0    = m2        + mfbcc;
+            mfacc = m0;
+            m0   += c1o9 * oMdrho;
+            mfbcc = m1 -        m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // linear combinations
 
-			mxxyPyzz = mfcba + mfabc;
-			mxxyMyzz = mfcba - mfabc;
+            mxxyPyzz = mfcba + mfabc;
+            mxxyMyzz = mfcba - mfabc;
 
-			mxxzPyyz = mfcab + mfacb;
-			mxxzMyyz = mfcab - mfacb;
+            mxxzPyyz = mfcab + mfacb;
+            mxxzMyyz = mfcab - mfacb;
 
-			mxyyPxzz = mfbca + mfbac;
-			mxyyMxzz = mfbca - mfbac;
+            mxyyPxzz = mfbca + mfbac;
+            mxyyMxzz = mfbca - mfbac;
 
 
-			//////////////////////////////////////////////////////////////////////////
-			//exclusive for this source node
-			real mfbbb_NEB    = mfbbb;
-			real mxxyPyzz_NEB = mxxyPyzz;
-			real mxxyMyzz_NEB = mxxyMyzz;
-			real mxxzPyyz_NEB = mxxzPyyz;
-			real mxxzMyyz_NEB = mxxzMyyz;
-			real mxyyPxzz_NEB = mxyyPxzz;
-			real mxyyMxzz_NEB = mxyyMxzz;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //exclusive for this source node
+            real mfbbb_NEB    = mfbbb;
+            real mxxyPyzz_NEB = mxxyPyzz;
+            real mxxyMyzz_NEB = mxxyMyzz;
+            real mxxzPyyz_NEB = mxxzPyyz;
+            real mxxzMyyz_NEB = mxxzMyyz;
+            real mxyyPxzz_NEB = mxyyPxzz;
+            real mxyyMxzz_NEB = mxyyMxzz;
+            //////////////////////////////////////////////////////////////////////////
 
 
 
@@ -8858,155 +8858,155 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
 
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mfbbbMean    = c1o8 * (mfbbb_SWB    + mfbbb_SWT    + mfbbb_SET    + mfbbb_SEB    + mfbbb_NWB    + mfbbb_NWT    + mfbbb_NET    + mfbbb_NEB);
-	  real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB);
-	  real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB);
-	  real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB);
-	  real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB);
-	  real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB);
-	  real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB);
+      real mfbbbMean    = c1o8 * (mfbbb_SWB    + mfbbb_SWT    + mfbbb_SET    + mfbbb_SEB    + mfbbb_NWB    + mfbbb_NWT    + mfbbb_NET    + mfbbb_NEB);
+      real mxxyPyzzMean = c1o8 * (mxxyPyzz_SWB + mxxyPyzz_SWT + mxxyPyzz_SET + mxxyPyzz_SEB + mxxyPyzz_NWB + mxxyPyzz_NWT + mxxyPyzz_NET + mxxyPyzz_NEB);
+      real mxxyMyzzMean = c1o8 * (mxxyMyzz_SWB + mxxyMyzz_SWT + mxxyMyzz_SET + mxxyMyzz_SEB + mxxyMyzz_NWB + mxxyMyzz_NWT + mxxyMyzz_NET + mxxyMyzz_NEB);
+      real mxxzPyyzMean = c1o8 * (mxxzPyyz_SWB + mxxzPyyz_SWT + mxxzPyyz_SET + mxxzPyyz_SEB + mxxzPyyz_NWB + mxxzPyyz_NWT + mxxzPyyz_NET + mxxzPyyz_NEB);
+      real mxxzMyyzMean = c1o8 * (mxxzMyyz_SWB + mxxzMyyz_SWT + mxxzMyyz_SET + mxxzMyyz_SEB + mxxzMyyz_NWB + mxxzMyyz_NWT + mxxzMyyz_NET + mxxzMyyz_NEB);
+      real mxyyPxzzMean = c1o8 * (mxyyPxzz_SWB + mxyyPxzz_SWT + mxyyPxzz_SET + mxyyPxzz_SEB + mxyyPxzz_NWB + mxyyPxzz_NWT + mxyyPxzz_NET + mxyyPxzz_NEB);
+      real mxyyMxzzMean = c1o8 * (mxyyMxzz_SWB + mxyyMxzz_SWT + mxyyMxzz_SET + mxyyMxzz_SEB + mxyyMxzz_NWB + mxyyMxzz_NWT + mxyyMxzz_NET + mxyyMxzz_NEB);
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
+      //kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
       a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
-			 c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
-			 c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
-			 c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
-			 c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
-			 c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
+             c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
+             c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
+             c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
+             c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
+             c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
-			 c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
-			 c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
-			 c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
-			 c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
+             c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
+             c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
+             c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
-			 c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
-			 c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
-			 c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
-			 c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
+             c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
+             c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
+             c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
+             c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
       ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
-			 kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
+             kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
       cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
       ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
-			 kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
+             kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
       byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
-			 c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
+             kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
       az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
       bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1;
       cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
       azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
-			 c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
-			 c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
+             c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
+             c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
       axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
       bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
       cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
@@ -9020,94 +9020,94 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
       //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage	     = c0o1;
-	  real kyzAverage	     = c0o1;
-	  real kxzAverage	     = c0o1;
-	  real kxxMyyAverage	 = c0o1;
-	  real kxxMzzAverage	 = c0o1;
-	  //real kxyAverage	 =(kxyFromfcNEQ_SWB+
-			//				   kxyFromfcNEQ_SWT+
-			//				   kxyFromfcNEQ_SET+
-			//				   kxyFromfcNEQ_SEB+
-			//				   kxyFromfcNEQ_NWB+
-			//				   kxyFromfcNEQ_NWT+
-			//				   kxyFromfcNEQ_NET+
-			//				   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  //real kyzAverage	 =(kyzFromfcNEQ_SWB+
-			//				   kyzFromfcNEQ_SWT+
-			//				   kyzFromfcNEQ_SET+
-			//				   kyzFromfcNEQ_SEB+
-			//				   kyzFromfcNEQ_NWB+
-			//				   kyzFromfcNEQ_NWT+
-			//				   kyzFromfcNEQ_NET+
-			//				   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  //real kxzAverage	 =(kxzFromfcNEQ_SWB+
-			//				   kxzFromfcNEQ_SWT+
-			//				   kxzFromfcNEQ_SET+
-			//				   kxzFromfcNEQ_SEB+
-			//				   kxzFromfcNEQ_NWB+
-			//				   kxzFromfcNEQ_NWT+
-			//				   kxzFromfcNEQ_NET+
-			//				   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  //real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-			//				   kxxMyyFromfcNEQ_SWT+
-			//				   kxxMyyFromfcNEQ_SET+
-			//				   kxxMyyFromfcNEQ_SEB+
-			//				   kxxMyyFromfcNEQ_NWB+
-			//				   kxxMyyFromfcNEQ_NWT+
-			//				   kxxMyyFromfcNEQ_NET+
-			//				   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  //real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-			//				   kxxMzzFromfcNEQ_SWT+
-			//				   kxxMzzFromfcNEQ_SET+
-			//				   kxxMzzFromfcNEQ_SEB+
-			//				   kxxMzzFromfcNEQ_NWB+
-			//				   kxxMzzFromfcNEQ_NWT+
-			//				   kxxMzzFromfcNEQ_NET+
-			//				   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
-	  d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT - c2o1*LapRho) * c1o8;
-	  dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-	  //d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage         = c0o1;
+      real kyzAverage         = c0o1;
+      real kxzAverage         = c0o1;
+      real kxxMyyAverage     = c0o1;
+      real kxxMzzAverage     = c0o1;
+      //real kxyAverage     =(kxyFromfcNEQ_SWB+
+            //                   kxyFromfcNEQ_SWT+
+            //                   kxyFromfcNEQ_SET+
+            //                   kxyFromfcNEQ_SEB+
+            //                   kxyFromfcNEQ_NWB+
+            //                   kxyFromfcNEQ_NWT+
+            //                   kxyFromfcNEQ_NET+
+            //                   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      //real kyzAverage     =(kyzFromfcNEQ_SWB+
+            //                   kyzFromfcNEQ_SWT+
+            //                   kyzFromfcNEQ_SET+
+            //                   kyzFromfcNEQ_SEB+
+            //                   kyzFromfcNEQ_NWB+
+            //                   kyzFromfcNEQ_NWT+
+            //                   kyzFromfcNEQ_NET+
+            //                   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      //real kxzAverage     =(kxzFromfcNEQ_SWB+
+            //                   kxzFromfcNEQ_SWT+
+            //                   kxzFromfcNEQ_SET+
+            //                   kxzFromfcNEQ_SEB+
+            //                   kxzFromfcNEQ_NWB+
+            //                   kxzFromfcNEQ_NWT+
+            //                   kxzFromfcNEQ_NET+
+            //                   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      //real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+            //                   kxxMyyFromfcNEQ_SWT+
+            //                   kxxMyyFromfcNEQ_SET+
+            //                   kxxMyyFromfcNEQ_SEB+
+            //                   kxxMyyFromfcNEQ_NWB+
+            //                   kxxMyyFromfcNEQ_NWT+
+            //                   kxxMyyFromfcNEQ_NET+
+            //                   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      //real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+            //                   kxxMzzFromfcNEQ_SWT+
+            //                   kxxMzzFromfcNEQ_SET+
+            //                   kxxMzzFromfcNEQ_SEB+
+            //                   kxxMzzFromfcNEQ_NWB+
+            //                   kxxMzzFromfcNEQ_NWT+
+            //                   kxxMzzFromfcNEQ_NET+
+            //                   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      real LapRho = ((xoff != c0o1) || (yoff != c0o1) || (zoff != c0o1)) ? c0o1 : -c3o1*(ax*ax + by*by + cz*cz) - c6o1 * (bx*ay + cx*az + cy*bz); 
+      d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT - c2o1*LapRho) * c1o8;
+      dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot 
-	  //
       //
-	  // x------x
-	  // |      |
-	  // |	 ---+--->X
-	  // |		|  \
-	  // x------x   \
-	  //			off-vector
+      //
+      // x------x
+      // |      |
+      // |     ---+--->X
+      // |        |  \
+      // x------x   \
+      //            off-vector
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
@@ -9121,414 +9121,414 @@ __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      mfcbb = c0o1;
+      mfabb = c0o1;
+      mfbcb = c0o1;
+      mfbab = c0o1;
+      mfbbc = c0o1;
+      mfbba = c0o1;
+      mfccb = c0o1;
+      mfaab = c0o1;
+      mfcab = c0o1;
+      mfacb = c0o1;
+      mfcbc = c0o1;
+      mfaba = c0o1;
+      mfcba = c0o1;
+      mfabc = c0o1;
+      mfbcc = c0o1;
+      mfbaa = c0o1;
+      mfbca = c0o1;
+      mfbac = c0o1;
+      mfbbb = c0o1;
+      mfccc = c0o1;
+      mfaac = c0o1;
+      mfcac = c0o1;
+      mfacc = c0o1;
+      mfcca = c0o1;
+      mfaaa = c0o1;
+      mfcaa = c0o1;
+      mfaca = c0o1;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  mfcbb = c0o1;
-	  mfabb = c0o1;
-	  mfbcb = c0o1;
-	  mfbab = c0o1;
-	  mfbbc = c0o1;
-	  mfbba = c0o1;
-	  mfccb = c0o1;
-	  mfaab = c0o1;
-	  mfcab = c0o1;
-	  mfacb = c0o1;
-	  mfcbc = c0o1;
-	  mfaba = c0o1;
-	  mfcba = c0o1;
-	  mfabc = c0o1;
-	  mfbcc = c0o1;
-	  mfbaa = c0o1;
-	  mfbca = c0o1;
-	  mfbac = c0o1;
-	  mfbbb = c0o1;
-	  mfccc = c0o1;
-	  mfaac = c0o1;
-	  mfcac = c0o1;
-	  mfacc = c0o1;
-	  mfcca = c0o1;
-	  mfaaa = c0o1;
-	  mfcaa = c0o1;
-	  mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = two - o;
-	  //real residu, residutmp;
-	  //residutmp = zero;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  //real NeqOn = one;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position C 0., 0., 0.
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //x = 0.;
-	  //y = 0.;
-	  //z = 0.;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
-	  //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
-	  press = d0;
-	  vvx   = a0;
-	  vvy   = b0;
-	  vvz   = c0;
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
-	  mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
-
-	  mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
-
-	  
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //3.
-	  // linear combinations
-	  mfbbb    = c1o2 * (( omCoarse + c12o1)*(-omFine + c2o1)) / (( omFine + c12o1)*(-omCoarse + c2o1)) * mfbbbMean;
-	  mxxyPyzz = c1o2 * ((-omCoarse + c3o1 )*(-omFine + c2o1)) / ((-omFine + c3o1 )*(-omCoarse + c2o1)) * mxxyPyzzMean;
-	  mxxyMyzz = c1o2 * ((-omCoarse + c6o1   )*(-omFine + c2o1)) / ((-omFine + c6o1   )*(-omCoarse + c2o1)) * mxxyMyzzMean;
-	  mxxzPyyz = c1o2 * ((-omCoarse + c3o1 )*(-omFine + c2o1)) / ((-omFine + c3o1 )*(-omCoarse + c2o1)) * mxxzPyyzMean;
-	  mxxzMyyz = c1o2 * ((-omCoarse + c6o1   )*(-omFine + c2o1)) / ((-omFine + c6o1   )*(-omCoarse + c2o1)) * mxxzMyyzMean;
-	  mxyyPxzz = c1o2 * ((-omCoarse + c3o1 )*(-omFine + c2o1)) / ((-omFine + c3o1 )*(-omCoarse + c2o1)) * mxyyPxzzMean;
-	  mxyyMxzz = c1o2 * ((-omCoarse + c6o1   )*(-omFine + c2o1)) / ((-omFine + c6o1   )*(-omCoarse + c2o1)) * mxyyMxzzMean;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  kzero= posC[k];
-	  kw   = neighborCX[kzero];
-	  ks   = neighborCY[kzero];
-	  kb   = neighborCZ[kzero];
-	  ksw  = neighborCY[kw];
-	  kbw  = neighborCZ[kw];
-	  kbs  = neighborCZ[ks];
-	  kbsw = neighborCZ[ksw];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feC[kzero]    = mfcbb;                                                                 
-	  fwC[kw]       = mfabb;                                                               
-	  fnC[kzero]    = mfbcb;
-	  fsC[ks]       = mfbab;
-	  ftC[kzero]    = mfbbc;
-	  fbC[kb]       = mfbba;
-	  fneC[kzero]   = mfccb;
-	  fswC[ksw]     = mfaab;
-	  fseC[ks]      = mfcab;
-	  fnwC[kw]      = mfacb;
-	  fteC[kzero]   = mfcbc;
-	  fbwC[kbw]     = mfaba;
-	  fbeC[kb]      = mfcba;
-	  ftwC[kw]      = mfabc;
-	  ftnC[kzero]   = mfbcc;
-	  fbsC[kbs]     = mfbaa;
-	  fbnC[kb]      = mfbca;
-	  ftsC[ks]      = mfbac;
-	  fzeroC[kzero] = mfbbb;
-	  ftneC[kzero]  = mfccc;
-	  ftseC[ks]     = mfcac;
-	  fbneC[kb]     = mfcca;
-	  fbseC[kbs]    = mfcaa;
-	  ftnwC[kw]     = mfacc;
-	  ftswC[ksw]    = mfaac;
-	  fbnwC[kbw]    = mfaca;
-	  fbswC[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      //real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      //real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = two - o;
+      //real residu, residutmp;
+      //residutmp = zero;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      //real NeqOn = one;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position C 0., 0., 0.
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //x = 0.;
+      //y = 0.;
+      //z = 0.;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
+      //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
+      press = d0;
+      vvx   = a0;
+      vvy   = b0;
+      vvz   = c0;
+
+      //mfaaa = drho;
+      //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
+      mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
+
+      mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
+
+      
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //3.
+      // linear combinations
+      mfbbb    = c1o2 * (( omCoarse + c12o1)*(-omFine + c2o1)) / (( omFine + c12o1)*(-omCoarse + c2o1)) * mfbbbMean;
+      mxxyPyzz = c1o2 * ((-omCoarse + c3o1 )*(-omFine + c2o1)) / ((-omFine + c3o1 )*(-omCoarse + c2o1)) * mxxyPyzzMean;
+      mxxyMyzz = c1o2 * ((-omCoarse + c6o1   )*(-omFine + c2o1)) / ((-omFine + c6o1   )*(-omCoarse + c2o1)) * mxxyMyzzMean;
+      mxxzPyyz = c1o2 * ((-omCoarse + c3o1 )*(-omFine + c2o1)) / ((-omFine + c3o1 )*(-omCoarse + c2o1)) * mxxzPyyzMean;
+      mxxzMyyz = c1o2 * ((-omCoarse + c6o1   )*(-omFine + c2o1)) / ((-omFine + c6o1   )*(-omCoarse + c2o1)) * mxxzMyyzMean;
+      mxyyPxzz = c1o2 * ((-omCoarse + c3o1 )*(-omFine + c2o1)) / ((-omFine + c3o1 )*(-omCoarse + c2o1)) * mxyyPxzzMean;
+      mxyyMxzz = c1o2 * ((-omCoarse + c6o1   )*(-omFine + c2o1)) / ((-omFine + c6o1   )*(-omCoarse + c2o1)) * mxyyMxzzMean;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 0
+      kzero= posC[k];
+      kw   = neighborCX[kzero];
+      ks   = neighborCY[kzero];
+      kb   = neighborCZ[kzero];
+      ksw  = neighborCY[kw];
+      kbw  = neighborCZ[kw];
+      kbs  = neighborCZ[ks];
+      kbsw = neighborCZ[ksw];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feC[kzero]    = mfcbb;                                                                 
+      fwC[kw]       = mfabb;                                                               
+      fnC[kzero]    = mfbcb;
+      fsC[ks]       = mfbab;
+      ftC[kzero]    = mfbbc;
+      fbC[kb]       = mfbba;
+      fneC[kzero]   = mfccb;
+      fswC[ksw]     = mfaab;
+      fseC[ks]      = mfcab;
+      fnwC[kw]      = mfacb;
+      fteC[kzero]   = mfcbc;
+      fbwC[kbw]     = mfaba;
+      fbeC[kb]      = mfcba;
+      ftwC[kw]      = mfabc;
+      ftnC[kzero]   = mfbcc;
+      fbsC[kbs]     = mfbaa;
+      fbnC[kb]      = mfbca;
+      ftsC[ks]      = mfbac;
+      fzeroC[kzero] = mfbbb;
+      ftneC[kzero]  = mfccc;
+      ftseC[ks]     = mfcac;
+      fbneC[kb]     = mfcca;
+      fbseC[kbs]    = mfcaa;
+      ftnwC[kw]     = mfacc;
+      ftswC[ksw]    = mfaac;
+      fbnwC[kbw]    = mfaca;
+      fbswC[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -10545,46 +10545,46 @@ __device__ void scaleFC_RhoSq_comp_27_Calculation(
         real kxzAverage    = c0o1;
         real kxxMyyAverage = c0o1;
         real kxxMzzAverage = c0o1;
-        // real kxyAverage	 =(kxyFromfcNEQ_SWB+
-        //				   kxyFromfcNEQ_SWT+
-        //				   kxyFromfcNEQ_SET+
-        //				   kxyFromfcNEQ_SEB+
-        //				   kxyFromfcNEQ_NWB+
-        //				   kxyFromfcNEQ_NWT+
-        //				   kxyFromfcNEQ_NET+
-        //				   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-        // real kyzAverage	 =(kyzFromfcNEQ_SWB+
-        //				   kyzFromfcNEQ_SWT+
-        //				   kyzFromfcNEQ_SET+
-        //				   kyzFromfcNEQ_SEB+
-        //				   kyzFromfcNEQ_NWB+
-        //				   kyzFromfcNEQ_NWT+
-        //				   kyzFromfcNEQ_NET+
-        //				   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-        // real kxzAverage	 =(kxzFromfcNEQ_SWB+
-        //				   kxzFromfcNEQ_SWT+
-        //				   kxzFromfcNEQ_SET+
-        //				   kxzFromfcNEQ_SEB+
-        //				   kxzFromfcNEQ_NWB+
-        //				   kxzFromfcNEQ_NWT+
-        //				   kxzFromfcNEQ_NET+
-        //				   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-        // real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-        //				   kxxMyyFromfcNEQ_SWT+
-        //				   kxxMyyFromfcNEQ_SET+
-        //				   kxxMyyFromfcNEQ_SEB+
-        //				   kxxMyyFromfcNEQ_NWB+
-        //				   kxxMyyFromfcNEQ_NWT+
-        //				   kxxMyyFromfcNEQ_NET+
-        //				   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-        // real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-        //				   kxxMzzFromfcNEQ_SWT+
-        //				   kxxMzzFromfcNEQ_SET+
-        //				   kxxMzzFromfcNEQ_SEB+
-        //				   kxxMzzFromfcNEQ_NWB+
-        //				   kxxMzzFromfcNEQ_NWT+
-        //				   kxxMzzFromfcNEQ_NET+
-        //				   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+        // real kxyAverage     =(kxyFromfcNEQ_SWB+
+        //                   kxyFromfcNEQ_SWT+
+        //                   kxyFromfcNEQ_SET+
+        //                   kxyFromfcNEQ_SEB+
+        //                   kxyFromfcNEQ_NWB+
+        //                   kxyFromfcNEQ_NWT+
+        //                   kxyFromfcNEQ_NET+
+        //                   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+        // real kyzAverage     =(kyzFromfcNEQ_SWB+
+        //                   kyzFromfcNEQ_SWT+
+        //                   kyzFromfcNEQ_SET+
+        //                   kyzFromfcNEQ_SEB+
+        //                   kyzFromfcNEQ_NWB+
+        //                   kyzFromfcNEQ_NWT+
+        //                   kyzFromfcNEQ_NET+
+        //                   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+        // real kxzAverage     =(kxzFromfcNEQ_SWB+
+        //                   kxzFromfcNEQ_SWT+
+        //                   kxzFromfcNEQ_SET+
+        //                   kxzFromfcNEQ_SEB+
+        //                   kxzFromfcNEQ_NWB+
+        //                   kxzFromfcNEQ_NWT+
+        //                   kxzFromfcNEQ_NET+
+        //                   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+        // real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+        //                   kxxMyyFromfcNEQ_SWT+
+        //                   kxxMyyFromfcNEQ_SET+
+        //                   kxxMyyFromfcNEQ_SEB+
+        //                   kxxMyyFromfcNEQ_NWB+
+        //                   kxxMyyFromfcNEQ_NWT+
+        //                   kxxMyyFromfcNEQ_NET+
+        //                   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+        // real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+        //                   kxxMzzFromfcNEQ_SWT+
+        //                   kxxMzzFromfcNEQ_SET+
+        //                   kxxMzzFromfcNEQ_SEB+
+        //                   kxxMzzFromfcNEQ_NWB+
+        //                   kxxMzzFromfcNEQ_NWT+
+        //                   kxxMzzFromfcNEQ_NET+
+        //                   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
 
         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         ////Press
@@ -10626,10 +10626,10 @@ __device__ void scaleFC_RhoSq_comp_27_Calculation(
         //
         // x------x
         // |      |
-        // |	 ---+--->X
-        // |		|  \
-	  // x------x   \
-	  //			off-vector
+        // |     ---+--->X
+        // |        |  \
+      // x------x   \
+      //            off-vector
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz +
              xoff * yoff * axy + xoff * zoff * axz + yoff * zoff * ayz;
@@ -11074,27 +11074,27 @@ __device__ void scaleFC_RhoSq_comp_27_Calculation(
 }
 
 __global__ void scaleFC_RhoSq_comp_27(real* DC, 
-												 real* DF, 
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posC, 
-												 unsigned int* posFSWB, 
-												 unsigned int kFC, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offFC)
+                                                 real* DF, 
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posC, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kFC, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offFC)
 {
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  ix = threadIdx.x;  // Globaler x-Index 
@@ -11167,27 +11167,27 @@ __global__ void scaleFC_RhoSq_comp_27(real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleFC_staggered_time_comp_27(   real* DC, 
-															 real* DF, 
-															 unsigned int* neighborCX,
-															 unsigned int* neighborCY,
-															 unsigned int* neighborCZ,
-															 unsigned int* neighborFX,
-															 unsigned int* neighborFY,
-															 unsigned int* neighborFZ,
-															 unsigned long long numberOfLBnodesCoarse, 
-															 unsigned long long numberOfLBnodesFine, 
-															 bool isEvenTimestep,
-															 unsigned int* posC, 
-															 unsigned int* posFSWB, 
-															 unsigned int kFC, 
-															 real omCoarse, 
-															 real omFine, 
-															 real nu, 
-															 unsigned int nxC, 
-															 unsigned int nyC, 
-															 unsigned int nxF, 
-															 unsigned int nyF,
-															 ICellNeigh offFC)
+                                                             real* DF, 
+                                                             unsigned int* neighborCX,
+                                                             unsigned int* neighborCY,
+                                                             unsigned int* neighborCZ,
+                                                             unsigned int* neighborFX,
+                                                             unsigned int* neighborFY,
+                                                             unsigned int* neighborFZ,
+                                                             unsigned long long numberOfLBnodesCoarse, 
+                                                             unsigned long long numberOfLBnodesFine, 
+                                                             bool isEvenTimestep,
+                                                             unsigned int* posC, 
+                                                             unsigned int* posFSWB, 
+                                                             unsigned int kFC, 
+                                                             real omCoarse, 
+                                                             real omFine, 
+                                                             real nu, 
+                                                             unsigned int nxC, 
+                                                             unsigned int nyC, 
+                                                             unsigned int nxF, 
+                                                             unsigned int nyF,
+                                                             ICellNeigh offFC)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -11388,8 +11388,8 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
 
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-	  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-	  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+      vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+      vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
@@ -11397,7 +11397,7 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
       kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
       kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
 
-	  
+      
       //////////////////////////////////////////////////////////////////////////
       //SWT//
       //////////////////////////////////////////////////////////////////////////
@@ -11441,8 +11441,8 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
 
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-	  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-	  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+      vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+      vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
       kyzFromfcNEQ_SWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
@@ -11493,8 +11493,8 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
 
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-	  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-	  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+      vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+      vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
       kyzFromfcNEQ_SET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
@@ -11545,8 +11545,8 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
 
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-	  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-	  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+      vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+      vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
       kyzFromfcNEQ_SEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
@@ -11607,8 +11607,8 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
 
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-	  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-	  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+      vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+      vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
       kyzFromfcNEQ_NWB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
@@ -11659,8 +11659,8 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
 
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-	  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-	  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+      vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+      vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
       kyzFromfcNEQ_NWT    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
@@ -11711,8 +11711,8 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
 
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-	  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-	  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+      vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+      vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
       kyzFromfcNEQ_NET    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
@@ -11763,8 +11763,8 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
 
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-	  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-	  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+      vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+      vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
       kyzFromfcNEQ_NEB    = -c3o1*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
@@ -11776,103 +11776,103 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
       //3
       //////////////////////////////////////////////////////////////////////////
       a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
-			 c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
-			 c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
-			 c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
-			 c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
-			 c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
+             c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
+             c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
+             c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
+             c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
+             c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
-			 c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
-			 c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
-			 c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
-			 c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
+             c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
+             c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
+             c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
-			 c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
-			 c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
-			 c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
-			 c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
+             c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
+             c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
+             c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
+             c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
       ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
-			 kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
+             kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
       cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
       ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
-			 kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
+             kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
       byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
-			 c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
+             kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
       az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
       bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1;
       cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
       azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
-			 c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
-			 c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
+             c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
+             c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
       axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
       bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
       cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
@@ -11886,88 +11886,88 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
       //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
       //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage	 =(kxyFromfcNEQ_SWB+
-							   kxyFromfcNEQ_SWT+
-							   kxyFromfcNEQ_SET+
-							   kxyFromfcNEQ_SEB+
-							   kxyFromfcNEQ_NWB+
-							   kxyFromfcNEQ_NWT+
-							   kxyFromfcNEQ_NET+
-							   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  real kyzAverage	 =(kyzFromfcNEQ_SWB+
-							   kyzFromfcNEQ_SWT+
-							   kyzFromfcNEQ_SET+
-							   kyzFromfcNEQ_SEB+
-							   kyzFromfcNEQ_NWB+
-							   kyzFromfcNEQ_NWT+
-							   kyzFromfcNEQ_NET+
-							   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  real kxzAverage	 =(kxzFromfcNEQ_SWB+
-							   kxzFromfcNEQ_SWT+
-							   kxzFromfcNEQ_SET+
-							   kxzFromfcNEQ_SEB+
-							   kxzFromfcNEQ_NWB+
-							   kxzFromfcNEQ_NWT+
-							   kxzFromfcNEQ_NET+
-							   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-							   kxxMyyFromfcNEQ_SWT+
-							   kxxMyyFromfcNEQ_SET+
-							   kxxMyyFromfcNEQ_SEB+
-							   kxxMyyFromfcNEQ_NWB+
-							   kxxMyyFromfcNEQ_NWT+
-							   kxxMyyFromfcNEQ_NET+
-							   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-							   kxxMzzFromfcNEQ_SWT+
-							   kxxMzzFromfcNEQ_SET+
-							   kxxMzzFromfcNEQ_SEB+
-							   kxxMzzFromfcNEQ_NWB+
-							   kxxMzzFromfcNEQ_NWT+
-							   kxxMzzFromfcNEQ_NET+
-							   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-	  dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-	  //d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage     =(kxyFromfcNEQ_SWB+
+                               kxyFromfcNEQ_SWT+
+                               kxyFromfcNEQ_SET+
+                               kxyFromfcNEQ_SEB+
+                               kxyFromfcNEQ_NWB+
+                               kxyFromfcNEQ_NWT+
+                               kxyFromfcNEQ_NET+
+                               kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      real kyzAverage     =(kyzFromfcNEQ_SWB+
+                               kyzFromfcNEQ_SWT+
+                               kyzFromfcNEQ_SET+
+                               kyzFromfcNEQ_SEB+
+                               kyzFromfcNEQ_NWB+
+                               kyzFromfcNEQ_NWT+
+                               kyzFromfcNEQ_NET+
+                               kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      real kxzAverage     =(kxzFromfcNEQ_SWB+
+                               kxzFromfcNEQ_SWT+
+                               kxzFromfcNEQ_SET+
+                               kxzFromfcNEQ_SEB+
+                               kxzFromfcNEQ_NWB+
+                               kxzFromfcNEQ_NWT+
+                               kxzFromfcNEQ_NET+
+                               kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+                               kxxMyyFromfcNEQ_SWT+
+                               kxxMyyFromfcNEQ_SET+
+                               kxxMyyFromfcNEQ_SEB+
+                               kxxMyyFromfcNEQ_NWB+
+                               kxxMyyFromfcNEQ_NWT+
+                               kxxMyyFromfcNEQ_NET+
+                               kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+                               kxxMzzFromfcNEQ_SWT+
+                               kxxMzzFromfcNEQ_SET+
+                               kxxMzzFromfcNEQ_SEB+
+                               kxxMzzFromfcNEQ_NWB+
+                               kxxMzzFromfcNEQ_NWT+
+                               kxxMzzFromfcNEQ_NET+
+                               kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+      dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot 
-	  //
       //
-	  // x------x
-	  // |      |
-	  // |	 ---+--->X
-	  // |		|  \
-	  // x------x   \
-	  //			off-vector
+      //
+      // x------x
+      // |      |
+      // |     ---+--->X
+      // |        |  \
+      // x------x   \
+      //            off-vector
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
@@ -11981,433 +11981,433 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  real O3 = c2o1 - o;
-	  real residu, residutmp;
-	  residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position C 0., 0., 0.
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //x = 0.;
-	  //y = 0.;
-	  //z = 0.;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
-	  //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
-	  press = d0;
-	  vvx   = a0;
-	  vvy   = b0;
-	  vvz   = c0;
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
-	  mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o*mfaaa;
-	  mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o*mfaaa;
-
-	  mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o*mfaaa;
-	  mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o*mfaaa;
-	  mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o*mfaaa;
-
-	  
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //3.
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy );
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz );
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz );
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy );
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy );
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz );
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz );
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  kzero= posC[k];
-	  kw   = neighborCX[kzero];
-	  ks   = neighborCY[kzero];
-	  kb   = neighborCZ[kzero];
-	  ksw  = neighborCY[kw];
-	  kbw  = neighborCZ[kw];
-	  kbs  = neighborCZ[ks];
-	  kbsw = neighborCZ[ksw];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feC[kzero]    = mfcbb;                                                                 
-	  fwC[kw]       = mfabb;                                                               
-	  fnC[kzero]    = mfbcb;
-	  fsC[ks]       = mfbab;
-	  ftC[kzero]    = mfbbc;
-	  fbC[kb]       = mfbba;
-	  fneC[kzero]   = mfccb;
-	  fswC[ksw]     = mfaab;
-	  fseC[ks]      = mfcab;
-	  fnwC[kw]      = mfacb;
-	  fteC[kzero]   = mfcbc;
-	  fbwC[kbw]     = mfaba;
-	  fbeC[kb]      = mfcba;
-	  ftwC[kw]      = mfabc;
-	  ftnC[kzero]   = mfbcc;
-	  fbsC[kbs]     = mfbaa;
-	  fbnC[kb]      = mfbca;
-	  ftsC[ks]      = mfbac;
-	  fzeroC[kzero] = mfbbb;
-	  ftneC[kzero]  = mfccc;
-	  ftseC[ks]     = mfcac;
-	  fbneC[kb]     = mfcca;
-	  fbseC[kbs]    = mfcaa;
-	  ftnwC[kw]     = mfacc;
-	  ftswC[ksw]    = mfaac;
-	  fbnwC[kbw]    = mfaca;
-	  fbswC[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      real O3 = c2o1 - o;
+      real residu, residutmp;
+      residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position C 0., 0., 0.
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //x = 0.;
+      //y = 0.;
+      //z = 0.;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
+      //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
+      press = d0;
+      vvx   = a0;
+      vvy   = b0;
+      vvz   = c0;
+
+      //mfaaa = drho;
+      //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
+      mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o*mfaaa;
+      mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o*mfaaa;
+
+      mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o*mfaaa;
+      mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o*mfaaa;
+      mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o*mfaaa;
+
+      
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //3.
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy );
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz );
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz );
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy );
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy );
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz );
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz );
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu))*mfaaa;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 0
+      kzero= posC[k];
+      kw   = neighborCX[kzero];
+      ks   = neighborCY[kzero];
+      kb   = neighborCZ[kzero];
+      ksw  = neighborCY[kw];
+      kbw  = neighborCZ[kw];
+      kbs  = neighborCZ[ks];
+      kbsw = neighborCZ[ksw];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feC[kzero]    = mfcbb;                                                                 
+      fwC[kw]       = mfabb;                                                               
+      fnC[kzero]    = mfbcb;
+      fsC[ks]       = mfbab;
+      ftC[kzero]    = mfbbc;
+      fbC[kb]       = mfbba;
+      fneC[kzero]   = mfccb;
+      fswC[ksw]     = mfaab;
+      fseC[ks]      = mfcab;
+      fnwC[kw]      = mfacb;
+      fteC[kzero]   = mfcbc;
+      fbwC[kbw]     = mfaba;
+      fbeC[kb]      = mfcba;
+      ftwC[kw]      = mfabc;
+      ftnC[kzero]   = mfbcc;
+      fbsC[kbs]     = mfbaa;
+      fbnC[kb]      = mfbca;
+      ftsC[ks]      = mfbac;
+      fzeroC[kzero] = mfbbb;
+      ftneC[kzero]  = mfccc;
+      ftseC[ks]     = mfcac;
+      fbneC[kb]     = mfcca;
+      fbseC[kbs]    = mfcaa;
+      ftnwC[kw]     = mfacc;
+      ftswC[ksw]    = mfaac;
+      fbnwC[kbw]    = mfaca;
+      fbswC[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -12467,27 +12467,27 @@ __global__ void scaleFC_staggered_time_comp_27(   real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleFC_Fix_comp_27(  real* DC, 
-												 real* DF, 
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posC, 
-												 unsigned int* posFSWB, 
-												 unsigned int kFC, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offFC)
+                                                 real* DF, 
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posC, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kFC, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offFC)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -12690,67 +12690,67 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
 
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-	  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-	  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+      vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+      vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_SWB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx2_SWB)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_SWB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx2_SWB)));
       //kyzFromfcNEQ_SWB    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SWB) - ((vx2_SWB*vx3_SWB)));
       //kxzFromfcNEQ_SWB    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SWB) - ((vx1_SWB*vx3_SWB)));
       //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
       //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
 
-	  kxyFromfcNEQ_SWB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
-	  kyzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
-	  kxzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB)));
-	  kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx2_SWB*vx2_SWB)));
-	  kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx3_SWB*vx3_SWB)));
-	  kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx2_SWB - vx3_SWB*vx3_SWB)));
-
-	  ////konditioniert
-	  //vvx = vx1_SWB;
-	  //vvy = vx2_SWB;
-	  //vvz = vx3_SWB;
-	  //drho = drho_SWB;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E    -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W    -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N    -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S    -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T    -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B    -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE   -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW   -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE   -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW   -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE   -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW   -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE   -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW   -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN   -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS   -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN   -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS   -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE  -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW  -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE  -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW  -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE  -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW  -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE  -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW  -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_SWB = -three*omegaS   *((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_SWB = -three*omegaS   *((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_SWB = -three*omegaS   *((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N)))             / (one + drho));
-	  //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T)))             / (one + drho));
-	  //kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_SWB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
+      kyzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
+      kxzFromfcNEQ_SWB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB)));
+      kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx2_SWB*vx2_SWB)));
+      kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB - vx3_SWB*vx3_SWB)));
+      kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWB) - ((vx2_SWB*vx2_SWB - vx3_SWB*vx3_SWB)));
+
+      ////konditioniert
+      //vvx = vx1_SWB;
+      //vvy = vx2_SWB;
+      //vvz = vx3_SWB;
+      //drho = drho_SWB;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E    -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W    -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N    -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S    -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T    -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B    -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE   -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW   -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE   -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW   -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE   -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW   -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE   -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW   -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN   -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS   -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN   -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS   -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE  -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW  -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE  -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW  -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE  -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW  -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE  -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW  -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_SWB = -three*omegaS   *((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_SWB = -three*omegaS   *((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_SWB = -three*omegaS   *((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_SWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N)))             / (one + drho));
+      //kxxMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T)))             / (one + drho));
+      //kyyMzzFromfcNEQ_SWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
 
@@ -12797,67 +12797,67 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
 
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-	  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-	  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+      vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+      vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_SWT    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx2_SWT)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_SWT    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx2_SWT)));
       //kyzFromfcNEQ_SWT    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SWT) - ((vx2_SWT*vx3_SWT)));
       //kxzFromfcNEQ_SWT    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SWT) - ((vx1_SWT*vx3_SWT)));
       //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
       //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
 
-	  kxyFromfcNEQ_SWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
-	  kyzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
-	  kxzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT)));
-	  kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx2_SWT*vx2_SWT)));
-	  kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx3_SWT*vx3_SWT)));
-	  kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx2_SWT - vx3_SWT*vx3_SWT)));
-
-	  ////konditioniert
-	  //vvx = vx1_SWT;
-	  //vvy = vx2_SWT;
-	  //vvz = vx3_SWT;
-	  //drho = drho_SWT;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_SWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_SWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_SWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_SWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
+      kyzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
+      kxzFromfcNEQ_SWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT)));
+      kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx2_SWT*vx2_SWT)));
+      kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT - vx3_SWT*vx3_SWT)));
+      kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SWT) - ((vx2_SWT*vx2_SWT - vx3_SWT*vx3_SWT)));
+
+      ////konditioniert
+      //vvx = vx1_SWT;
+      //vvy = vx2_SWT;
+      //vvz = vx3_SWT;
+      //drho = drho_SWT;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_SWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_SWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_SWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_SWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_SWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
 
@@ -12905,67 +12905,67 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
 
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-	  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-	  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+      vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+      vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_SET    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx2_SET)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_SET    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx2_SET)));
       //kyzFromfcNEQ_SET    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SET) - ((vx2_SET*vx3_SET)));
       //kxzFromfcNEQ_SET    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SET) - ((vx1_SET*vx3_SET)));
       //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
       //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
 
-	  kxyFromfcNEQ_SET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
-	  kyzFromfcNEQ_SET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
-	  kxzFromfcNEQ_SET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET)));
-	  kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx2_SET*vx2_SET)));
-	  kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx3_SET*vx3_SET)));
-	  kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SET) - ((vx2_SET*vx2_SET - vx3_SET*vx3_SET)));
-
-	  ////konditioniert
-	  //vvx = vx1_SET;
-	  //vvy = vx2_SET;
-	  //vvz = vx3_SET;
-	  //drho = drho_SET;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_SET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_SET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_SET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_SET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
+      kyzFromfcNEQ_SET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
+      kxzFromfcNEQ_SET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET)));
+      kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx2_SET*vx2_SET)));
+      kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET - vx3_SET*vx3_SET)));
+      kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SET) - ((vx2_SET*vx2_SET - vx3_SET*vx3_SET)));
+
+      ////konditioniert
+      //vvx = vx1_SET;
+      //vvy = vx2_SET;
+      //vvz = vx3_SET;
+      //drho = drho_SET;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_SET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_SET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_SET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_SET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_SET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
 
@@ -13012,67 +13012,67 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
 
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-	  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-	  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+      vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+      vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_SEB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx2_SEB)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_SEB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx2_SEB)));
       //kyzFromfcNEQ_SEB    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_SEB) - ((vx2_SEB*vx3_SEB)));
       //kxzFromfcNEQ_SEB    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_SEB) - ((vx1_SEB*vx3_SEB)));
       //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
       //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
 
-	  kxyFromfcNEQ_SEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
-	  kyzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
-	  kxzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB)));
-	  kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx2_SEB*vx2_SEB)));
-	  kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx3_SEB*vx3_SEB)));
-	  kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx2_SEB - vx3_SEB*vx3_SEB)));
-
-	  ////konditioniert
-	  //vvx = vx1_SEB;
-	  //vvy = vx2_SEB;
-	  //vvz = vx3_SEB;
-	  //drho = drho_SEB;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_SEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_SEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_SEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_SEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
+      kyzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
+      kxzFromfcNEQ_SEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB)));
+      kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx2_SEB*vx2_SEB)));
+      kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB - vx3_SEB*vx3_SEB)));
+      kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_SEB) - ((vx2_SEB*vx2_SEB - vx3_SEB*vx3_SEB)));
+
+      ////konditioniert
+      //vvx = vx1_SEB;
+      //vvy = vx2_SEB;
+      //vvz = vx3_SEB;
+      //drho = drho_SEB;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_SEB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_SEB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_SEB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_SEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_SEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
       //////////////////////////////////////////////////////////////////////////
@@ -13128,8 +13128,8 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
 
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-	  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-	  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+      vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+      vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
 
       //kxyFromfcNEQ_NWB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWB) - ((vx1_NWB*vx2_NWB)));
       //kyzFromfcNEQ_NWB    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NWB) - ((vx2_NWB*vx3_NWB)));
@@ -13137,61 +13137,61 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
       //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
       //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
 
-	  kxyFromfcNEQ_NWB = -c3o1*omegaS*   ((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
-	  kyzFromfcNEQ_NWB = -c3o1*omegaS*   ((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
-	  kxzFromfcNEQ_NWB = -c3o1*omegaS*   ((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB)));
-	  kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx2_NWB*vx2_NWB)));
-	  kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx3_NWB*vx3_NWB)));
-	  kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx2_NWB - vx3_NWB*vx3_NWB)));
-
-	  //konditioniert
-	  //vvx = vx1_NWB;
-	  //vvy = vx2_NWB;
-	  //vvz = vx3_NWB;
-	  //drho = drho_NWB;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_NWB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_NWB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_NWB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
-
-
-
-	  //////////////////////////////////////////////////////////////////////////
+      kxyFromfcNEQ_NWB = -c3o1*omegaS*   ((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
+      kyzFromfcNEQ_NWB = -c3o1*omegaS*   ((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
+      kxzFromfcNEQ_NWB = -c3o1*omegaS*   ((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB)));
+      kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx2_NWB*vx2_NWB)));
+      kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB - vx3_NWB*vx3_NWB)));
+      kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWB) - ((vx2_NWB*vx2_NWB - vx3_NWB*vx3_NWB)));
+
+      //konditioniert
+      //vvx = vx1_NWB;
+      //vvy = vx2_NWB;
+      //vvz = vx3_NWB;
+      //drho = drho_NWB;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_NWB = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_NWB = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_NWB = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_NWB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_NWB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+
+
+
+      //////////////////////////////////////////////////////////////////////////
       //NWT//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -13234,67 +13234,67 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
 
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-	  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-	  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+      vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+      vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_NWT    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx2_NWT)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_NWT    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx2_NWT)));
       //kyzFromfcNEQ_NWT    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NWT) - ((vx2_NWT*vx3_NWT)));
       //kxzFromfcNEQ_NWT    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NWT) - ((vx1_NWT*vx3_NWT)));
       //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
       //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
 
-	  kxyFromfcNEQ_NWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
-	  kyzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
-	  kxzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT)));
-	  kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx2_NWT*vx2_NWT)));
-	  kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx3_NWT*vx3_NWT)));
-	  kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx2_NWT - vx3_NWT*vx3_NWT)));
-
-	  //konditioniert
-	  //vvx = vx1_NWT;
-	  //vvy = vx2_NWT;
-	  //vvz = vx3_NWT;
-	  //drho = drho_NWT;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_NWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_NWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_NWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_NWT = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
+      kyzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
+      kxzFromfcNEQ_NWT = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT)));
+      kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx2_NWT*vx2_NWT)));
+      kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT - vx3_NWT*vx3_NWT)));
+      kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NWT) - ((vx2_NWT*vx2_NWT - vx3_NWT*vx3_NWT)));
+
+      //konditioniert
+      //vvx = vx1_NWT;
+      //vvy = vx2_NWT;
+      //vvz = vx3_NWT;
+      //drho = drho_NWT;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_NWT = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_NWT = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_NWT = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_NWT = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_NWT = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
 
 
@@ -13341,67 +13341,67 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
 
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-	  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-	  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+      vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+      vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
 
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_NET    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx2_NET)));
+      //nicht konditioniert
+      //kxyFromfcNEQ_NET    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx2_NET)));
       //kyzFromfcNEQ_NET    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NET) - ((vx2_NET*vx3_NET)));
       //kxzFromfcNEQ_NET    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NET) - ((vx1_NET*vx3_NET)));
       //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
       //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
 
-	  kxyFromfcNEQ_NET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
-	  kyzFromfcNEQ_NET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
-	  kxzFromfcNEQ_NET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET)));
-	  kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx2_NET*vx2_NET)));
-	  kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx3_NET*vx3_NET)));
-	  kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NET) - ((vx2_NET*vx2_NET - vx3_NET*vx3_NET)));
-
-	  //konditioniert
-	  //vvx = vx1_NET;
-	  //vvy = vx2_NET;
-	  //vvz = vx3_NET;
-	  //drho = drho_NET;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_NET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kyzFromfcNEQ_NET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
-	  //kxzFromfcNEQ_NET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
-	  //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      kxyFromfcNEQ_NET = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
+      kyzFromfcNEQ_NET = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
+      kxzFromfcNEQ_NET = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET)));
+      kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx2_NET*vx2_NET)));
+      kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET - vx3_NET*vx3_NET)));
+      kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NET) - ((vx2_NET*vx2_NET - vx3_NET*vx3_NET)));
+
+      //konditioniert
+      //vvx = vx1_NET;
+      //vvy = vx2_NET;
+      //vvz = vx3_NET;
+      //drho = drho_NET;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_NET = -three*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (one + drho));
+      //kyzFromfcNEQ_NET = -three*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (one + drho));
+      //kxzFromfcNEQ_NET = -three*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (one + drho));
+      //kxxMyyFromfcNEQ_NET = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_NET = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
       //////////////////////////////////////////////////////////////////////////
       //NEB//
@@ -13446,271 +13446,271 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
 
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-	  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-	  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
-
-	  //nicht konditioniert
-	  //kxyFromfcNEQ_NEB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx2_NEB)));
-	  //kyzFromfcNEQ_NEB    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NEB) - ((vx2_NEB*vx3_NEB)));
-	  //kxzFromfcNEQ_NEB    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx3_NEB)));
-	  //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
-	  //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
-
-	  kxyFromfcNEQ_NEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
-	  kyzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
-	  kxzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB)));
-	  kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx2_NEB*vx2_NEB)));
-	  kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx3_NEB*vx3_NEB)));
-	  kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx2_NEB - vx3_NEB*vx3_NEB)));
-
-	  //konditioniert
-	  //vvx = vx1_NEB;
-	  //vvy = vx2_NEB;
-	  //vvz = vx3_NEB;
-	  //drho = drho_NEB;
-	  //vx2 = vvx * vvx;
-	  //vy2 = vvy * vvy;
-	  //vz2 = vvz * vvz;
-
-
-	  //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
-	  //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
-	  //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
-	  //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
-	  //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
-	  //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
-	  //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
-	  //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
-	  //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
-	  //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
-	  //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
-	  //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
-	  //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
-	  //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
-	  //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
-	  //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
-	  //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
-	  //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
-	  //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
-	  //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
-	  //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
-	  //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-	  //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
-	  //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
-	  //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
-
-	  //kxyFromfcNEQ_NEB = -three*omegaS*((((f_SW - f_SE)  + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))  ) / (one + drho));
-	  //kyzFromfcNEQ_NEB = -three*omegaS*((((f_BS - f_TS)  + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))  ) / (one + drho));
-	  //kxzFromfcNEQ_NEB = -three*omegaS*((((f_BW - f_BE)  + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))  ) / (one + drho));
-	  //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S)  + (f_E - f_N))) / (one + drho));
-	  //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) +  (f_E - f_T))) / (one + drho));
-	  //kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
+      vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+      vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+
+      //nicht konditioniert
+      //kxyFromfcNEQ_NEB    = -three*omegaS*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx2_NEB)));
+      //kyzFromfcNEQ_NEB    = -three*omegaS*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (one + drho_NEB) - ((vx2_NEB*vx3_NEB)));
+      //kxzFromfcNEQ_NEB    = -three*omegaS*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (one + drho_NEB) - ((vx1_NEB*vx3_NEB)));
+      //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
+      //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (one + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
+
+      kxyFromfcNEQ_NEB = -c3o1*omegaS*((((f_SW - f_SE) + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
+      kyzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BS - f_TS) + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
+      kxzFromfcNEQ_NEB = -c3o1*omegaS*((((f_BW - f_BE) + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB)));
+      kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S) + (f_E - f_N))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx2_NEB*vx2_NEB)));
+      kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) + (f_E - f_T))) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB - vx3_NEB*vx3_NEB)));
+      kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (c1o1 + drho_NEB) - ((vx2_NEB*vx2_NEB - vx3_NEB*vx3_NEB)));
+
+      //konditioniert
+      //vvx = vx1_NEB;
+      //vvy = vx2_NEB;
+      //vvz = vx3_NEB;
+      //drho = drho_NEB;
+      //vx2 = vvx * vvx;
+      //vy2 = vvy * vvy;
+      //vz2 = vvz * vvz;
+
+
+      //f_E -= c2over27*drho + (drho + one)*(c2o9*(vvx + vx2) + (c1o6 + c1o2*(vvx + vx2))*vy2*vz2 - c1o9*(vy2 + vz2) - c1o3*(vvx + vx2)*(vy2 + vz2));
+      //f_W -= c2over27*drho - (drho + one)*((vvx - vx2)*(c2o9 - c1o3*vy2) - (c1o6*vy2 + (vvx - vx2)*(c1o3 - c1o2*vy2))*vz2 + c1o9*(vy2 + vz2));
+      //f_N -= c2over27*drho + (drho + one)*(c2o9*(vvy + vy2) + vx2*(c1o6 + c1o2*(vvy + vy2))*vz2 - c1o9*(vx2 + vz2) - c1o3*(vvy + vy2)*(vx2 + vz2));
+      //f_S -= c2over27*drho - (drho + one)*((c2o9 - c1o3*vx2)*(vvy - vy2) - (c1o6*vx2 + (c1o3 - c1o2*vx2)*(vvy - vy2))*vz2 + c1o9*(vx2 + vz2));
+      //f_T -= c2over27*drho + (drho + one)*(-(c1o9*(vx2 + vy2)) + c2o9*(vvz + vz2) - c1o3*(vx2 + vy2)*(vvz + vz2) + vx2*vy2*(c1o6 + c1o2*(vvz + vz2)));
+      //f_B -= c2over27*drho - (drho + one)*(c1o9*(vx2 + vy2) + c2o9*(vvz - vz2) - c1o3*(vx2 + vy2)*(vvz - vz2) - vx2*vy2*(c1o6 + c1o2*(-vvz + vz2)));
+      //f_NE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvy + vy2) + c1o18*(vvx + vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx + vx2)*(vvy + vy2) + c1o12*(vvx + vvy + vx2 + vy2))*vz2);
+      //f_SW -= c1over54*drho + (drho + one)*(c1o6*(vvx - vx2)*(vvy - vy2) + c1o18*(-vvx - vvy + vx2 + vy2) - (c1o36 + c1o4*(vvx - vx2)*(vvy - vy2) + c1o12*(-vvx - vvy + vx2 + vy2))*vz2);
+      //f_SE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvy - vy2)) + c1o18*(vvx - vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx + vx2)*(vvy - vy2) + c1o12*(vvx - vvy + vx2 + vy2))*vz2);
+      //f_NW -= c1over54*drho + (drho + one)*(-(c1o6*(vvx - vx2)*(vvy + vy2)) + c1o18*(-vvx + vvy + vx2 + vy2) - (c1o36 - c1o4*(vvx - vx2)*(vvy + vy2) + c1o12*(-vvx + vvy + vx2 + vy2))*vz2);
+      //f_TE -= c1over54*drho + (drho + one)*(c1o6*(vvx + vx2)*(vvz + vz2) + c1o18*(vvx + vvz + vx2 + vz2) - vy2*(c1o36 + c1o4*(vvx + vx2)*(vvz + vz2) + c1o12*(vvx + vvz + vx2 + vz2)));
+      //f_BW -= c1over54*drho - (drho + one)*(-(c1o6*(vvx - vx2)*(vvz - vz2)) + c1o18*(vvx + vvz - vx2 - vz2) + vy2*(c1o36 + c1o4*(vvx - vx2)*(vvz - vz2) + c1o12*(-vvx - vvz + vx2 + vz2)));
+      //f_BE -= c1over54*drho + (drho + one)*(-(c1o6*(vvx + vx2)*(vvz - vz2)) + c1o18*(vvx - vvz + vx2 + vz2) - vy2*(c1o36 - c1o4*(vvx + vx2)*(vvz - vz2) + c1o12*(vvx - vvz + vx2 + vz2)));
+      //f_TW -= c1over54*drho - (drho + one)*(c1o18*(vvx - vvz - vx2 - vz2) + c1o6*(vvx - vx2)*(vvz + vz2) + vy2*(c1o36 - c1o4*(vvx - vx2)*(vvz + vz2) + c1o12*(-vvx + vvz + vx2 + vz2)));
+      //f_TN -= c1over54*drho + (drho + one)*(c1o6*(vvy + vy2)*(vvz + vz2) + c1o18*(vvy + vvz + vy2 + vz2) - vx2*(c1o36 + c1o4*(vvy + vy2)*(vvz + vz2) + c1o12*(vvy + vvz + vy2 + vz2)));
+      //f_BS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_BN -= c1over54*drho + (drho + one)*(-(c1o6*(vvy + vy2)*(vvz - vz2)) + c1o18*(vvy - vvz + vy2 + vz2) - vx2*(c1o36 - c1o4*(vvy + vy2)*(vvz - vz2) + c1o12*(vvy - vvz + vy2 + vz2)));
+      //f_TS -= c1over54*drho - (drho + one)*(c1o18*(vvy - vvz - vy2 - vz2) + c1o6*(vvy - vy2)*(vvz + vz2) + vx2*(c1o36 - c1o4*(vvy - vy2)*(vvz + vz2) + c1o12*(-vvy + vvz + vy2 + vz2)));
+      //f_ZERO -= c8over27*drho - (drho + one)*(vx2*vy2*vz2 + c4o9*(vx2 + vy2 + vz2) - c2o3*(vx2*vy2 + (vx2 + vy2)*vz2));
+      //f_TNE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz + vz2) + c1o72*(vvx + vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) + vvx*(vvy + vvz + vy2 + vz2)));
+      //f_TSW -= c1over216*drho + (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz + vz2) + c1o72*(-vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + vvx*(vvy - vvz - vy2 - vz2) + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2)));
+      //f_TSE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz + vz2)) + c1o72*(vvx - vvy + vvz + vx2 + vy2 + vz2) + c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 - vvy*(vvz + vx2 + vz2) + vvx*(-vvy + vvz + vy2 + vz2)));
+      //f_TNW -= c1over216*drho - (drho + one)*(c1o72*(vvx - vvy - vvz - vx2 - vy2 - vz2) + c1o8*(vvx - vx2)*(vvy + vy2)*(vvz + vz2) - c1o24*(vvz*vx2 + vvz*vy2 + vx2*vy2 + (vx2 + vy2)*vz2 + vvy*(vvz + vx2 + vz2) - vvx*(vvy + vvz + vy2 + vz2)));
+      //f_BNE -= c1over216*drho + (drho + one)*(-(c1o8*(vvx + vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx + vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvy*vvz) + vvy*vx2 - vvz*vx2 - vvz*vy2 + vx2*vy2 + (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+      //f_BSW -= c1over216*drho - (drho + one)*(c1o8*(vvx - vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx + vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvz*vx2 + vvz*vy2 - vx2*vy2 - (vx2 + vy2)*vz2 + vvy*(-vvz + vx2 + vz2) + vvx*(-vvy - vvz + vy2 + vz2)));
+      //f_BSE -= c1over216*drho + (drho + one)*(c1o8*(vvx + vx2)*(vvy - vy2)*(vvz - vz2) + c1o72*(vvx - vvy - vvz + vx2 + vy2 + vz2) + c1o24*(-(vvx*vvy) - vvx*vvz + vvy*vvz - (vvy + vvz)*vx2 + (vvx - vvz + vx2)*vy2 + (vvx - vvy + vx2 + vy2)*vz2));
+      //f_BNW -= c1over216*drho - (drho + one)*(-(c1o8*(vvx - vx2)*(vvy + vy2)*(vvz - vz2)) + c1o72*(vvx - vvy + vvz - vx2 - vy2 - vz2) + c1o24*(vvy*vvz - vvy*vx2 + vvz*vx2 + vvz*vy2 - vx2*vy2 - (vvy + vx2 + vy2)*vz2 + vvx*(vvy - vvz + vy2 + vz2)));
+
+      //kxyFromfcNEQ_NEB = -three*omegaS*((((f_SW - f_SE)  + (f_NE - f_NW)) + (((f_BSW - f_BSE) + (f_BNE - f_BNW)) + ((f_TSW - f_TSE) + (f_TNE - f_TNW)))  ) / (one + drho));
+      //kyzFromfcNEQ_NEB = -three*omegaS*((((f_BS - f_TS)  + (f_TN - f_BN)) + (((f_BSE - f_TSE) + (f_BSW - f_BNW)) + ((f_TNE - f_BNE) + (f_TNW - f_TSW)))  ) / (one + drho));
+      //kxzFromfcNEQ_NEB = -three*omegaS*((((f_BW - f_BE)  + (f_TE - f_TW)) + (((f_BSW - f_BSE) + (f_BNW - f_BNE)) + ((f_TSE - f_TSW) + (f_TNE - f_TNW)))  ) / (one + drho));
+      //kxxMyyFromfcNEQ_NEB = -c3o2*omegaS *(((((f_BW - f_BS) + (f_TW - f_TS)) + ((f_BE - f_BN) + (f_TE - f_TN))) + ((f_W - f_S)  + (f_E - f_N))) / (one + drho));
+      //kxxMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SW - f_BS) + (f_NW - f_BN)) + ((f_SE - f_TS) + (f_NE - f_TN))) + ((f_W - f_B) +  (f_E - f_T))) / (one + drho));
+      //kyyMzzFromfcNEQ_NEB = -c3o2*omegaS *(((((f_SE - f_BE) + (f_SW - f_BW)) + ((f_NE - f_TE) + (f_NW - f_TW))) + ((f_S - f_B) + (f_N - f_T))) / (one + drho));
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
+      //kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
-	  a0  = c1o8*(((vx1_NEB + vx1_SWT) + (vx1_NWB + vx1_SET)) + ((vx1_SEB + vx1_NWT) + (vx1_SWB + vx1_NET)));
-	  ax  = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_SEB - vx1_NWT)));
-	  ay  = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_NWT - vx1_SEB)));
-	  az  = c1o4*(((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_NWT - vx1_SEB)));
-	  axy = c1o2*(((vx1_NEB - vx1_SET) + (vx1_SWB - vx1_NWT)) + ((vx1_SWT - vx1_NWB) + (vx1_NET - vx1_SEB)));
-	  axz = c1o2*(((vx1_SET - vx1_NEB) + (vx1_SWB - vx1_NWT)) + ((vx1_NWB - vx1_SWT) + (vx1_NET - vx1_SEB)));
-	  ayz = c1o2*(((vx1_NET - vx1_NWB) + (vx1_SEB - vx1_SWT)) + ((vx1_NWT - vx1_NEB) + (vx1_SWB - vx1_SET)));
-	  //axyz=		  ((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_SEB - vx1_NWT)) ;
-	  b0  = c1o8*(((vx2_NEB + vx2_SWT) + (vx2_NWB + vx2_SET)) + ((vx2_SEB + vx2_NWT) + (vx2_SWB + vx2_NET)));
-	  bx  = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT)));
-	  by  = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_NWT - vx2_SEB)));
-	  bz  = c1o4*(((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB)));
-	  bxy = c1o2*(((vx2_NEB - vx2_NWT) + (vx2_SWB - vx2_SET)) + ((vx2_SWT - vx2_SEB) + (vx2_NET - vx2_NWB)));
-	  bxz = c1o2*(((vx2_SWB - vx2_NEB) + (vx2_SET - vx2_NWT)) + ((vx2_NWB - vx2_SEB) + (vx2_NET - vx2_SWT)));
-	  byz = c1o2*(((vx2_NWT - vx2_NEB) + (vx2_SWB - vx2_SET)) + ((vx2_SEB - vx2_SWT) + (vx2_NET - vx2_NWB)));
-	  //bxyz=		  ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_SEB - vx2_NWT)) ;
-	  c0  = c1o8*(((vx3_NEB + vx3_SWT) + (vx3_NWB + vx3_SET)) + ((vx3_SEB + vx3_NWT) + (vx3_SWB + vx3_NET)));
-	  cx  = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_SEB - vx3_NWT)));
-	  cy  = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_NWT - vx3_SEB)));
-	  cz  = c1o4*(((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_NWT - vx3_SEB)));
-	  cxy = c1o2*(((vx3_NEB - vx3_SET) + (vx3_SWB - vx3_NWT)) + ((vx3_SWT - vx3_NWB) + (vx3_NET - vx3_SEB)));
-	  cxz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_SET - vx3_NWT)) + ((vx3_NWB - vx3_SEB) + (vx3_NET - vx3_SWT)));
-	  cyz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_NWT - vx3_SET)) + ((vx3_SEB - vx3_NWB) + (vx3_NET - vx3_SWT)));
-	  //cxyz=		  ((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_SEB - vx3_NWT)) ;
-
-	  //bxx = zero;
-	  //cxx = zero;
-	  //ayy = zero;
-	  //cyy = zero;
-	  //azz = zero;
-	  //bzz = zero;
-	  //axx = zero;
-	  //byy = zero;
-	  //czz = zero;
-
-	  bxx = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT)) + ((kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT))) - c1o2*axy;
-	  cxx = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) + (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) + (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*axz;
-
-	  ayy = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT)) - ((kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT) + (kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB))) - c1o2*bxy;
-	  cyy = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) + (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT)) - ((kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT) + (kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB))) - c1o2*byz;
-
-	  azz = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) - (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) - (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*cxz;
-	  bzz = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) - (kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT)) + ((kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB) - (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT))) - c1o2*cyz;
-
-	  axx = ( c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) + (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB) + (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT))) - c1o4*bxy)
-		  + ( c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) + (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) + ((kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB) + (kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT))) - c1o4*cxz);
-
-	  byy = (-c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) - (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT) - (kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB))) - c1o4*axy)
-		  + ( c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) + ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*cyz);
-
-	  czz = (-c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) - (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) - ((kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT) - (kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB))) - c1o4*axz)
-		  + ( c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) - ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*byz);
-
-	  a0 -= c1o4*(axx + ayy + azz);
-	  b0 -= c1o4*(bxx + byy + bzz);
-	  c0 -= c1o4*(cxx + cyy + czz);
-
-
-
-
-	  //////////
+      a0  = c1o8*(((vx1_NEB + vx1_SWT) + (vx1_NWB + vx1_SET)) + ((vx1_SEB + vx1_NWT) + (vx1_SWB + vx1_NET)));
+      ax  = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_SEB - vx1_NWT)));
+      ay  = c1o4*(((vx1_NEB - vx1_SWT) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_NWT - vx1_SEB)));
+      az  = c1o4*(((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_SET - vx1_NWB) + (vx1_NWT - vx1_SEB)));
+      axy = c1o2*(((vx1_NEB - vx1_SET) + (vx1_SWB - vx1_NWT)) + ((vx1_SWT - vx1_NWB) + (vx1_NET - vx1_SEB)));
+      axz = c1o2*(((vx1_SET - vx1_NEB) + (vx1_SWB - vx1_NWT)) + ((vx1_NWB - vx1_SWT) + (vx1_NET - vx1_SEB)));
+      ayz = c1o2*(((vx1_NET - vx1_NWB) + (vx1_SEB - vx1_SWT)) + ((vx1_NWT - vx1_NEB) + (vx1_SWB - vx1_SET)));
+      //axyz=          ((vx1_SWT - vx1_NEB) + (vx1_NET - vx1_SWB)) + ((vx1_NWB - vx1_SET) + (vx1_SEB - vx1_NWT)) ;
+      b0  = c1o8*(((vx2_NEB + vx2_SWT) + (vx2_NWB + vx2_SET)) + ((vx2_SEB + vx2_NWT) + (vx2_SWB + vx2_NET)));
+      bx  = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT)));
+      by  = c1o4*(((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_NWT - vx2_SEB)));
+      bz  = c1o4*(((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB)));
+      bxy = c1o2*(((vx2_NEB - vx2_NWT) + (vx2_SWB - vx2_SET)) + ((vx2_SWT - vx2_SEB) + (vx2_NET - vx2_NWB)));
+      bxz = c1o2*(((vx2_SWB - vx2_NEB) + (vx2_SET - vx2_NWT)) + ((vx2_NWB - vx2_SEB) + (vx2_NET - vx2_SWT)));
+      byz = c1o2*(((vx2_NWT - vx2_NEB) + (vx2_SWB - vx2_SET)) + ((vx2_SEB - vx2_SWT) + (vx2_NET - vx2_NWB)));
+      //bxyz=          ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB)) + ((vx2_NWB - vx2_SET) + (vx2_SEB - vx2_NWT)) ;
+      c0  = c1o8*(((vx3_NEB + vx3_SWT) + (vx3_NWB + vx3_SET)) + ((vx3_SEB + vx3_NWT) + (vx3_SWB + vx3_NET)));
+      cx  = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_SEB - vx3_NWT)));
+      cy  = c1o4*(((vx3_NEB - vx3_SWT) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_NWT - vx3_SEB)));
+      cz  = c1o4*(((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_SET - vx3_NWB) + (vx3_NWT - vx3_SEB)));
+      cxy = c1o2*(((vx3_NEB - vx3_SET) + (vx3_SWB - vx3_NWT)) + ((vx3_SWT - vx3_NWB) + (vx3_NET - vx3_SEB)));
+      cxz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_SET - vx3_NWT)) + ((vx3_NWB - vx3_SEB) + (vx3_NET - vx3_SWT)));
+      cyz = c1o2*(((vx3_SWB - vx3_NEB) + (vx3_NWT - vx3_SET)) + ((vx3_SEB - vx3_NWB) + (vx3_NET - vx3_SWT)));
+      //cxyz=          ((vx3_SWT - vx3_NEB) + (vx3_NET - vx3_SWB)) + ((vx3_NWB - vx3_SET) + (vx3_SEB - vx3_NWT)) ;
+
+      //bxx = zero;
+      //cxx = zero;
+      //ayy = zero;
+      //cyy = zero;
+      //azz = zero;
+      //bzz = zero;
+      //axx = zero;
+      //byy = zero;
+      //czz = zero;
+
+      bxx = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT)) + ((kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT))) - c1o2*axy;
+      cxx = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) + (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) + (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*axz;
+
+      ayy = c1o8*(((kxyFromfcNEQ_NET - kxyFromfcNEQ_SWB) + (kxyFromfcNEQ_NEB - kxyFromfcNEQ_SWT)) - ((kxyFromfcNEQ_SEB - kxyFromfcNEQ_NWT) + (kxyFromfcNEQ_SET - kxyFromfcNEQ_NWB))) - c1o2*bxy;
+      cyy = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) + (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT)) - ((kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT) + (kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB))) - c1o2*byz;
+
+      azz = c1o8*(((kxzFromfcNEQ_NET - kxzFromfcNEQ_SWB) - (kxzFromfcNEQ_SEB - kxzFromfcNEQ_NWT)) + ((kxzFromfcNEQ_SET - kxzFromfcNEQ_NWB) - (kxzFromfcNEQ_NEB - kxzFromfcNEQ_SWT))) - c1o2*cxz;
+      bzz = c1o8*(((kyzFromfcNEQ_NET - kyzFromfcNEQ_SWB) - (kyzFromfcNEQ_SEB - kyzFromfcNEQ_NWT)) + ((kyzFromfcNEQ_SET - kyzFromfcNEQ_NWB) - (kyzFromfcNEQ_NEB - kyzFromfcNEQ_SWT))) - c1o2*cyz;
+
+      axx = ( c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) + (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB) + (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT))) - c1o4*bxy)
+          + ( c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) + (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) + ((kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB) + (kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT))) - c1o4*cxz);
+
+      byy = (-c1o16*(((kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_SWB) - (kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_NWT)) + ((kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_SWT) - (kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NWB))) - c1o4*axy)
+          + ( c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) + ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*cyz);
+
+      czz = (-c1o16*(((kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_SWB) - (kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_NWT)) - ((kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWT) - (kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NWB))) - c1o4*axz)
+          + ( c1o16*(((kyyMzzFromfcNEQ_NET - kyyMzzFromfcNEQ_SWB) - (kyyMzzFromfcNEQ_SEB - kyyMzzFromfcNEQ_NWT)) - ((kyyMzzFromfcNEQ_NEB - kyyMzzFromfcNEQ_SWT) - (kyyMzzFromfcNEQ_SET - kyyMzzFromfcNEQ_NWB))) - c1o4*byz);
+
+      a0 -= c1o4*(axx + ayy + azz);
+      b0 -= c1o4*(bxx + byy + bzz);
+      c0 -= c1o4*(cxx + cyy + czz);
+
+
+
+
+      //////////
     //  a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 //kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
-			 //kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 //kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 //two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT + 
-			 //two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_SET + two*kxyFromfcNEQ_SWB + two*kxyFromfcNEQ_SWT + 
-			 //two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET + two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT + 
-			 //two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET + two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT + 
-			 //eight*vx1_NEB + eight*vx1_NET + eight*vx1_NWB + eight*vx1_NWT + eight*vx1_SEB + 
-			 //eight*vx1_SET + eight*vx1_SWB + eight*vx1_SWT + two*vx2_NEB + two*vx2_NET - 
-			 //two*vx2_NWB - two*vx2_NWT - two*vx2_SEB - two*vx2_SET + two*vx2_SWB + 
-			 //two*vx2_SWT - two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - 
-			 //two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour;
+             //kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
+             //kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             //kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             //two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET - two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_NWT + 
+             //two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_SET + two*kxyFromfcNEQ_SWB + two*kxyFromfcNEQ_SWT + 
+             //two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET + two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_NWT + 
+             //two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET + two*kxzFromfcNEQ_SWB - two*kxzFromfcNEQ_SWT + 
+             //eight*vx1_NEB + eight*vx1_NET + eight*vx1_NWB + eight*vx1_NWT + eight*vx1_SEB + 
+             //eight*vx1_SET + eight*vx1_SWB + eight*vx1_SWT + two*vx2_NEB + two*vx2_NET - 
+             //two*vx2_NWB - two*vx2_NWT - two*vx2_SEB - two*vx2_SET + two*vx2_SWB + 
+             //two*vx2_SWT - two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - 
+             //two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour;
     //  b0 = (two*kxxMyyFromfcNEQ_NEB + two*kxxMyyFromfcNEQ_NET + two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_NWT - 
-			 //two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_SET - two*kxxMyyFromfcNEQ_SWB - two*kxxMyyFromfcNEQ_SWT - 
-			 //kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 //kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 //two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET + two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_NWT - 
-			 //two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET + two*kxyFromfcNEQ_SWB + two*kxyFromfcNEQ_SWT + 
-			 //two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET + two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT + 
-			 //two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET + two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT + 
-			 //two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - 
-			 //two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT + 
-			 //eight*vx2_NEB + eight*vx2_NET + eight*vx2_NWB + eight*vx2_NWT + 
-			 //eight*vx2_SEB + eight*vx2_SET + eight*vx2_SWB + eight*vx2_SWT - 
-			 //two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + 
-			 //two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour;
+             //two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_SET - two*kxxMyyFromfcNEQ_SWB - two*kxxMyyFromfcNEQ_SWT - 
+             //kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             //kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             //two*kxyFromfcNEQ_NEB - two*kxyFromfcNEQ_NET + two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_NWT - 
+             //two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_SET + two*kxyFromfcNEQ_SWB + two*kxyFromfcNEQ_SWT + 
+             //two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET + two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT + 
+             //two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_SET + two*kyzFromfcNEQ_SWB - two*kyzFromfcNEQ_SWT + 
+             //two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - 
+             //two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT + 
+             //eight*vx2_NEB + eight*vx2_NET + eight*vx2_NWB + eight*vx2_NWT + 
+             //eight*vx2_SEB + eight*vx2_SET + eight*vx2_SWB + eight*vx2_SWT - 
+             //two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + 
+             //two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixtyfour;
     //  c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 //kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
-			 //two*kxxMzzFromfcNEQ_NEB + two*kxxMzzFromfcNEQ_NET - two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_NWT - 
-			 //two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_SET - two*kxxMzzFromfcNEQ_SWB + two*kxxMzzFromfcNEQ_SWT - 
-			 //two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET + two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_NWT - 
-			 //two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET + two*kxzFromfcNEQ_SWB + two*kxzFromfcNEQ_SWT - 
-			 //two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT + 
-			 //two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_SET + two*kyzFromfcNEQ_SWB + two*kyzFromfcNEQ_SWT - 
-			 //two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - 
-			 //two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - 
-			 //two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + 
-			 //two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT + 
-			 //eight*vx3_NEB + eight*vx3_NET + eight*vx3_NWB + eight*vx3_NWT + 
-			 //eight*vx3_SEB + eight*vx3_SET + eight*vx3_SWB + eight*vx3_SWT)/sixtyfour;
+             //kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
+             //two*kxxMzzFromfcNEQ_NEB + two*kxxMzzFromfcNEQ_NET - two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_NWT - 
+             //two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_SET - two*kxxMzzFromfcNEQ_SWB + two*kxxMzzFromfcNEQ_SWT - 
+             //two*kxzFromfcNEQ_NEB - two*kxzFromfcNEQ_NET + two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_NWT - 
+             //two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_SET + two*kxzFromfcNEQ_SWB + two*kxzFromfcNEQ_SWT - 
+             //two*kyzFromfcNEQ_NEB - two*kyzFromfcNEQ_NET - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_NWT + 
+             //two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_SET + two*kyzFromfcNEQ_SWB + two*kyzFromfcNEQ_SWT - 
+             //two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - 
+             //two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - 
+             //two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + 
+             //two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT + 
+             //eight*vx3_NEB + eight*vx3_NET + eight*vx3_NWB + eight*vx3_NWT + 
+             //eight*vx3_SEB + eight*vx3_SET + eight*vx3_SWB + eight*vx3_SWT)/sixtyfour;
     //  ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/four;
     //  bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/four;
     //  cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/four;
     //  axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 //kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
-			 //kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 //kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 //two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - 
-			 //two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - 
-			 //two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - 
-			 //two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen;
+             //kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
+             //kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             //kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             //two*vx2_NEB + two*vx2_NET - two*vx2_NWB - two*vx2_NWT - 
+             //two*vx2_SEB - two*vx2_SET + two*vx2_SWB + two*vx2_SWT - 
+             //two*vx3_NEB + two*vx3_NET + two*vx3_NWB - two*vx3_NWT - 
+             //two*vx3_SEB + two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen;
     //  bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
-			 //kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 //two*vx1_NEB - two*vx1_NET + two*vx1_NWB + two*vx1_NWT + 
-			 //two*vx1_SEB + two*vx1_SET - two*vx1_SWB - two*vx1_SWT)/eight;
+             //kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             //two*vx1_NEB - two*vx1_NET + two*vx1_NWB + two*vx1_NWT + 
+             //two*vx1_SEB + two*vx1_SET - two*vx1_SWB - two*vx1_SWT)/eight;
     //  cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
-			 //kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
-			 //two*vx1_NEB - two*vx1_NET - two*vx1_NWB + two*vx1_NWT + 
-			 //two*vx1_SEB - two*vx1_SET - two*vx1_SWB + two*vx1_SWT)/eight;
+             //kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
+             //two*vx1_NEB - two*vx1_NET - two*vx1_NWB + two*vx1_NWT + 
+             //two*vx1_SEB - two*vx1_SET - two*vx1_SWB + two*vx1_SWT)/eight;
     //  ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/four;
     //  by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/four;
     //  cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/four;
     //  ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
-			 //kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 //two*vx2_NEB - two*vx2_NET + two*vx2_NWB + two*vx2_NWT + 
-			 //two*vx2_SEB + two*vx2_SET - two*vx2_SWB - two*vx2_SWT)/eight;
+             //kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             //two*vx2_NEB - two*vx2_NET + two*vx2_NWB + two*vx2_NWT + 
+             //two*vx2_SEB + two*vx2_SET - two*vx2_SWB - two*vx2_SWT)/eight;
     //  byy= (-two*kxxMyyFromfcNEQ_NEB - two*kxxMyyFromfcNEQ_NET - two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_NWT + 
-			 //two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_SET + two*kxxMyyFromfcNEQ_SWB + two*kxxMyyFromfcNEQ_SWT + 
-			 //kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 //kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 //two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - 
-			 //two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT - 
-			 //two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + 
-			 //two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen;
+             //two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_SET + two*kxxMyyFromfcNEQ_SWB + two*kxxMyyFromfcNEQ_SWT + 
+             //kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             //kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             //two*vx1_NEB + two*vx1_NET - two*vx1_NWB - two*vx1_NWT - 
+             //two*vx1_SEB - two*vx1_SET + two*vx1_SWB + two*vx1_SWT - 
+             //two*vx3_NEB + two*vx3_NET - two*vx3_NWB + two*vx3_NWT + 
+             //two*vx3_SEB - two*vx3_SET + two*vx3_SWB - two*vx3_SWT)/sixteen;
     //  cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 //kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
-			 //two*vx2_NEB - two*vx2_NET + two*vx2_NWB - two*vx2_NWT - 
-			 //two*vx2_SEB + two*vx2_SET - two*vx2_SWB + two*vx2_SWT)/eight;
+             //kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
+             //two*vx2_NEB - two*vx2_NET + two*vx2_NWB - two*vx2_NWT - 
+             //two*vx2_SEB + two*vx2_SET - two*vx2_SWB + two*vx2_SWT)/eight;
     //  az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/four;
     //  bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four;
     //  cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/four;
     //  azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
-			 //kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
-			 //two*vx3_NEB - two*vx3_NET - two*vx3_NWB + two*vx3_NWT + 
-			 //two*vx3_SEB - two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight;
+             //kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
+             //two*vx3_NEB - two*vx3_NET - two*vx3_NWB + two*vx3_NWT + 
+             //two*vx3_SEB - two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight;
     //  bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 //kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
-			 //two*vx3_NEB - two*vx3_NET + two*vx3_NWB - two*vx3_NWT - 
-			 //two*vx3_SEB + two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight;
+             //kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
+             //two*vx3_NEB - two*vx3_NET + two*vx3_NWB - two*vx3_NWT - 
+             //two*vx3_SEB + two*vx3_SET - two*vx3_SWB + two*vx3_SWT)/eight;
     //  czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 //kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
-			 //two*kxxMzzFromfcNEQ_NEB - two*kxxMzzFromfcNEQ_NET + two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_NWT + 
-			 //two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_SET + two*kxxMzzFromfcNEQ_SWB - two*kxxMzzFromfcNEQ_SWT - 
-			 //two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - 
-			 //two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - 
-			 //two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + 
-			 //two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT)/sixteen;
+             //kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
+             //two*kxxMzzFromfcNEQ_NEB - two*kxxMzzFromfcNEQ_NET + two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_NWT + 
+             //two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_SET + two*kxxMzzFromfcNEQ_SWB - two*kxxMzzFromfcNEQ_SWT - 
+             //two*vx1_NEB + two*vx1_NET + two*vx1_NWB - two*vx1_NWT - 
+             //two*vx1_SEB + two*vx1_SET + two*vx1_SWB - two*vx1_SWT - 
+             //two*vx2_NEB + two*vx2_NET - two*vx2_NWB + two*vx2_NWT + 
+             //two*vx2_SEB - two*vx2_SET + two*vx2_SWB - two*vx2_SWT)/sixteen;
     //  axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/two;
     //  bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/two;
     //  cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/two;
@@ -13724,102 +13724,102 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
       //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
       //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage    = c0o1;
-	  real kyzAverage    = c0o1;
-	  real kxzAverage    = c0o1;
-	  real kxxMyyAverage = c0o1;
-	  real kxxMzzAverage = c0o1;
-
-
-	  //real kxyAverage	 =(kxyFromfcNEQ_SWB+
-			//				   kxyFromfcNEQ_SWT+
-			//				   kxyFromfcNEQ_SET+
-			//				   kxyFromfcNEQ_SEB+
-			//				   kxyFromfcNEQ_NWB+
-			//				   kxyFromfcNEQ_NWT+
-			//				   kxyFromfcNEQ_NET+
-			//				   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  //real kyzAverage	 =(kyzFromfcNEQ_SWB+
-			//				   kyzFromfcNEQ_SWT+
-			//				   kyzFromfcNEQ_SET+
-			//				   kyzFromfcNEQ_SEB+
-			//				   kyzFromfcNEQ_NWB+
-			//				   kyzFromfcNEQ_NWT+
-			//				   kyzFromfcNEQ_NET+
-			//				   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  //real kxzAverage	 =(kxzFromfcNEQ_SWB+
-			//				   kxzFromfcNEQ_SWT+
-			//				   kxzFromfcNEQ_SET+
-			//				   kxzFromfcNEQ_SEB+
-			//				   kxzFromfcNEQ_NWB+
-			//				   kxzFromfcNEQ_NWT+
-			//				   kxzFromfcNEQ_NET+
-			//				   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  //real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-			//				   kxxMyyFromfcNEQ_SWT+
-			//				   kxxMyyFromfcNEQ_SET+
-			//				   kxxMyyFromfcNEQ_SEB+
-			//				   kxxMyyFromfcNEQ_NWB+
-			//				   kxxMyyFromfcNEQ_NWT+
-			//				   kxxMyyFromfcNEQ_NET+
-			//				   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  //real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-			//				   kxxMzzFromfcNEQ_SWT+
-			//				   kxxMzzFromfcNEQ_SET+
-			//				   kxxMzzFromfcNEQ_SEB+
-			//				   kxxMzzFromfcNEQ_NWB+
-			//				   kxxMzzFromfcNEQ_NWT+
-			//				   kxxMzzFromfcNEQ_NET+
-			//				   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( ((drho_NEB + drho_SWT) + (drho_NWB + drho_SET)) + ((drho_SEB + drho_NWT) + (drho_SWB + drho_NET))) * c1o8;
-	  dx   = ( ((drho_NEB - drho_SWT) + (drho_SEB - drho_NWT)) + ((drho_SET - drho_NWB) + (drho_NET - drho_SWB))) * c1o4;
-	  dy   = ( ((drho_NEB - drho_SWT) + (drho_NWT - drho_SEB)) + ((drho_NWB - drho_SET) + (drho_NET - drho_SWB))) * c1o4;
-	  dz   = ( ((drho_SWT - drho_NEB) + (drho_NET - drho_SWB)) + ((drho_SET - drho_NWB) + (drho_NWT - drho_SEB))) * c1o4;
-	  dxy  = ( ((drho_NEB - drho_SET) + (drho_NET - drho_SEB)) + ((drho_SWT - drho_NWB) + (drho_SWB - drho_NWT))) * c1o2;
-	  dxz  = ( ((drho_SWB - drho_NEB) + (drho_NET - drho_SWT)) + ((drho_NWB - drho_SEB) + (drho_SET - drho_NWT))) * c1o2;
-	  dyz  = ( ((drho_NWT - drho_NEB) + (drho_NET - drho_NWB)) + ((drho_SEB - drho_SWT) + (drho_SWB - drho_SET))) * c1o2;
-	  //d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-	  //dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  //dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  //dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  //dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  //dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  //dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-	  //d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage    = c0o1;
+      real kyzAverage    = c0o1;
+      real kxzAverage    = c0o1;
+      real kxxMyyAverage = c0o1;
+      real kxxMzzAverage = c0o1;
+
+
+      //real kxyAverage     =(kxyFromfcNEQ_SWB+
+            //                   kxyFromfcNEQ_SWT+
+            //                   kxyFromfcNEQ_SET+
+            //                   kxyFromfcNEQ_SEB+
+            //                   kxyFromfcNEQ_NWB+
+            //                   kxyFromfcNEQ_NWT+
+            //                   kxyFromfcNEQ_NET+
+            //                   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      //real kyzAverage     =(kyzFromfcNEQ_SWB+
+            //                   kyzFromfcNEQ_SWT+
+            //                   kyzFromfcNEQ_SET+
+            //                   kyzFromfcNEQ_SEB+
+            //                   kyzFromfcNEQ_NWB+
+            //                   kyzFromfcNEQ_NWT+
+            //                   kyzFromfcNEQ_NET+
+            //                   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      //real kxzAverage     =(kxzFromfcNEQ_SWB+
+            //                   kxzFromfcNEQ_SWT+
+            //                   kxzFromfcNEQ_SET+
+            //                   kxzFromfcNEQ_SEB+
+            //                   kxzFromfcNEQ_NWB+
+            //                   kxzFromfcNEQ_NWT+
+            //                   kxzFromfcNEQ_NET+
+            //                   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      //real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+            //                   kxxMyyFromfcNEQ_SWT+
+            //                   kxxMyyFromfcNEQ_SET+
+            //                   kxxMyyFromfcNEQ_SEB+
+            //                   kxxMyyFromfcNEQ_NWB+
+            //                   kxxMyyFromfcNEQ_NWT+
+            //                   kxxMyyFromfcNEQ_NET+
+            //                   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      //real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+            //                   kxxMzzFromfcNEQ_SWT+
+            //                   kxxMzzFromfcNEQ_SET+
+            //                   kxxMzzFromfcNEQ_SEB+
+            //                   kxxMzzFromfcNEQ_NWB+
+            //                   kxxMzzFromfcNEQ_NWT+
+            //                   kxxMzzFromfcNEQ_NET+
+            //                   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      d0   = ( ((drho_NEB + drho_SWT) + (drho_NWB + drho_SET)) + ((drho_SEB + drho_NWT) + (drho_SWB + drho_NET))) * c1o8;
+      dx   = ( ((drho_NEB - drho_SWT) + (drho_SEB - drho_NWT)) + ((drho_SET - drho_NWB) + (drho_NET - drho_SWB))) * c1o4;
+      dy   = ( ((drho_NEB - drho_SWT) + (drho_NWT - drho_SEB)) + ((drho_NWB - drho_SET) + (drho_NET - drho_SWB))) * c1o4;
+      dz   = ( ((drho_SWT - drho_NEB) + (drho_NET - drho_SWB)) + ((drho_SET - drho_NWB) + (drho_NWT - drho_SEB))) * c1o4;
+      dxy  = ( ((drho_NEB - drho_SET) + (drho_NET - drho_SEB)) + ((drho_SWT - drho_NWB) + (drho_SWB - drho_NWT))) * c1o2;
+      dxz  = ( ((drho_SWB - drho_NEB) + (drho_NET - drho_SWT)) + ((drho_NWB - drho_SEB) + (drho_SET - drho_NWT))) * c1o2;
+      dyz  = ( ((drho_NWT - drho_NEB) + (drho_NET - drho_NWB)) + ((drho_SEB - drho_SWT) + (drho_SWB - drho_SET))) * c1o2;
+      //d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+      //dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      //dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      //dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      //dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      //dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      //dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot 
-	  //
       //
-	  // x------x
-	  // |      |
-	  // |	 ---+--->X
-	  // |		|  \
-	  // x------x   \
-	  //			off-vector
+      //
+      // x------x
+      // |      |
+      // |     ---+--->X
+      // |        |  \
+      // x------x   \
+      //            off-vector
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
@@ -13833,441 +13833,441 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = c2o1 - o;
-	  //real residu, residutmp;
-	  //residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position C 0., 0., 0.
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //x = 0.;
-	  //y = 0.;
-	  //z = 0.;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
-	  //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
-	  press = d0;
-	  vvx   = a0;
-	  vvy   = b0;
-	  vvz   = c0;
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  real oP = o;// :(
-	  mxxPyyPzz = mfaaa    -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); 
-	  //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
-	  mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
-
-	  mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
-
-	  
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //3.
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy );
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz );
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0o1;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz );
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0o1;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy );
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0o1;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy );
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0o1;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz );
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz = c0o1;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz );
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0o1;
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  kzero= posC[k];
-	  kw   = neighborCX[kzero];
-	  ks   = neighborCY[kzero];
-	  kb   = neighborCZ[kzero];
-	  ksw  = neighborCY[kw];
-	  kbw  = neighborCZ[kw];
-	  kbs  = neighborCZ[ks];
-	  kbsw = neighborCZ[ksw];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feC[kzero]    = mfcbb;                                                                 
-	  fwC[kw]       = mfabb;                                                               
-	  fnC[kzero]    = mfbcb;
-	  fsC[ks]       = mfbab;
-	  ftC[kzero]    = mfbbc;
-	  fbC[kb]       = mfbba;
-	  fneC[kzero]   = mfccb;
-	  fswC[ksw]     = mfaab;
-	  fseC[ks]      = mfcab;
-	  fnwC[kw]      = mfacb;
-	  fteC[kzero]   = mfcbc;
-	  fbwC[kbw]     = mfaba;
-	  fbeC[kb]      = mfcba;
-	  ftwC[kw]      = mfabc;
-	  ftnC[kzero]   = mfbcc;
-	  fbsC[kbs]     = mfbaa;
-	  fbnC[kb]      = mfbca;
-	  ftsC[ks]      = mfbac;
-	  fzeroC[kzero] = mfbbb;
-	  ftneC[kzero]  = mfccc;
-	  ftseC[ks]     = mfcac;
-	  fbneC[kb]     = mfcca;
-	  fbseC[kbs]    = mfcaa;
-	  ftnwC[kw]     = mfacc;
-	  ftswC[ksw]    = mfaac;
-	  fbnwC[kbw]    = mfaca;
-	  fbswC[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = c2o1 - o;
+      //real residu, residutmp;
+      //residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position C 0., 0., 0.
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //x = 0.;
+      //y = 0.;
+      //z = 0.;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
+      //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
+      press = d0;
+      vvx   = a0;
+      vvy   = b0;
+      vvz   = c0;
+
+      //mfaaa = drho;
+      //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      real oP = o;// :(
+      mxxPyyPzz = mfaaa    -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); 
+      //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
+      mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
+
+      mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
+
+      
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //3.
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy );
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0o1;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz );
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0o1;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz );
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0o1;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy );
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0o1;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy );
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0o1;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz );
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz = c0o1;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz );
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0o1;
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 0
+      kzero= posC[k];
+      kw   = neighborCX[kzero];
+      ks   = neighborCY[kzero];
+      kb   = neighborCZ[kzero];
+      ksw  = neighborCY[kw];
+      kbw  = neighborCZ[kw];
+      kbs  = neighborCZ[ks];
+      kbsw = neighborCZ[ksw];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feC[kzero]    = mfcbb;                                                                 
+      fwC[kw]       = mfabb;                                                               
+      fnC[kzero]    = mfbcb;
+      fsC[ks]       = mfbab;
+      ftC[kzero]    = mfbbc;
+      fbC[kb]       = mfbba;
+      fneC[kzero]   = mfccb;
+      fswC[ksw]     = mfaab;
+      fseC[ks]      = mfcab;
+      fnwC[kw]      = mfacb;
+      fteC[kzero]   = mfcbc;
+      fbwC[kbw]     = mfaba;
+      fbeC[kb]      = mfcba;
+      ftwC[kw]      = mfabc;
+      ftnC[kzero]   = mfbcc;
+      fbsC[kbs]     = mfbaa;
+      fbnC[kb]      = mfbca;
+      ftsC[ks]      = mfbac;
+      fzeroC[kzero] = mfbbb;
+      ftneC[kzero]  = mfccc;
+      ftseC[ks]     = mfcac;
+      fbneC[kb]     = mfcca;
+      fbseC[kbs]    = mfcaa;
+      ftnwC[kw]     = mfacc;
+      ftswC[ksw]    = mfaac;
+      fbnwC[kbw]    = mfaca;
+      fbswC[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -14327,27 +14327,27 @@ __global__ void scaleFC_Fix_comp_27(  real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleFC_NSPress_27(   real* DC, 
-												 real* DF, 
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posC, 
-												 unsigned int* posFSWB, 
-												 unsigned int kFC, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offFC)
+                                                 real* DF, 
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posC, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kFC, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offFC)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -14547,13 +14547,13 @@ __global__ void scaleFC_NSPress_27(   real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-	  press_SWB = (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
-					drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB;
+      press_SWB = (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
+                    drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB));
@@ -14604,10 +14604,10 @@ __global__ void scaleFC_NSPress_27(   real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (c1o1+drho_SWT)) * c1o2+drho_SWT;
@@ -14661,10 +14661,10 @@ __global__ void scaleFC_NSPress_27(   real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (c1o1+drho_SET)) * c1o2+drho_SET;
@@ -14718,10 +14718,10 @@ __global__ void scaleFC_NSPress_27(   real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (c1o1+drho_SEB)) * c1o2+drho_SEB;
@@ -14785,10 +14785,10 @@ __global__ void scaleFC_NSPress_27(   real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (c1o1+drho_NWB)) * c1o2+drho_NWB;
@@ -14842,10 +14842,10 @@ __global__ void scaleFC_NSPress_27(   real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (c1o1+drho_NWT)) * c1o2+drho_NWT;
@@ -14899,10 +14899,10 @@ __global__ void scaleFC_NSPress_27(   real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (c1o1+drho_NET)) * c1o2+drho_NET;
@@ -14956,10 +14956,10 @@ __global__ void scaleFC_NSPress_27(   real* DC,
 
       //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (c1o1+drho_NEB)) * c1o2+drho_NEB;
@@ -14975,103 +14975,103 @@ __global__ void scaleFC_NSPress_27(   real* DC,
       //3
       //////////////////////////////////////////////////////////////////////////
       a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
-			 c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
-			 c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
-			 c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
-			 c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
-			 c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
+             c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
+             c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
+             c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
+             c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
+             c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
-			 c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
-			 c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
-			 c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
-			 c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
+             c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
+             c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
+             c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
-			 c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
-			 c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
-			 c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
-			 c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
+             c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
+             c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
+             c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
+             c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
       ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
-			 kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
+             kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
       cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
       ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
-			 kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
+             kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
       byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
-			 c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
+             kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
       az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
       bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1;
       cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
       azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
-			 c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
-			 c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
+             c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
+             c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
       axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
       bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
       cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
@@ -15105,394 +15105,394 @@ __global__ void scaleFC_NSPress_27(   real* DC,
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  real O3 = c2o1 - o;
-	  real residu, residutmp;
-	  residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position C 0., 0., 0.
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //x = 0.;
-	  //y = 0.;
-	  //z = 0.;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  press = (press_NET + press_NWT + press_SET + press_SWT + press_NEB + press_NWB + press_SEB + press_SWB) * c1o8;
-	  
-	  if(xoff!=c0o1 || yoff!=c0o1 || zoff!=c0o1){
-		  real dx, dy, dz;
-		  dx=c2o1*nu*(axx+ayy+azz);
-		  dy=c2o1*nu*(bxx+byy+bzz);
-		  dz=c2o1*nu*(cxx+cyy+czz);
-		  press = press + xoff * dx + yoff * dy + zoff * dz;
-	  }
-	  //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
-	  vvx = a0;
-	  vvy = b0;
-	  vvz = c0;
-
-	  //mfaaa = drho;
-	  mfaaa = press + (ax+by+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  mxxMyy    = -c2o3*(ax - by)*eps_new/o;
-	  mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
-
-	  mfabb     = -c1o3 * (bz + cy)*eps_new/o;
-	  mfbab     = -c1o3 * (az + cx)*eps_new/o;
-	  mfbba     = -c1o3 * (ay + bx)*eps_new/o;
-
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-	  //3.
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy );
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz );
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz );
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy );
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy );
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz );
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz );
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  kzero= posC[k];
-	  kw   = neighborCX[kzero];
-	  ks   = neighborCY[kzero];
-	  kb   = neighborCZ[kzero];
-	  ksw  = neighborCY[kw];
-	  kbw  = neighborCZ[kw];
-	  kbs  = neighborCZ[ks];
-	  kbsw = neighborCZ[ksw];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feC[kzero]    = mfcbb;                                                                 
-	  fwC[kw]       = mfabb;                                                               
-	  fnC[kzero]    = mfbcb;
-	  fsC[ks]       = mfbab;
-	  ftC[kzero]    = mfbbc;
-	  fbC[kb]       = mfbba;
-	  fneC[kzero]   = mfccb;
-	  fswC[ksw]     = mfaab;
-	  fseC[ks]      = mfcab;
-	  fnwC[kw]      = mfacb;
-	  fteC[kzero]   = mfcbc;
-	  fbwC[kbw]     = mfaba;
-	  fbeC[kb]      = mfcba;
-	  ftwC[kw]      = mfabc;
-	  ftnC[kzero]   = mfbcc;
-	  fbsC[kbs]     = mfbaa;
-	  fbnC[kb]      = mfbca;
-	  ftsC[ks]      = mfbac;
-	  fzeroC[kzero] = mfbbb;
-	  ftneC[kzero]  = mfccc;
-	  ftseC[ks]     = mfcac;
-	  fbneC[kb]     = mfcca;
-	  fbseC[kbs]    = mfcaa;
-	  ftnwC[kw]     = mfacc;
-	  ftswC[ksw]    = mfaac;
-	  fbnwC[kbw]    = mfaca;
-	  fbswC[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      real O3 = c2o1 - o;
+      real residu, residutmp;
+      residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position C 0., 0., 0.
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //x = 0.;
+      //y = 0.;
+      //z = 0.;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      press = (press_NET + press_NWT + press_SET + press_SWT + press_NEB + press_NWB + press_SEB + press_SWB) * c1o8;
+      
+      if(xoff!=c0o1 || yoff!=c0o1 || zoff!=c0o1){
+          real dx, dy, dz;
+          dx=c2o1*nu*(axx+ayy+azz);
+          dy=c2o1*nu*(bxx+byy+bzz);
+          dz=c2o1*nu*(cxx+cyy+czz);
+          press = press + xoff * dx + yoff * dy + zoff * dz;
+      }
+      //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
+      vvx = a0;
+      vvy = b0;
+      vvz = c0;
+
+      //mfaaa = drho;
+      mfaaa = press + (ax+by+cz)/c3o1;  //  1/3 = 2/3*(1/op-1/2)
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      mxxMyy    = -c2o3*(ax - by)*eps_new/o;
+      mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
+
+      mfabb     = -c1o3 * (bz + cy)*eps_new/o;
+      mfbab     = -c1o3 * (az + cx)*eps_new/o;
+      mfbba     = -c1o3 * (ay + bx)*eps_new/o;
+
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaca = c1o3 * (-c2o1 *  mxxMyy +      mxxMzz + mxxPyyPzz);
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
+
+      //3.
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy );
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz );
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz );
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy );
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy );
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz );
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz );
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 0
+      kzero= posC[k];
+      kw   = neighborCX[kzero];
+      ks   = neighborCY[kzero];
+      kb   = neighborCZ[kzero];
+      ksw  = neighborCY[kw];
+      kbw  = neighborCZ[kw];
+      kbs  = neighborCZ[ks];
+      kbsw = neighborCZ[ksw];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feC[kzero]    = mfcbb;                                                                 
+      fwC[kw]       = mfabb;                                                               
+      fnC[kzero]    = mfbcb;
+      fsC[ks]       = mfbab;
+      ftC[kzero]    = mfbbc;
+      fbC[kb]       = mfbba;
+      fneC[kzero]   = mfccb;
+      fswC[ksw]     = mfaab;
+      fseC[ks]      = mfcab;
+      fnwC[kw]      = mfacb;
+      fteC[kzero]   = mfcbc;
+      fbwC[kbw]     = mfaba;
+      fbeC[kb]      = mfcba;
+      ftwC[kw]      = mfabc;
+      ftnC[kzero]   = mfbcc;
+      fbsC[kbs]     = mfbaa;
+      fbnC[kb]      = mfbca;
+      ftsC[ks]      = mfbac;
+      fzeroC[kzero] = mfbbb;
+      ftneC[kzero]  = mfccc;
+      ftseC[ks]     = mfcac;
+      fbneC[kb]     = mfcca;
+      fbseC[kbs]    = mfcaa;
+      ftnwC[kw]     = mfacc;
+      ftswC[ksw]    = mfaac;
+      fbnwC[kbw]    = mfaca;
+      fbswC[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -15754,13 +15754,13 @@ __global__ void scaleFC_Fix_27(   real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-	  //press_SWB = (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
-			//		drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (one+drho_SWB)) * c1o2+drho_SWB;
+      //press_SWB = (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
+            //        drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (one+drho_SWB)) * c1o2+drho_SWB;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB));
@@ -15811,10 +15811,10 @@ __global__ void scaleFC_Fix_27(   real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (one+drho_SWT)) * c1o2+drho_SWT;
@@ -15868,10 +15868,10 @@ __global__ void scaleFC_Fix_27(   real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (one+drho_SET)) * c1o2+drho_SET;
@@ -15925,10 +15925,10 @@ __global__ void scaleFC_Fix_27(   real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (one+drho_SEB)) * c1o2+drho_SEB;
@@ -15992,10 +15992,10 @@ __global__ void scaleFC_Fix_27(   real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (one+drho_NWB)) * c1o2+drho_NWB;
@@ -16049,10 +16049,10 @@ __global__ void scaleFC_Fix_27(   real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (one+drho_NWT)) * c1o2+drho_NWT;
@@ -16106,10 +16106,10 @@ __global__ void scaleFC_Fix_27(   real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (one+drho_NET)) * c1o2+drho_NET;
@@ -16163,10 +16163,10 @@ __global__ void scaleFC_Fix_27(   real* DC,
 
       //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       //press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+two*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+three*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
       //   drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (one+drho_NEB)) * c1o2+drho_NEB;
@@ -16178,147 +16178,147 @@ __global__ void scaleFC_Fix_27(   real* DC,
       kxxMzzFromfcNEQ_NEB = -c3o2*omegaS*(f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE-(vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB));
 
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //kxyFromfcNEQ_SWB    = zero;
-	  //kyzFromfcNEQ_SWB    = zero;
-	  //kxzFromfcNEQ_SWB    = zero;
-	  //kxxMyyFromfcNEQ_SWB = zero;
-	  //kxxMzzFromfcNEQ_SWB = zero;
-	  //kxyFromfcNEQ_SWT    = zero;
-	  //kyzFromfcNEQ_SWT    = zero;
-	  //kxzFromfcNEQ_SWT    = zero;
-	  //kxxMyyFromfcNEQ_SWT = zero;
-	  //kxxMzzFromfcNEQ_SWT = zero;
-	  //kxyFromfcNEQ_SET    = zero;
-	  //kyzFromfcNEQ_SET    = zero;
-	  //kxzFromfcNEQ_SET    = zero;
-	  //kxxMyyFromfcNEQ_SET = zero;
-	  //kxxMzzFromfcNEQ_SET = zero;
-	  //kxyFromfcNEQ_SEB    = zero;
-	  //kyzFromfcNEQ_SEB    = zero;
-	  //kxzFromfcNEQ_SEB    = zero;
-	  //kxxMyyFromfcNEQ_SEB = zero;
-	  //kxxMzzFromfcNEQ_SEB = zero;
-	  //kxyFromfcNEQ_NWB    = zero;
-	  //kyzFromfcNEQ_NWB    = zero;
-	  //kxzFromfcNEQ_NWB    = zero;
-	  //kxxMyyFromfcNEQ_NWB = zero;
-	  //kxxMzzFromfcNEQ_NWB = zero;
-	  //kxyFromfcNEQ_NWT    = zero;
-	  //kyzFromfcNEQ_NWT    = zero;
-	  //kxzFromfcNEQ_NWT    = zero;
-	  //kxxMyyFromfcNEQ_NWT = zero;
-	  //kxxMzzFromfcNEQ_NWT = zero;
-	  //kxyFromfcNEQ_NET    = zero;
-	  //kyzFromfcNEQ_NET    = zero;
-	  //kxzFromfcNEQ_NET    = zero;
-	  //kxxMyyFromfcNEQ_NET = zero;
-	  //kxxMzzFromfcNEQ_NET = zero;
-	  //kxyFromfcNEQ_NEB    = zero;
-	  //kyzFromfcNEQ_NEB    = zero;
-	  //kxzFromfcNEQ_NEB    = zero;
-	  //kxxMyyFromfcNEQ_NEB = zero;
-	  //kxxMzzFromfcNEQ_NEB = zero;
+      //kxyFromfcNEQ_SWB    = zero;
+      //kyzFromfcNEQ_SWB    = zero;
+      //kxzFromfcNEQ_SWB    = zero;
+      //kxxMyyFromfcNEQ_SWB = zero;
+      //kxxMzzFromfcNEQ_SWB = zero;
+      //kxyFromfcNEQ_SWT    = zero;
+      //kyzFromfcNEQ_SWT    = zero;
+      //kxzFromfcNEQ_SWT    = zero;
+      //kxxMyyFromfcNEQ_SWT = zero;
+      //kxxMzzFromfcNEQ_SWT = zero;
+      //kxyFromfcNEQ_SET    = zero;
+      //kyzFromfcNEQ_SET    = zero;
+      //kxzFromfcNEQ_SET    = zero;
+      //kxxMyyFromfcNEQ_SET = zero;
+      //kxxMzzFromfcNEQ_SET = zero;
+      //kxyFromfcNEQ_SEB    = zero;
+      //kyzFromfcNEQ_SEB    = zero;
+      //kxzFromfcNEQ_SEB    = zero;
+      //kxxMyyFromfcNEQ_SEB = zero;
+      //kxxMzzFromfcNEQ_SEB = zero;
+      //kxyFromfcNEQ_NWB    = zero;
+      //kyzFromfcNEQ_NWB    = zero;
+      //kxzFromfcNEQ_NWB    = zero;
+      //kxxMyyFromfcNEQ_NWB = zero;
+      //kxxMzzFromfcNEQ_NWB = zero;
+      //kxyFromfcNEQ_NWT    = zero;
+      //kyzFromfcNEQ_NWT    = zero;
+      //kxzFromfcNEQ_NWT    = zero;
+      //kxxMyyFromfcNEQ_NWT = zero;
+      //kxxMzzFromfcNEQ_NWT = zero;
+      //kxyFromfcNEQ_NET    = zero;
+      //kyzFromfcNEQ_NET    = zero;
+      //kxzFromfcNEQ_NET    = zero;
+      //kxxMyyFromfcNEQ_NET = zero;
+      //kxxMzzFromfcNEQ_NET = zero;
+      //kxyFromfcNEQ_NEB    = zero;
+      //kyzFromfcNEQ_NEB    = zero;
+      //kxzFromfcNEQ_NEB    = zero;
+      //kxxMyyFromfcNEQ_NEB = zero;
+      //kxxMzzFromfcNEQ_NEB = zero;
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
       a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
-			 c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
-			 c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
-			 c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
-			 c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
-			 c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
+             c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
+             c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
+             c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
+             c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
+             c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
-			 c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
-			 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
-			 c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
-			 c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
-			 c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+             c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
+             kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
+             c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
+             c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
+             c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
       c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
-			 c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
-			 c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
-			 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
-			 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-			 c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
-			 c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
-			 c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
+             kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
+             c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
+             c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
+             c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
+             c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+             c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
+             c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
+             c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
       ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-			 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+             kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
-			 kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
+             kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
       cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
-			 c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
+             c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
       ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
       by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
       cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
       ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
-			 kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
+             kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
       byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
-			 c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
-			 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-			 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-			 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
-			 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+             c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
+             kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+             kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+             c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
+             c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
       cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
-			 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
-			 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
+             kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
+             c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
+             c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
       az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
       bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/c4o1;
       cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
       azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
-			 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-			 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+             c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-			 kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
-			 c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-			 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+             kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
+             c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+             c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
       czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-			 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
-			 c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
-			 c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
-			 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-			 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-			 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-			 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
+             kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
+             c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
+             c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
+             c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+             c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+             c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+             c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
       axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
       bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
       cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
@@ -16332,88 +16332,88 @@ __global__ void scaleFC_Fix_27(   real* DC,
       //bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
       //cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
       //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage	 =(kxyFromfcNEQ_SWB+
-							   kxyFromfcNEQ_SWT+
-							   kxyFromfcNEQ_SET+
-							   kxyFromfcNEQ_SEB+
-							   kxyFromfcNEQ_NWB+
-							   kxyFromfcNEQ_NWT+
-							   kxyFromfcNEQ_NET+
-							   kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
-	  real kyzAverage	 =(kyzFromfcNEQ_SWB+
-							   kyzFromfcNEQ_SWT+
-							   kyzFromfcNEQ_SET+
-							   kyzFromfcNEQ_SEB+
-							   kyzFromfcNEQ_NWB+
-							   kyzFromfcNEQ_NWT+
-							   kyzFromfcNEQ_NET+
-							   kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
-	  real kxzAverage	 =(kxzFromfcNEQ_SWB+
-							   kxzFromfcNEQ_SWT+
-							   kxzFromfcNEQ_SET+
-							   kxzFromfcNEQ_SEB+
-							   kxzFromfcNEQ_NWB+
-							   kxzFromfcNEQ_NWT+
-							   kxzFromfcNEQ_NET+
-							   kxzFromfcNEQ_NEB)*c1o8-(az+cx);
-	  real kxxMyyAverage	 =(kxxMyyFromfcNEQ_SWB+
-							   kxxMyyFromfcNEQ_SWT+
-							   kxxMyyFromfcNEQ_SET+
-							   kxxMyyFromfcNEQ_SEB+
-							   kxxMyyFromfcNEQ_NWB+
-							   kxxMyyFromfcNEQ_NWT+
-							   kxxMyyFromfcNEQ_NET+
-							   kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
-	  real kxxMzzAverage	 =(kxxMzzFromfcNEQ_SWB+
-							   kxxMzzFromfcNEQ_SWT+
-							   kxxMzzFromfcNEQ_SET+
-							   kxxMzzFromfcNEQ_SEB+
-							   kxxMzzFromfcNEQ_NWB+
-							   kxxMzzFromfcNEQ_NWT+
-							   kxxMzzFromfcNEQ_NET+
-							   kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
-
-
-
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////Press
-	  //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
-	  //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
-	  //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
-	  //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
-	  //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
-	  //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
-	  //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
-	  //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-	  dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-	  dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-	  dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-	  dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-	  //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-	  //d0   = zero;
-	  //dx   = zero;
-	  //dy   = zero;
-	  //dz   = zero;
-	  //dxy  = zero;
-	  //dxz  = zero;
-	  //dyz  = zero;
-	  //dxyz = zero;
+      real kxyAverage     =(kxyFromfcNEQ_SWB+
+                               kxyFromfcNEQ_SWT+
+                               kxyFromfcNEQ_SET+
+                               kxyFromfcNEQ_SEB+
+                               kxyFromfcNEQ_NWB+
+                               kxyFromfcNEQ_NWT+
+                               kxyFromfcNEQ_NET+
+                               kxyFromfcNEQ_NEB)*c1o8-(ay+bx);
+      real kyzAverage     =(kyzFromfcNEQ_SWB+
+                               kyzFromfcNEQ_SWT+
+                               kyzFromfcNEQ_SET+
+                               kyzFromfcNEQ_SEB+
+                               kyzFromfcNEQ_NWB+
+                               kyzFromfcNEQ_NWT+
+                               kyzFromfcNEQ_NET+
+                               kyzFromfcNEQ_NEB)*c1o8-(bz+cy);
+      real kxzAverage     =(kxzFromfcNEQ_SWB+
+                               kxzFromfcNEQ_SWT+
+                               kxzFromfcNEQ_SET+
+                               kxzFromfcNEQ_SEB+
+                               kxzFromfcNEQ_NWB+
+                               kxzFromfcNEQ_NWT+
+                               kxzFromfcNEQ_NET+
+                               kxzFromfcNEQ_NEB)*c1o8-(az+cx);
+      real kxxMyyAverage     =(kxxMyyFromfcNEQ_SWB+
+                               kxxMyyFromfcNEQ_SWT+
+                               kxxMyyFromfcNEQ_SET+
+                               kxxMyyFromfcNEQ_SEB+
+                               kxxMyyFromfcNEQ_NWB+
+                               kxxMyyFromfcNEQ_NWT+
+                               kxxMyyFromfcNEQ_NET+
+                               kxxMyyFromfcNEQ_NEB)*c1o8-(ax-by);
+      real kxxMzzAverage     =(kxxMzzFromfcNEQ_SWB+
+                               kxxMzzFromfcNEQ_SWT+
+                               kxxMzzFromfcNEQ_SET+
+                               kxxMzzFromfcNEQ_SEB+
+                               kxxMzzFromfcNEQ_NWB+
+                               kxxMzzFromfcNEQ_NWT+
+                               kxxMzzFromfcNEQ_NET+
+                               kxxMzzFromfcNEQ_NEB)*c1o8-(ax-cz);
+
+
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////Press
+      //d0   = ( press_NEB + press_NET + press_NWB + press_NWT + press_SEB + press_SET + press_SWB + press_SWT) * c1o8;
+      //dx   = ( press_NEB + press_NET - press_NWB - press_NWT + press_SEB + press_SET - press_SWB - press_SWT) * c1o4;
+      //dy   = ( press_NEB + press_NET + press_NWB + press_NWT - press_SEB - press_SET - press_SWB - press_SWT) * c1o4;
+      //dz   = (-press_NEB + press_NET - press_NWB + press_NWT - press_SEB + press_SET - press_SWB + press_SWT) * c1o4;
+      //dxy  = ( press_NEB + press_NET - press_NWB - press_NWT - press_SEB - press_SET + press_SWB + press_SWT) * c1o2;
+      //dxz  = (-press_NEB + press_NET + press_NWB - press_NWT - press_SEB + press_SET + press_SWB - press_SWT) * c1o2;
+      //dyz  = (-press_NEB + press_NET - press_NWB + press_NWT + press_SEB - press_SET + press_SWB - press_SWT) * c1o2;
+      //dxyz =  -press_NEB + press_NET + press_NWB - press_NWT + press_SEB - press_SET - press_SWB + press_SWT;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+      dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+      dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+      dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+      dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+      dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+      //dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+      //d0   = zero;
+      //dx   = zero;
+      //dy   = zero;
+      //dz   = zero;
+      //dxy  = zero;
+      //dxz  = zero;
+      //dyz  = zero;
+      //dxyz = zero;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot 
-	  //
       //
-	  // x------x
-	  // |      |
-	  // |	 ---+--->X
-	  // |		|  \
-	  // x------x   \
-	  //			off-vector
+      //
+      // x------x
+      // |      |
+      // |     ---+--->X
+      // |        |  \
+      // x------x   \
+      //            off-vector
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
@@ -16427,432 +16427,432 @@ __global__ void scaleFC_Fix_27(   real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
+      //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
+      //b0=zero;
+      //bx=zero;
+      //by=zero;
+      //bz=zero;
+      //bxx=zero;
+      //byy=zero;
+      //bzz=zero;
+      //bxy=zero;
+      //bxz=zero;
+      //byz=zero;
+      //c0=zero;
+      //cx=zero;
+      //cy=zero;
+      //cz=zero;
+      //cxx=zero;
+      //cyy=zero;
+      //czz=zero;
+      //cxy=zero;
+      //cxz=zero;
+      //cyz=zero;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+      real mfcbb = c0o1;
+      real mfabb = c0o1;
+      real mfbcb = c0o1;
+      real mfbab = c0o1;
+      real mfbbc = c0o1;
+      real mfbba = c0o1;
+      real mfccb = c0o1;
+      real mfaab = c0o1;
+      real mfcab = c0o1;
+      real mfacb = c0o1;
+      real mfcbc = c0o1;
+      real mfaba = c0o1;
+      real mfcba = c0o1;
+      real mfabc = c0o1;
+      real mfbcc = c0o1;
+      real mfbaa = c0o1;
+      real mfbca = c0o1;
+      real mfbac = c0o1;
+      real mfbbb = c0o1;
+      real mfccc = c0o1;
+      real mfaac = c0o1;
+      real mfcac = c0o1;
+      real mfacc = c0o1;
+      real mfcca = c0o1;
+      real mfaaa = c0o1;
+      real mfcaa = c0o1;
+      real mfaca = c0o1;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      real O3 = c2o1 - o;
+      real residu, residutmp;
+      residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //  FIX  ///////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //AAAAAAAAAAAAHHHHHHHHHHHH!!!!! Mieser Test!!!
-	  //b0= bx= by= bz= bxx= byy= bzz= bxy= bxz= byz= c0= cx= cy= cz= cxx= cyy= czz= cxy= cxz= cyz= axyz= bxyz= cxyz=zero;
-	  //b0=zero;
-	  //bx=zero;
-	  //by=zero;
-	  //bz=zero;
-	  //bxx=zero;
-	  //byy=zero;
-	  //bzz=zero;
-	  //bxy=zero;
-	  //bxz=zero;
-	  //byz=zero;
-	  //c0=zero;
-	  //cx=zero;
-	  //cy=zero;
-	  //cz=zero;
-	  //cxx=zero;
-	  //cyy=zero;
-	  //czz=zero;
-	  //cxy=zero;
-	  //cxz=zero;
-	  //cyz=zero;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-	  real mfcbb = c0o1;
-	  real mfabb = c0o1;
-	  real mfbcb = c0o1;
-	  real mfbab = c0o1;
-	  real mfbbc = c0o1;
-	  real mfbba = c0o1;
-	  real mfccb = c0o1;
-	  real mfaab = c0o1;
-	  real mfcab = c0o1;
-	  real mfacb = c0o1;
-	  real mfcbc = c0o1;
-	  real mfaba = c0o1;
-	  real mfcba = c0o1;
-	  real mfabc = c0o1;
-	  real mfbcc = c0o1;
-	  real mfbaa = c0o1;
-	  real mfbca = c0o1;
-	  real mfbac = c0o1;
-	  real mfbbb = c0o1;
-	  real mfccc = c0o1;
-	  real mfaac = c0o1;
-	  real mfcac = c0o1;
-	  real mfacc = c0o1;
-	  real mfcca = c0o1;
-	  real mfaaa = c0o1;
-	  real mfcaa = c0o1;
-	  real mfaca = c0o1;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, vvx, vvy, vvz, vx2, vy2, vz2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  real O3 = c2o1 - o;
-	  real residu, residutmp;
-	  residutmp = c0o1;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position C 0., 0., 0.
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //x = 0.;
-	  //y = 0.;
-	  //z = 0.;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
-			//  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
-	  //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
-			//  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
-	  press = d0;
-	  vvx = a0;
-	  vvy = b0;
-	  vvz = c0;
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1 - mfaaa;
-
-	  //two
-	  // linear combinations
-	  mxxPyyPzz = mfaaa;
-	  //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
-	  mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o;
-	  mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o;
-
-	  mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o;
-	  mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o;
-	  mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o;
-
-	  
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //3.
-	  // linear combinations
-	  residu = residutmp * (ayz + bxz + cxy );
-	  mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz );
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
-	  mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz );
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
-	  mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy );
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
-	  mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy );
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
-	  mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz );
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
-	  mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz );
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
-	  mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  kzero= posC[k];
-	  kw   = neighborCX[kzero];
-	  ks   = neighborCY[kzero];
-	  kb   = neighborCZ[kzero];
-	  ksw  = neighborCY[kw];
-	  kbw  = neighborCZ[kw];
-	  kbs  = neighborCZ[ks];
-	  kbsw = neighborCZ[ksw];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  feC[kzero]    = mfcbb;                                                                 
-	  fwC[kw]       = mfabb;                                                               
-	  fnC[kzero]    = mfbcb;
-	  fsC[ks]       = mfbab;
-	  ftC[kzero]    = mfbbc;
-	  fbC[kb]       = mfbba;
-	  fneC[kzero]   = mfccb;
-	  fswC[ksw]     = mfaab;
-	  fseC[ks]      = mfcab;
-	  fnwC[kw]      = mfacb;
-	  fteC[kzero]   = mfcbc;
-	  fbwC[kbw]     = mfaba;
-	  fbeC[kb]      = mfcba;
-	  ftwC[kw]      = mfabc;
-	  ftnC[kzero]   = mfbcc;
-	  fbsC[kbs]     = mfbaa;
-	  fbnC[kb]      = mfbca;
-	  ftsC[ks]      = mfbac;
-	  fzeroC[kzero] = mfbbb;
-	  ftneC[kzero]  = mfccc;
-	  ftseC[ks]     = mfcac;
-	  fbneC[kb]     = mfcca;
-	  fbseC[kbs]    = mfcaa;
-	  ftnwC[kw]     = mfacc;
-	  ftswC[ksw]    = mfaac;
-	  fbnwC[kbw]    = mfaca;
-	  fbswC[kbsw]   = mfaaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position C 0., 0., 0.
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //x = 0.;
+      //y = 0.;
+      //z = 0.;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //press = press_NET * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NWT * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SET * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_SWT * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  press_NEB * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_NWB * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SEB * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
+            //  press_SWB * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
+      //drho  = drho_NET * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NWT * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SET * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_SWT * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drho_NEB * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_NWB * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SEB * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
+            //  drho_SWB * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
+      press = d0;
+      vvx = a0;
+      vvy = b0;
+      vvz = c0;
+
+      //mfaaa = drho;
+      //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1 - mfaaa;
+
+      //two
+      // linear combinations
+      mxxPyyPzz = mfaaa;
+      //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
+      mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o;
+      mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o;
+
+      mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o;
+      mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o;
+      mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o;
+
+      
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //3.
+      // linear combinations
+      residu = residutmp * (ayz + bxz + cxy );
+      mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx + c2o1*bzz + cyz );
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
+      mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axy + c2o1*bxx - c2o1*bzz - cyz );
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
+      mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz + byz + c2o1*cxx + c2o1*cyy );
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
+      mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (axz - byz + c2o1*cxx - c2o1*cyy );
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
+      mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy + c2o1*azz + bxy + cxz );
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
+      mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      residu = residutmp * (c2o1*ayy - c2o1*azz + bxy - cxz );
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
+      mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 0
+      kzero= posC[k];
+      kw   = neighborCX[kzero];
+      ks   = neighborCY[kzero];
+      kb   = neighborCZ[kzero];
+      ksw  = neighborCY[kw];
+      kbw  = neighborCZ[kw];
+      kbs  = neighborCZ[ks];
+      kbsw = neighborCZ[ksw];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      feC[kzero]    = mfcbb;                                                                 
+      fwC[kw]       = mfabb;                                                               
+      fnC[kzero]    = mfbcb;
+      fsC[ks]       = mfbab;
+      ftC[kzero]    = mfbbc;
+      fbC[kb]       = mfbba;
+      fneC[kzero]   = mfccb;
+      fswC[ksw]     = mfaab;
+      fseC[ks]      = mfcab;
+      fnwC[kw]      = mfacb;
+      fteC[kzero]   = mfcbc;
+      fbwC[kbw]     = mfaba;
+      fbeC[kb]      = mfcba;
+      ftwC[kw]      = mfabc;
+      ftnC[kzero]   = mfbcc;
+      fbsC[kbs]     = mfbaa;
+      fbnC[kb]      = mfbca;
+      ftsC[ks]      = mfbac;
+      fzeroC[kzero] = mfbbb;
+      ftneC[kzero]  = mfccc;
+      ftseC[ks]     = mfcac;
+      fbneC[kb]     = mfcca;
+      fbseC[kbs]    = mfcaa;
+      ftnwC[kw]     = mfacc;
+      ftswC[ksw]    = mfaac;
+      fbnwC[kbw]    = mfaca;
+      fbswC[kbsw]   = mfaaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -17116,13 +17116,13 @@ __global__ void scaleFCpress27(real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-	  press_SWB = (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
-					drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB;
+      press_SWB = (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
+                    drho_SWB-(vx1_SWB*vx1_SWB+vx2_SWB*vx2_SWB+vx3_SWB*vx3_SWB)* (c1o1+drho_SWB)) * c1o2+drho_SWB;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
       kyzFromfcNEQ_SWB    = -c3o1*omegaS*(f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW-(vx2_SWB*vx3_SWB));
@@ -17173,10 +17173,10 @@ __global__ void scaleFCpress27(real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SWT-(vx1_SWT*vx1_SWT+vx2_SWT*vx2_SWT+vx3_SWT*vx3_SWT)* (c1o1+drho_SWT)) * c1o2+drho_SWT;
@@ -17230,10 +17230,10 @@ __global__ void scaleFCpress27(real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SET-(vx1_SET*vx1_SET+vx2_SET*vx2_SET+vx3_SET*vx3_SET)* (c1o1+drho_SET)) * c1o2+drho_SET;
@@ -17287,10 +17287,10 @@ __global__ void scaleFCpress27(real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_SEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_SEB-(vx1_SEB*vx1_SEB+vx2_SEB*vx2_SEB+vx3_SEB*vx3_SEB)* (c1o1+drho_SEB)) * c1o2+drho_SEB;
@@ -17354,10 +17354,10 @@ __global__ void scaleFCpress27(real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NWB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NWB-(vx1_NWB*vx1_NWB+vx2_NWB*vx2_NWB+vx3_NWB*vx3_NWB)* (c1o1+drho_NWB)) * c1o2+drho_NWB;
@@ -17411,10 +17411,10 @@ __global__ void scaleFCpress27(real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NWT= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NWT-(vx1_NWT*vx1_NWT+vx2_NWT*vx2_NWT+vx3_NWT*vx3_NWT)* (c1o1+drho_NWT)) * c1o2+drho_NWT;
@@ -17468,10 +17468,10 @@ __global__ void scaleFCpress27(real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NET= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NET-(vx1_NET*vx1_NET+vx2_NET*vx2_NET+vx3_NET*vx3_NET)* (c1o1+drho_NET)) * c1o2+drho_NET;
@@ -17525,10 +17525,10 @@ __global__ void scaleFCpress27(real* DC,
 
       //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
       press_NEB= (f_E+f_W+f_N+f_S+f_T+f_B+c2o1*(f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS)+c3o1*(f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW)-
          drho_NEB-(vx1_NEB*vx1_NEB+vx2_NEB*vx2_NEB+vx3_NEB*vx3_NEB)* (c1o1+drho_NEB)) * c1o2+drho_NEB;
@@ -18041,10 +18041,10 @@ __global__ void scaleFCLast27( real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
@@ -18096,10 +18096,10 @@ __global__ void scaleFCLast27( real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT));
@@ -18151,10 +18151,10 @@ __global__ void scaleFCLast27( real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET));
@@ -18206,10 +18206,10 @@ __global__ void scaleFCLast27( real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB));
@@ -18271,10 +18271,10 @@ __global__ void scaleFCLast27( real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB));
@@ -18326,10 +18326,10 @@ __global__ void scaleFCLast27( real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT));
@@ -18381,10 +18381,10 @@ __global__ void scaleFCLast27( real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET));
@@ -18436,10 +18436,10 @@ __global__ void scaleFCLast27( real* DC,
 
       //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB));
@@ -20889,7 +20889,7 @@ __global__ void scaleFCThS27(     real* DC,
                                              unsigned int kFC, 
                                              real nu,
                                              real diffusivity_coarse,
-											 ICellNeigh offFC)
+                                             ICellNeigh offFC)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, //*fzeroF, 
       *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -21853,34 +21853,34 @@ __global__ void scaleFCThS27(     real* DC,
       real Diff_Conc_ZZ = ((Diff_Conc_Z_FSET + Diff_Conc_Z_FSWT + Diff_Conc_Z_FNET + Diff_Conc_Z_FNWT) - (Diff_Conc_Z_FSEB + Diff_Conc_Z_FSWB + Diff_Conc_Z_FNEB + Diff_Conc_Z_FNWB)) * c1o4;
 
 
-	  real dx = c1o4 * (Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT + Conc_F_SEB + Conc_F_SET - Conc_F_SWB - Conc_F_SWT);
-	  real dy = c1o4 * (Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT - Conc_F_SEB - Conc_F_SET - Conc_F_SWB - Conc_F_SWT);
-	  real dz = c1o4 * (-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT - Conc_F_SEB + Conc_F_SET - Conc_F_SWB + Conc_F_SWT);
-	  real dxx = Diff_Conc_XX * c1o2;
-	  real dyy = Diff_Conc_YY * c1o2;
-	  real dzz = Diff_Conc_ZZ * c1o2;
-	  real dxy = c1o2 * (Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT - Conc_F_SEB - Conc_F_SET + Conc_F_SWB + Conc_F_SWT);
-	  real dyz = c1o2 * (-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT + Conc_F_SEB - Conc_F_SET + Conc_F_SWB - Conc_F_SWT);
-	  real dxz = c1o2 * (-Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT - Conc_F_SEB + Conc_F_SET + Conc_F_SWB - Conc_F_SWT);
-	  //real dxyz = -Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT + Conc_F_SEB - Conc_F_SET - Conc_F_SWB + Conc_F_SWT;
-	  real d0 = c1o8 * (-c2o1 * dxx - c2o1 * dyy - c2o1 * dzz + Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT + Conc_F_SEB + Conc_F_SET + Conc_F_SWB + Conc_F_SWT);
+      real dx = c1o4 * (Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT + Conc_F_SEB + Conc_F_SET - Conc_F_SWB - Conc_F_SWT);
+      real dy = c1o4 * (Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT - Conc_F_SEB - Conc_F_SET - Conc_F_SWB - Conc_F_SWT);
+      real dz = c1o4 * (-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT - Conc_F_SEB + Conc_F_SET - Conc_F_SWB + Conc_F_SWT);
+      real dxx = Diff_Conc_XX * c1o2;
+      real dyy = Diff_Conc_YY * c1o2;
+      real dzz = Diff_Conc_ZZ * c1o2;
+      real dxy = c1o2 * (Conc_F_NEB + Conc_F_NET - Conc_F_NWB - Conc_F_NWT - Conc_F_SEB - Conc_F_SET + Conc_F_SWB + Conc_F_SWT);
+      real dyz = c1o2 * (-Conc_F_NEB + Conc_F_NET - Conc_F_NWB + Conc_F_NWT + Conc_F_SEB - Conc_F_SET + Conc_F_SWB - Conc_F_SWT);
+      real dxz = c1o2 * (-Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT - Conc_F_SEB + Conc_F_SET + Conc_F_SWB - Conc_F_SWT);
+      //real dxyz = -Conc_F_NEB + Conc_F_NET + Conc_F_NWB - Conc_F_NWT + Conc_F_SEB - Conc_F_SET - Conc_F_SWB + Conc_F_SWT;
+      real d0 = c1o8 * (-c2o1 * dxx - c2o1 * dyy - c2o1 * dzz + Conc_F_NEB + Conc_F_NET + Conc_F_NWB + Conc_F_NWT + Conc_F_SEB + Conc_F_SET + Conc_F_SWB + Conc_F_SWT);
 
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot
       //
-	  // X------X
-	  // |      | 	
-	  // |	 ---+-->X     ----> off-vector
-	  // |		|  
-	  // X------X   
-	  //			
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      // X------X
+      // |      |     
+      // |     ---+-->X     ----> off-vector
+      // |        |  
+      // X------X   
+      //            
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff_sq * dxx + yoff_sq * dyy + zoff_sq * dzz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
       dx = dx + c2o1 * xoff * dxx + yoff * dxy + zoff * dxz;
       dy = dy + c2o1 * yoff * dyy + xoff * dxy + zoff * dyz;
       dz = dz + c2o1 * zoff * dzz + xoff * dxz + yoff * dyz;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 
@@ -22215,10 +22215,10 @@ __global__ void scaleFCEff27(real* DC,
 
       //vx1_SWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWB*vx2_SWB));
@@ -22270,10 +22270,10 @@ __global__ void scaleFCEff27(real* DC,
 
       //vx1_SWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SWT*vx2_SWT));
@@ -22325,10 +22325,10 @@ __global__ void scaleFCEff27(real* DC,
 
       //vx1_SET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SET*vx2_SET));
@@ -22380,10 +22380,10 @@ __global__ void scaleFCEff27(real* DC,
 
       //vx1_SEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_SEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_SEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_SEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_SEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_SEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_SEB*vx2_SEB));
@@ -22445,10 +22445,10 @@ __global__ void scaleFCEff27(real* DC,
 
       //vx1_NWB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NWB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWB*vx2_NWB));
@@ -22500,10 +22500,10 @@ __global__ void scaleFCEff27(real* DC,
 
       //vx1_NWT  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NWT  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NWT  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NWT  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NWT  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NWT    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NWT*vx2_NWT));
@@ -22555,10 +22555,10 @@ __global__ void scaleFCEff27(real* DC,
 
       //vx1_NET  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NET  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NET  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NET  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NET  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NET    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NET*vx2_NET));
@@ -22610,10 +22610,10 @@ __global__ void scaleFCEff27(real* DC,
 
       //vx1_NEB  = f_E+f_NE+f_SE+f_TE+f_BE-f_W-f_NW-f_SW-f_TW-f_BW+f_TNE-f_TSW+f_TSE-f_TNW+f_BNE-f_BSW+f_BSE-f_BNW;
       //vx2_NEB  = f_N+f_NE+f_NW+f_TN+f_BN-f_S-f_SE-f_SW-f_TS-f_BS+f_TNE-f_TSW-f_TSE+f_TNW+f_BNE-f_BSW-f_BSE+f_BNW;
-	  //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
+      //vx3_NEB  = f_T+f_TE+f_TW+f_TN+f_TS-f_B-f_BE-f_BW-f_BN-f_BS+f_TNE+f_TSW+f_TSE+f_TNW-f_BNE-f_BSW-f_BSE-f_BNW;
       vx1_NEB  = ((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      vx2_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      vx3_NEB  = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
       drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
 
       kxyFromfcNEQ_NEB    = -c3o1*omegaS*(f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE-(vx1_NEB*vx2_NEB));
@@ -22978,19 +22978,19 @@ __global__ void scaleFC27(real* DC,
                                      unsigned int* neighborFX,
                                      unsigned int* neighborFY,
                                      unsigned int* neighborFZ,
-										       unsigned long long numberOfLBnodesCoarse, 
-										       unsigned long long numberOfLBnodesFine, 
-										       bool isEvenTimestep,
+                                               unsigned long long numberOfLBnodesCoarse, 
+                                               unsigned long long numberOfLBnodesFine, 
+                                               bool isEvenTimestep,
                                      unsigned int* posC, 
                                      unsigned int* posFSWB, 
                                      unsigned int kFC, 
-										       real omCoarse, 
-										       real omFine, 
-										       real nu, 
-										       unsigned int nxC, 
-										       unsigned int nyC, 
-										       unsigned int nxF, 
-										       unsigned int nyF)
+                                               real omCoarse, 
+                                               real omFine, 
+                                               real nu, 
+                                               unsigned int nxC, 
+                                               unsigned int nyC, 
+                                               unsigned int nxF, 
+                                               unsigned int nyF)
 {
    real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, 
          *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF;
@@ -24076,100 +24076,100 @@ __global__ void scaleFC27(real* DC,
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //for all
       //Version 1
-	  a0 = c8o1*vx1_SWB + c8o1*vx1_NWT + c8o1*vx1_SET + c8o1*vx1_NEB + c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + c2o1*kxyFromfcNEQ_SWB - c2o1*kxyFromfcNEQ_NWT + c2o1*kxyFromfcNEQ_SET - c2o1*kxyFromfcNEQ_NEB + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_NWT - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB;
-	  ax = (-c4o1*vx1_SWB - c4o1*vx1_NWT + c4o1*vx1_SET + c4o1*vx1_NEB - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/epsylon;
-	  ay = (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/epsylon;
-	  az = (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/epsylon;
-	  axx= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  ayy= (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_NWT - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  azz= (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_NWT + c2o1*kxzFromfcNEQ_SET - c2o1*kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  axy= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  axz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon);
-	  ayz= (-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  b0 = c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c8o1*vx2_SWB + c8o1*vx2_NWT + c8o1*vx2_SET + c8o1*vx2_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_NWT - c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_NWT - c2o1*kxyFromfcNEQ_SET - c2o1*kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_NWT - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_NEB;
-	  bx = (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/epsylon;
-	  by = (-c4o1*vx2_SWB + c4o1*vx2_NWT - c4o1*vx2_SET + c4o1*vx2_NEB - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon;
-	  bz = (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon;
-	  bxx= (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_SWB - c2o1*kxyFromfcNEQ_NWT + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  byy= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB + c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_NWT + c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  bzz= (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_NWT + c2o1*kyzFromfcNEQ_SET - c2o1*kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  bxy= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  bxz= (-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  byz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon);
-	  c0 = c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB + c8o1*vx3_SWB + c8o1*vx3_NWT + c8o1*vx3_SET + c8o1*vx3_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_NWT + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_NWT - c2o1*kxzFromfcNEQ_SET - c2o1*kxzFromfcNEQ_NEB + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_NWT + c2o1*kyzFromfcNEQ_SET - c2o1*kyzFromfcNEQ_NEB;
-	  cx = (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/epsylon;
-	  cy = (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon;
-	  cz = (-c4o1*vx3_SWB + c4o1*vx3_NWT + c4o1*vx3_SET - c4o1*vx3_NEB + kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon;
-	  cxx= (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_NWT + c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  cyy= (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_NWT - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  czz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_NWT - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon);
-	  cxy= (kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  cxz= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
-	  cyz= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon);
+      a0 = c8o1*vx1_SWB + c8o1*vx1_NWT + c8o1*vx1_SET + c8o1*vx1_NEB + c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + c2o1*kxyFromfcNEQ_SWB - c2o1*kxyFromfcNEQ_NWT + c2o1*kxyFromfcNEQ_SET - c2o1*kxyFromfcNEQ_NEB + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_NWT - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB;
+      ax = (-c4o1*vx1_SWB - c4o1*vx1_NWT + c4o1*vx1_SET + c4o1*vx1_NEB - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/epsylon;
+      ay = (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/epsylon;
+      az = (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/epsylon;
+      axx= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      ayy= (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_NWT - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      azz= (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_NWT + c2o1*kxzFromfcNEQ_SET - c2o1*kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      axy= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon);
+      axz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon);
+      ayz= (-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT - kyzFromfcNEQ_SET - kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      b0 = c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c8o1*vx2_SWB + c8o1*vx2_NWT + c8o1*vx2_SET + c8o1*vx2_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB - c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_NWT - c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_NWT - c2o1*kxyFromfcNEQ_SET - c2o1*kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_NWT - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_NEB;
+      bx = (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/epsylon;
+      by = (-c4o1*vx2_SWB + c4o1*vx2_NWT - c4o1*vx2_SET + c4o1*vx2_NEB - kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon;
+      bz = (-c2o1*vx2_SWB + c2o1*vx2_NWT + c2o1*vx2_SET - c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon;
+      bxx= (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_SWB - c2o1*kxyFromfcNEQ_NWT + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB)/(epsylon*epsylon);
+      byy= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB + c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_NWT + c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon);
+      bzz= (-c2o1*vx1_SWB + c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB - kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB - kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_NWT + c2o1*kyzFromfcNEQ_SET - c2o1*kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      bxy= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      bxz= (-kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB + kxzFromfcNEQ_SWB - kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET - kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      byz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon);
+      c0 = c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB + c8o1*vx3_SWB + c8o1*vx3_NWT + c8o1*vx3_SET + c8o1*vx3_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_NWT + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_NWT - c2o1*kxzFromfcNEQ_SET - c2o1*kxzFromfcNEQ_NEB + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_NWT + c2o1*kyzFromfcNEQ_SET - c2o1*kyzFromfcNEQ_NEB;
+      cx = (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET + c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/epsylon;
+      cy = (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB - c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET + c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon;
+      cz = (-c4o1*vx3_SWB + c4o1*vx3_NWT + c4o1*vx3_SET - c4o1*vx3_NEB + kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/epsylon;
+      cxx= (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_NWT + c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_NEB)/(epsylon*epsylon);
+      cyy= (-c2o1*vx1_SWB + c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB - c2o1*vx2_SWB - c2o1*vx2_NWT + c2o1*vx2_SET + c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB - kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET - kxyFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_NWT - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      czz= (c2o1*vx1_SWB - c2o1*vx1_NWT + c2o1*vx1_SET - c2o1*vx1_NEB + c2o1*vx2_SWB + c2o1*vx2_NWT - c2o1*vx2_SET - c2o1*vx2_NEB - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_NWT - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_NEB + kxyFromfcNEQ_SWB + kxyFromfcNEQ_NWT + kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB)/(epsylon*epsylon);
+      cxy= (kxyFromfcNEQ_SWB - kxyFromfcNEQ_NWT - kxyFromfcNEQ_SET + kxyFromfcNEQ_NEB - kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT - kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB - kyzFromfcNEQ_SWB - kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      cxz= (c2o1*vx2_SWB - c2o1*vx2_NWT - c2o1*vx2_SET + c2o1*vx2_NEB + c2o1*vx3_SWB - c2o1*vx3_NWT + c2o1*vx3_SET - c2o1*vx3_NEB - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_NWT + kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_NEB + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_NWT - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kyzFromfcNEQ_SWB + kyzFromfcNEQ_NWT + kyzFromfcNEQ_SET + kyzFromfcNEQ_NEB)/(epsylon*epsylon);
+      cyz= (c2o1*vx1_SWB - c2o1*vx1_NWT - c2o1*vx1_SET + c2o1*vx1_NEB + c2o1*vx3_SWB + c2o1*vx3_NWT - c2o1*vx3_SET - c2o1*vx3_NEB + kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_NWT + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_NEB + kxzFromfcNEQ_SWB + kxzFromfcNEQ_NWT + kxzFromfcNEQ_SET + kxzFromfcNEQ_NEB)/(epsylon*epsylon);
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //Version2
-	  //a0 = eight*vx1_SWT + eight*vx1_NWB + eight*vx1_SEB + eight*vx1_NET + two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + two*kxyFromfcNEQ_SWT - two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_NET - two*kxzFromfcNEQ_SWT + two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET;
-	  //ax = (-four*vx1_SWT - four*vx1_NWB + four*vx1_SEB + four*vx1_NET - one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
-	  //ay = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon;
-	  //az = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon;
-	  //axx = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //ayy = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - two*kxyFromfcNEQ_SWT + two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //azz = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two*kxzFromfcNEQ_SWT - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_SEB + two*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //axy = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //axz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon);
-	  //ayz = (kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //b0 = two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET + eight*vx2_SWT + eight*vx2_NWB + eight*vx2_SEB + eight*vx2_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - two*kxxMyyFromfcNEQ_SWT + two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + two*kxyFromfcNEQ_SWT + two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - two*kyzFromfcNEQ_SWT + two*kyzFromfcNEQ_NWB + two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_NET;
-	  //bx = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon;
-	  //by = (-four*vx2_SWT + four*vx2_NWB - four*vx2_SEB + four*vx2_NET - one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/epsylon;
-	  //bz = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
-	  //bxx = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - two*kxyFromfcNEQ_SWT - two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //byy = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET + two*kxxMyyFromfcNEQ_SWT - two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //bzz = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + two*kyzFromfcNEQ_SWT - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //bxy = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //bxz = (kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //byz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon);
-	  //c0 = -two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + eight*vx3_SWT + eight*vx3_NWB + eight*vx3_SEB + eight*vx3_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + two*kxxMzzFromfcNEQ_SWT - two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET + two*kxzFromfcNEQ_SWT + two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_NET + two*kyzFromfcNEQ_SWT - two*kyzFromfcNEQ_NWB + two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_NET;
-	  //cx = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon;
-	  //cy = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
-	  //cz = (four*vx3_SWT - four*vx3_NWB - four*vx3_SEB + four*vx3_NET + kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/epsylon;
-	  //cxx = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - two*kxzFromfcNEQ_SWT - two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_SEB + two*kxzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //cyy = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - two*kyzFromfcNEQ_SWT + two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //czz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - two*kxxMzzFromfcNEQ_SWT + two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon);
-	  //cxy = (-one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //cxz = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  //cyz = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      //a0 = eight*vx1_SWT + eight*vx1_NWB + eight*vx1_SEB + eight*vx1_NET + two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + two*kxyFromfcNEQ_SWT - two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_NET - two*kxzFromfcNEQ_SWT + two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET;
+      //ax = (-four*vx1_SWT - four*vx1_NWB + four*vx1_SEB + four*vx1_NET - one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
+      //ay = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon;
+      //az = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon;
+      //axx = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //ayy = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - two*kxyFromfcNEQ_SWT + two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //azz = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + two*kxzFromfcNEQ_SWT - two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_SEB + two*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //axy = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      //axz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon);
+      //ayz = (kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //b0 = two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET + eight*vx2_SWT + eight*vx2_NWB + eight*vx2_SEB + eight*vx2_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - two*kxxMyyFromfcNEQ_SWT + two*kxxMyyFromfcNEQ_NWB - two*kxxMyyFromfcNEQ_SEB + two*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + two*kxyFromfcNEQ_SWT + two*kxyFromfcNEQ_NWB - two*kxyFromfcNEQ_SEB - two*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - two*kyzFromfcNEQ_SWT + two*kyzFromfcNEQ_NWB + two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_NET;
+      //bx = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon;
+      //by = (-four*vx2_SWT + four*vx2_NWB - four*vx2_SEB + four*vx2_NET - one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/epsylon;
+      //bz = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET + two*vx3_SWT - two*vx3_NWB + two*vx3_SEB - two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
+      //bxx = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - two*kxyFromfcNEQ_SWT - two*kxyFromfcNEQ_NWB + two*kxyFromfcNEQ_SEB + two*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      //byy = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET + two*kxxMyyFromfcNEQ_SWT - two*kxxMyyFromfcNEQ_NWB + two*kxxMyyFromfcNEQ_SEB - two*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      //bzz = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx3_SWT + two*vx3_NWB - two*vx3_SEB - two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + two*kyzFromfcNEQ_SWT - two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //bxy = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //bxz = (kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //byz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon);
+      //c0 = -two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + eight*vx3_SWT + eight*vx3_NWB + eight*vx3_SEB + eight*vx3_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + two*kxxMzzFromfcNEQ_SWT - two*kxxMzzFromfcNEQ_NWB - two*kxxMzzFromfcNEQ_SEB + two*kxxMzzFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET + two*kxzFromfcNEQ_SWT + two*kxzFromfcNEQ_NWB - two*kxzFromfcNEQ_SEB - two*kxzFromfcNEQ_NET + two*kyzFromfcNEQ_SWT - two*kyzFromfcNEQ_NWB + two*kyzFromfcNEQ_SEB - two*kyzFromfcNEQ_NET;
+      //cx = (-two*vx1_SWT + two*vx1_NWB + two*vx1_SEB - two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET - one*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon;
+      //cy = (-two*vx2_SWT + two*vx2_NWB + two*vx2_SEB - two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET - one*kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
+      //cz = (four*vx3_SWT - four*vx3_NWB - four*vx3_SEB + four*vx3_NET + kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/epsylon;
+      //cxx = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET - one*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - one*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - two*kxzFromfcNEQ_SWT - two*kxzFromfcNEQ_NWB + two*kxzFromfcNEQ_SEB + two*kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      //cyy = (two*vx1_SWT - two*vx1_NWB + two*vx1_SEB - two*vx1_NET + two*vx2_SWT + two*vx2_NWB - two*vx2_SEB - two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - two*kyzFromfcNEQ_SWT + two*kyzFromfcNEQ_NWB - two*kyzFromfcNEQ_SEB + two*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //czz = (-two*vx1_SWT + two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx2_SWT - two*vx2_NWB + two*vx2_SEB + two*vx2_NET + kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB - one*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - two*kxxMzzFromfcNEQ_SWT + two*kxxMzzFromfcNEQ_NWB + two*kxxMzzFromfcNEQ_SEB - two*kxxMzzFromfcNEQ_NET - one*kxyFromfcNEQ_SWT - one*kxyFromfcNEQ_NWB - one*kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET)/(epsylon*epsylon);
+      //cxy = (-one*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - one*kxyFromfcNEQ_NET - one*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //cxz = (two*vx2_SWT - two*vx2_NWB - two*vx2_SEB + two*vx2_NET - two*vx3_SWT + two*vx3_NWB - two*vx3_SEB + two*vx3_NET - one*kxxMyyFromfcNEQ_SWT - one*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - one*kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - one*kyzFromfcNEQ_SWT - one*kyzFromfcNEQ_NWB - one*kyzFromfcNEQ_SEB - one*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      //cyz = (two*vx1_SWT - two*vx1_NWB - two*vx1_SEB + two*vx1_NET - two*vx3_SWT - two*vx3_NWB + two*vx3_SEB + two*vx3_NET + kxxMzzFromfcNEQ_SWT - one*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - one*kxxMzzFromfcNEQ_NET - one*kxzFromfcNEQ_SWT - one*kxzFromfcNEQ_NWB - one*kxzFromfcNEQ_SEB - one*kxzFromfcNEQ_NET)/(epsylon*epsylon);
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //merged
-	  a0 += c8o1*vx1_SWT + c8o1*vx1_NWB + c8o1*vx1_SEB + c8o1*vx1_NET + c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + c2o1*kxyFromfcNEQ_SWT - c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxzFromfcNEQ_SWT + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET;
-	  ax += (-c4o1*vx1_SWT - c4o1*vx1_NWB + c4o1*vx1_SEB + c4o1*vx1_NET - c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
-	  ay += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon;
-	  az += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon;
-	  axx += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  ayy += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c2o1*kxyFromfcNEQ_SWT + c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  azz += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_SWT - c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_SEB + c2o1*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  axy += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon);
-	  axz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon);
-	  ayz += (kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  b0 += c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c8o1*vx2_SWT + c8o1*vx2_NWB + c8o1*vx2_SEB + c8o1*vx2_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c2o1*kxxMyyFromfcNEQ_SWT + c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + c2o1*kxyFromfcNEQ_SWT + c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_SWT + c2o1*kyzFromfcNEQ_NWB + c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_NET;
-	  bx += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon;
-	  by += (-c4o1*vx2_SWT + c4o1*vx2_NWB - c4o1*vx2_SEB + c4o1*vx2_NET - c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/epsylon;
-	  bz += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
-	  bxx += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c2o1*kxyFromfcNEQ_SWT - c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(epsylon*epsylon);
-	  byy += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET + c2o1*kxxMyyFromfcNEQ_SWT - c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon);
-	  bzz += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_SWT - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  bxy += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  bxz += (kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  byz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon);
-	  c0 += -c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + c8o1*vx3_SWT + c8o1*vx3_NWB + c8o1*vx3_SEB + c8o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_SWT - c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET + c2o1*kxzFromfcNEQ_SWT + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_SWT - c2o1*kyzFromfcNEQ_NWB + c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_NET;
-	  cx += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon;
-	  cy += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
-	  cz += (c4o1*vx3_SWT - c4o1*vx3_NWB - c4o1*vx3_SEB + c4o1*vx3_NET + kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/epsylon;
-	  cxx += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c2o1*kxzFromfcNEQ_SWT - c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_SEB + c2o1*kxzFromfcNEQ_NET)/(epsylon*epsylon);
-	  cyy += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c2o1*kyzFromfcNEQ_SWT + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  czz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_SWT + c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon);
-	  cxy += (-c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  cxz += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
-	  cyz += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      a0 += c8o1*vx1_SWT + c8o1*vx1_NWB + c8o1*vx1_SEB + c8o1*vx1_NET + c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + c2o1*kxyFromfcNEQ_SWT - c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxzFromfcNEQ_SWT + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET;
+      ax += (-c4o1*vx1_SWT - c4o1*vx1_NWB + c4o1*vx1_SEB + c4o1*vx1_NET - c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
+      ay += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon;
+      az += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon;
+      axx += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      ayy += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c2o1*kxyFromfcNEQ_SWT + c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      azz += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_SWT - c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_SEB + c2o1*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      axy += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      axz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon);
+      ayz += (kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      b0 += c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET + c8o1*vx2_SWT + c8o1*vx2_NWB + c8o1*vx2_SEB + c8o1*vx2_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c2o1*kxxMyyFromfcNEQ_SWT + c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + c2o1*kxyFromfcNEQ_SWT + c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_SWT + c2o1*kyzFromfcNEQ_NWB + c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_NET;
+      bx += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET)/epsylon;
+      by += (-c4o1*vx2_SWT + c4o1*vx2_NWB - c4o1*vx2_SEB + c4o1*vx2_NET - c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/epsylon;
+      bz += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET + c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
+      bxx += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c2o1*kxyFromfcNEQ_SWT - c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      byy += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET + c2o1*kxxMyyFromfcNEQ_SWT - c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      bzz += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB - c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_SWT - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      bxy += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      bxz += (kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      byz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon);
+      c0 += -c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + c8o1*vx3_SWT + c8o1*vx3_NWB + c8o1*vx3_SEB + c8o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_SWT - c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET + c2o1*kxzFromfcNEQ_SWT + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_SWT - c2o1*kyzFromfcNEQ_NWB + c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_NET;
+      cx += (-c2o1*vx1_SWT + c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET)/epsylon;
+      cy += (-c2o1*vx2_SWT + c2o1*vx2_NWB + c2o1*vx2_SEB - c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET + kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET - c1o1*kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/epsylon;
+      cz += (c4o1*vx3_SWT - c4o1*vx3_NWB - c4o1*vx3_SEB + c4o1*vx3_NET + kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET + kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB + kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET + kyzFromfcNEQ_SWT + kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/epsylon;
+      cxx += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET - c1o1*kxxMyyFromfcNEQ_SWT + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB - c1o1*kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c2o1*kxzFromfcNEQ_SWT - c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_SEB + c2o1*kxzFromfcNEQ_NET)/(epsylon*epsylon);
+      cyy += (c2o1*vx1_SWT - c2o1*vx1_NWB + c2o1*vx1_SEB - c2o1*vx1_NET + c2o1*vx2_SWT + c2o1*vx2_NWB - c2o1*vx2_SEB - c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB + kxyFromfcNEQ_NET - c2o1*kyzFromfcNEQ_SWT + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      czz += (-c2o1*vx1_SWT + c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx2_SWT - c2o1*vx2_NWB + c2o1*vx2_SEB + c2o1*vx2_NET + kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB - c1o1*kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_SWT + c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_NET - c1o1*kxyFromfcNEQ_SWT - c1o1*kxyFromfcNEQ_NWB - c1o1*kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET)/(epsylon*epsylon);
+      cxy += (-c1o1*kxyFromfcNEQ_SWT + kxyFromfcNEQ_NWB + kxyFromfcNEQ_SEB - c1o1*kxyFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT + kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB + kxzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB + kyzFromfcNEQ_SEB + kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      cxz += (c2o1*vx2_SWT - c2o1*vx2_NWB - c2o1*vx2_SEB + c2o1*vx2_NET - c2o1*vx3_SWT + c2o1*vx3_NWB - c2o1*vx3_SEB + c2o1*vx3_NET - c1o1*kxxMyyFromfcNEQ_SWT - c1o1*kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_NET + kxxMzzFromfcNEQ_SWT + kxxMzzFromfcNEQ_NWB - c1o1*kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c1o1*kyzFromfcNEQ_SWT - c1o1*kyzFromfcNEQ_NWB - c1o1*kyzFromfcNEQ_SEB - c1o1*kyzFromfcNEQ_NET)/(epsylon*epsylon);
+      cyz += (c2o1*vx1_SWT - c2o1*vx1_NWB - c2o1*vx1_SEB + c2o1*vx1_NET - c2o1*vx3_SWT - c2o1*vx3_NWB + c2o1*vx3_SEB + c2o1*vx3_NET + kxxMzzFromfcNEQ_SWT - c1o1*kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_SEB - c1o1*kxxMzzFromfcNEQ_NET - c1o1*kxzFromfcNEQ_SWT - c1o1*kxzFromfcNEQ_NWB - c1o1*kxzFromfcNEQ_SEB - c1o1*kxzFromfcNEQ_NET)/(epsylon*epsylon);
       a0  /= c2o1;
       ax  /= c2o1;
       ay  /= c2o1;
@@ -24239,14 +24239,14 @@ __global__ void scaleFC27(real* DC,
       z = c0o1;
 
       //drho = (drho_SWB + drho_NWB + drho_NEB + drho_SEB + drho_SWT + drho_NWT + drho_NET + drho_SET)/8.;
-	  drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + 
-		  drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + 
-		  drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + 
-		  drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + 
-		  drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + 
-		  drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + 
-		  drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + 
-		  drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1;
+      drho = (drho_NEB*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y - c2o1*z - c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + 
+          drho_SET*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y + c2o1*z + c4o1*x*z - c4o1*y*z - c8o1*x*y*z) + 
+          drho_NWT*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y + c2o1*z - c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + 
+          drho_SWB*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y - c2o1*z + c4o1*x*z + c4o1*y*z - c8o1*x*y*z) + 
+          drho_SWT*(c1o1 - c2o1*x - c2o1*y + c4o1*x*y + c2o1*z - c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + 
+          drho_NWB*(c1o1 - c2o1*x + c2o1*y - c4o1*x*y - c2o1*z + c4o1*x*z - c4o1*y*z + c8o1*x*y*z) + 
+          drho_SEB*(c1o1 + c2o1*x - c2o1*y - c4o1*x*y - c2o1*z - c4o1*x*z + c4o1*y*z + c8o1*x*y*z) + 
+          drho_NET*(c1o1 + c2o1*x + c2o1*y + c4o1*x*y + c2o1*z + c4o1*x*z + c4o1*y*z + c8o1*x*y*z))/c8o1;
       vx1  = a0 + ax*x + ay*y + az*z + axx*x*x + ayy*y*y + azz*z*z + axy*x*y + axz*x*z + ayz*y*z;
       vx2  = b0 + bx*x + by*y + bz*z + bxx*x*x + byy*y*y + bzz*z*z + bxy*x*y + bxz*x*z + byz*y*z;
       vx3  = c0 + cx*x + cy*y + cz*z + cxx*x*x + cyy*y*y + czz*z*z + cxy*x*y + cxz*x*z + cyz*y*z;
diff --git a/src/gpu/core/GPU/GridScaling/ScaleFC_F3_27.cu b/src/gpu/core/GPU/GridScaling/ScaleFC_F3_27.cu
index 296c80c5c1a876a4453e6c53228af066b3ec6e22..63338605323ce730ada0e26008784cce39d7c0e6 100644
--- a/src/gpu/core/GPU/GridScaling/ScaleFC_F3_27.cu
+++ b/src/gpu/core/GPU/GridScaling/ScaleFC_F3_27.cu
@@ -15,33 +15,33 @@ using namespace vf::lbm::dir;
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
-													 real* DF,
-													 real* G6,
-													 unsigned int* neighborCX,
-													 unsigned int* neighborCY,
-													 unsigned int* neighborCZ,
-													 unsigned int* neighborFX,
-													 unsigned int* neighborFY,
-													 unsigned int* neighborFZ,
-													 unsigned long long numberOfLBnodesCoarse, 
-													 unsigned long long numberOfLBnodesFine, 
-													 bool isEvenTimestep,
-													 unsigned int* posC, 
-													 unsigned int* posFSWB, 
-													 unsigned int kFC, 
-													 real omCoarse, 
-													 real omFine, 
-													 real nu, 
-													 unsigned int nxC, 
-													 unsigned int nyC, 
-													 unsigned int nxF, 
-													 unsigned int nyF,
-													 ICellNeigh offFC)
+                                                     real* DF,
+                                                     real* G6,
+                                                     unsigned int* neighborCX,
+                                                     unsigned int* neighborCY,
+                                                     unsigned int* neighborCZ,
+                                                     unsigned int* neighborFX,
+                                                     unsigned int* neighborFY,
+                                                     unsigned int* neighborFZ,
+                                                     unsigned long long numberOfLBnodesCoarse, 
+                                                     unsigned long long numberOfLBnodesFine, 
+                                                     bool isEvenTimestep,
+                                                     unsigned int* posC, 
+                                                     unsigned int* posFSWB, 
+                                                     unsigned int kFC, 
+                                                     real omCoarse, 
+                                                     real omFine, 
+                                                     real nu, 
+                                                     unsigned int nxC, 
+                                                     unsigned int nyC, 
+                                                     unsigned int nxF, 
+                                                     unsigned int nyF,
+                                                     ICellNeigh offFC)
 {
    real 
-	   *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
-	   *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
-	   *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
+       *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
+       *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
+       *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
 
 
    fP00source = &DF[dP00 * numberOfLBnodesFine];
@@ -73,89 +73,89 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
    fPMMsource = &DF[dPMM * numberOfLBnodesFine];
 
    real
-	   *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
-	   *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
-	   *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
+       *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
+       *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
+       *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
 
    if (isEvenTimestep==true)
    {
-	   fP00dest = &DC[dP00 * numberOfLBnodesCoarse];
-	   fM00dest = &DC[dM00 * numberOfLBnodesCoarse];
-	   f0P0dest = &DC[d0P0 * numberOfLBnodesCoarse];
-	   f0M0dest = &DC[d0M0 * numberOfLBnodesCoarse];
-	   f00Pdest = &DC[d00P * numberOfLBnodesCoarse];
-	   f00Mdest = &DC[d00M * numberOfLBnodesCoarse];
-	   fPP0dest = &DC[dPP0 * numberOfLBnodesCoarse];
-	   fMM0dest = &DC[dMM0 * numberOfLBnodesCoarse];
-	   fPM0dest = &DC[dPM0 * numberOfLBnodesCoarse];
-	   fMP0dest = &DC[dMP0 * numberOfLBnodesCoarse];
-	   fP0Pdest = &DC[dP0P * numberOfLBnodesCoarse];
-	   fM0Mdest = &DC[dM0M * numberOfLBnodesCoarse];
-	   fP0Mdest = &DC[dP0M * numberOfLBnodesCoarse];
-	   fM0Pdest = &DC[dM0P * numberOfLBnodesCoarse];
-	   f0PPdest = &DC[d0PP * numberOfLBnodesCoarse];
-	   f0MMdest = &DC[d0MM * numberOfLBnodesCoarse];
-	   f0PMdest = &DC[d0PM * numberOfLBnodesCoarse];
-	   f0MPdest = &DC[d0MP * numberOfLBnodesCoarse];
-	   f000dest = &DC[d000 * numberOfLBnodesCoarse];
-	   fMMMdest = &DC[dMMM * numberOfLBnodesCoarse];
-	   fMMPdest = &DC[dMMP * numberOfLBnodesCoarse];
-	   fMPPdest = &DC[dMPP * numberOfLBnodesCoarse];
-	   fMPMdest = &DC[dMPM * numberOfLBnodesCoarse];
-	   fPPMdest = &DC[dPPM * numberOfLBnodesCoarse];
-	   fPPPdest = &DC[dPPP * numberOfLBnodesCoarse];
-	   fPMPdest = &DC[dPMP * numberOfLBnodesCoarse];
-	   fPMMdest = &DC[dPMM * numberOfLBnodesCoarse];
+       fP00dest = &DC[dP00 * numberOfLBnodesCoarse];
+       fM00dest = &DC[dM00 * numberOfLBnodesCoarse];
+       f0P0dest = &DC[d0P0 * numberOfLBnodesCoarse];
+       f0M0dest = &DC[d0M0 * numberOfLBnodesCoarse];
+       f00Pdest = &DC[d00P * numberOfLBnodesCoarse];
+       f00Mdest = &DC[d00M * numberOfLBnodesCoarse];
+       fPP0dest = &DC[dPP0 * numberOfLBnodesCoarse];
+       fMM0dest = &DC[dMM0 * numberOfLBnodesCoarse];
+       fPM0dest = &DC[dPM0 * numberOfLBnodesCoarse];
+       fMP0dest = &DC[dMP0 * numberOfLBnodesCoarse];
+       fP0Pdest = &DC[dP0P * numberOfLBnodesCoarse];
+       fM0Mdest = &DC[dM0M * numberOfLBnodesCoarse];
+       fP0Mdest = &DC[dP0M * numberOfLBnodesCoarse];
+       fM0Pdest = &DC[dM0P * numberOfLBnodesCoarse];
+       f0PPdest = &DC[d0PP * numberOfLBnodesCoarse];
+       f0MMdest = &DC[d0MM * numberOfLBnodesCoarse];
+       f0PMdest = &DC[d0PM * numberOfLBnodesCoarse];
+       f0MPdest = &DC[d0MP * numberOfLBnodesCoarse];
+       f000dest = &DC[d000 * numberOfLBnodesCoarse];
+       fMMMdest = &DC[dMMM * numberOfLBnodesCoarse];
+       fMMPdest = &DC[dMMP * numberOfLBnodesCoarse];
+       fMPPdest = &DC[dMPP * numberOfLBnodesCoarse];
+       fMPMdest = &DC[dMPM * numberOfLBnodesCoarse];
+       fPPMdest = &DC[dPPM * numberOfLBnodesCoarse];
+       fPPPdest = &DC[dPPP * numberOfLBnodesCoarse];
+       fPMPdest = &DC[dPMP * numberOfLBnodesCoarse];
+       fPMMdest = &DC[dPMM * numberOfLBnodesCoarse];
    } 
    else
    {
-	   fP00dest = &DC[dM00 * numberOfLBnodesCoarse];
-	   fM00dest = &DC[dP00 * numberOfLBnodesCoarse];
-	   f0P0dest = &DC[d0M0 * numberOfLBnodesCoarse];
-	   f0M0dest = &DC[d0P0 * numberOfLBnodesCoarse];
-	   f00Pdest = &DC[d00M * numberOfLBnodesCoarse];
-	   f00Mdest = &DC[d00P * numberOfLBnodesCoarse];
-	   fPP0dest = &DC[dMM0 * numberOfLBnodesCoarse];
-	   fMM0dest = &DC[dPP0 * numberOfLBnodesCoarse];
-	   fPM0dest = &DC[dMP0 * numberOfLBnodesCoarse];
-	   fMP0dest = &DC[dPM0 * numberOfLBnodesCoarse];
-	   fP0Pdest = &DC[dM0M * numberOfLBnodesCoarse];
-	   fM0Mdest = &DC[dP0P * numberOfLBnodesCoarse];
-	   fP0Mdest = &DC[dM0P * numberOfLBnodesCoarse];
-	   fM0Pdest = &DC[dP0M * numberOfLBnodesCoarse];
-	   f0PPdest = &DC[d0MM * numberOfLBnodesCoarse];
-	   f0MMdest = &DC[d0PP * numberOfLBnodesCoarse];
-	   f0PMdest = &DC[d0MP * numberOfLBnodesCoarse];
-	   f0MPdest = &DC[d0PM * numberOfLBnodesCoarse];
-	   f000dest = &DC[d000 * numberOfLBnodesCoarse];
-	   fMMMdest = &DC[dPPP * numberOfLBnodesCoarse];
-	   fMMPdest = &DC[dPPM * numberOfLBnodesCoarse];
-	   fMPPdest = &DC[dPMM * numberOfLBnodesCoarse];
-	   fMPMdest = &DC[dPMP * numberOfLBnodesCoarse];
-	   fPPMdest = &DC[dMMP * numberOfLBnodesCoarse];
-	   fPPPdest = &DC[dMMM * numberOfLBnodesCoarse];
-	   fPMPdest = &DC[dMPM * numberOfLBnodesCoarse];
-	   fPMMdest = &DC[dMPP * numberOfLBnodesCoarse];
+       fP00dest = &DC[dM00 * numberOfLBnodesCoarse];
+       fM00dest = &DC[dP00 * numberOfLBnodesCoarse];
+       f0P0dest = &DC[d0M0 * numberOfLBnodesCoarse];
+       f0M0dest = &DC[d0P0 * numberOfLBnodesCoarse];
+       f00Pdest = &DC[d00M * numberOfLBnodesCoarse];
+       f00Mdest = &DC[d00P * numberOfLBnodesCoarse];
+       fPP0dest = &DC[dMM0 * numberOfLBnodesCoarse];
+       fMM0dest = &DC[dPP0 * numberOfLBnodesCoarse];
+       fPM0dest = &DC[dMP0 * numberOfLBnodesCoarse];
+       fMP0dest = &DC[dPM0 * numberOfLBnodesCoarse];
+       fP0Pdest = &DC[dM0M * numberOfLBnodesCoarse];
+       fM0Mdest = &DC[dP0P * numberOfLBnodesCoarse];
+       fP0Mdest = &DC[dM0P * numberOfLBnodesCoarse];
+       fM0Pdest = &DC[dP0M * numberOfLBnodesCoarse];
+       f0PPdest = &DC[d0MM * numberOfLBnodesCoarse];
+       f0MMdest = &DC[d0PP * numberOfLBnodesCoarse];
+       f0PMdest = &DC[d0MP * numberOfLBnodesCoarse];
+       f0MPdest = &DC[d0PM * numberOfLBnodesCoarse];
+       f000dest = &DC[d000 * numberOfLBnodesCoarse];
+       fMMMdest = &DC[dPPP * numberOfLBnodesCoarse];
+       fMMPdest = &DC[dPPM * numberOfLBnodesCoarse];
+       fMPPdest = &DC[dPMM * numberOfLBnodesCoarse];
+       fMPMdest = &DC[dPMP * numberOfLBnodesCoarse];
+       fPPMdest = &DC[dMMP * numberOfLBnodesCoarse];
+       fPPPdest = &DC[dMMM * numberOfLBnodesCoarse];
+       fPMPdest = &DC[dMPM * numberOfLBnodesCoarse];
+       fPMMdest = &DC[dMPP * numberOfLBnodesCoarse];
    }
 
    Distributions6 G;
    if (isEvenTimestep == true)
    {
-	   G.g[dP00] = &G6[dP00 * numberOfLBnodesCoarse];
-	   G.g[dM00] = &G6[dM00 * numberOfLBnodesCoarse];
-	   G.g[d0P0] = &G6[d0P0 * numberOfLBnodesCoarse];
-	   G.g[d0M0] = &G6[d0M0 * numberOfLBnodesCoarse];
-	   G.g[d00P] = &G6[d00P * numberOfLBnodesCoarse];
-	   G.g[d00M] = &G6[d00M * numberOfLBnodesCoarse];
+       G.g[dP00] = &G6[dP00 * numberOfLBnodesCoarse];
+       G.g[dM00] = &G6[dM00 * numberOfLBnodesCoarse];
+       G.g[d0P0] = &G6[d0P0 * numberOfLBnodesCoarse];
+       G.g[d0M0] = &G6[d0M0 * numberOfLBnodesCoarse];
+       G.g[d00P] = &G6[d00P * numberOfLBnodesCoarse];
+       G.g[d00M] = &G6[d00M * numberOfLBnodesCoarse];
    }
    else
    {
-	   G.g[dM00] = &G6[dP00 * numberOfLBnodesCoarse];
-	   G.g[dP00] = &G6[dM00 * numberOfLBnodesCoarse];
-	   G.g[d0M0] = &G6[d0P0 * numberOfLBnodesCoarse];
-	   G.g[d0P0] = &G6[d0M0 * numberOfLBnodesCoarse];
-	   G.g[d00M] = &G6[d00P * numberOfLBnodesCoarse];
-	   G.g[d00P] = &G6[d00M * numberOfLBnodesCoarse];
+       G.g[dM00] = &G6[dP00 * numberOfLBnodesCoarse];
+       G.g[dP00] = &G6[dM00 * numberOfLBnodesCoarse];
+       G.g[d0M0] = &G6[d0P0 * numberOfLBnodesCoarse];
+       G.g[d0P0] = &G6[d0M0 * numberOfLBnodesCoarse];
+       G.g[d00M] = &G6[d00P * numberOfLBnodesCoarse];
+       G.g[d00P] = &G6[d00M * numberOfLBnodesCoarse];
    }
 
    ////////////////////////////////////////////////////////////////////////////////
@@ -253,26 +253,26 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
       f0PM = f0PMsource[k00M];
       f0MP = f0MPsource[k0M0];
       f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
       fPMP = fPMPsource[k0M0];
       fPMM = fPMMsource[k0MM];
 
       drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM);
-	  vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
-	  vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
+      vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
+      vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
 
-	  kxyFromfcNEQMMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
-	  kyzFromfcNEQMMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
-	  kxzFromfcNEQMMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
-	  kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
-	  kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
-	  kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
+      kxyFromfcNEQMMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
+      kyzFromfcNEQMMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
+      kxzFromfcNEQMMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
+      kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
+      kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
+      kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
 
       //////////////////////////////////////////////////////////////////////////
       //SWT//
@@ -287,45 +287,45 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
       k0MM = neighborFZ[k0MM];  
       kMMM = neighborFZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP);
-	  vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
-	  vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
+      vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
+      vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
 
-	  kxyFromfcNEQMMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
-	  kyzFromfcNEQMMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
-	  kxzFromfcNEQMMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
-	  kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
-	  kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
-	  kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
+      kxyFromfcNEQMMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
+      kyzFromfcNEQMMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
+      kxzFromfcNEQMMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
+      kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
+      kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
+      kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
 
       //////////////////////////////////////////////////////////////////////////
       //SET//
@@ -340,45 +340,45 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
       k0MM = kMMM;  
       kMMM = neighborFX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP);
-	  vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
-	  vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
+      vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
+      vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
 
-	  kxyFromfcNEQPMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
-	  kyzFromfcNEQPMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
-	  kxzFromfcNEQPMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
-	  kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
-	  kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
-	  kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
+      kxyFromfcNEQPMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
+      kyzFromfcNEQPMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
+      kxzFromfcNEQPMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
+      kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
+      kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
+      kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
 
       //////////////////////////////////////////////////////////////////////////
       //SEB//
@@ -393,45 +393,45 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborFX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM);
-	  vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
-	  vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
+      vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
+      vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
 
-	  kxyFromfcNEQPMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
-	  kyzFromfcNEQPMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
-	  kxzFromfcNEQPMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
-	  kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
-	  kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
-	  kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
+      kxyFromfcNEQPMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
+      kyzFromfcNEQPMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
+      kxzFromfcNEQPMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
+      kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
+      kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
+      kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
 
       //////////////////////////////////////////////////////////////////////////
       //NWB//
@@ -456,47 +456,47 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
       k0MM = k0MMbase;  
       kMMM = kMMMbase; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM);
-	  vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
-	  vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
+      vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
+      vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
 
-	  kxyFromfcNEQMPM    = -c3o1*omegaS*   ((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
-	  kyzFromfcNEQMPM    = -c3o1*omegaS*   ((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
-	  kxzFromfcNEQMPM    = -c3o1*omegaS*   ((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
-	  kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
-	  kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
-	  kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
+      kxyFromfcNEQMPM    = -c3o1*omegaS*   ((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
+      kyzFromfcNEQMPM    = -c3o1*omegaS*   ((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
+      kxzFromfcNEQMPM    = -c3o1*omegaS*   ((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
+      kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
+      kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
+      kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
 
-	  //////////////////////////////////////////////////////////////////////////
+      //////////////////////////////////////////////////////////////////////////
       //NWT//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -509,45 +509,45 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
       k0MM = neighborFZ[k0MM];  
       kMMM = neighborFZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP);
-	  vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
-	  vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
+      vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
+      vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
 
-	  kxyFromfcNEQMPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
-	  kyzFromfcNEQMPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
-	  kxzFromfcNEQMPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
-	  kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
-	  kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
-	  kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
+      kxyFromfcNEQMPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
+      kyzFromfcNEQMPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
+      kxzFromfcNEQMPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
+      kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
+      kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
+      kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NET//
@@ -562,45 +562,45 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
       k0MM = kMMM;  
       kMMM = neighborFX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP);
-	  vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
-	  vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
+      vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
+      vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
 
-	  kxyFromfcNEQPPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
-	  kyzFromfcNEQPPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
-	  kxzFromfcNEQPPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
-	  kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
-	  kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
-	  kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
+      kxyFromfcNEQPPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
+      kyzFromfcNEQPPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
+      kxzFromfcNEQPPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
+      kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
+      kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
+      kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NEB//
@@ -615,142 +615,142 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborFX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM);
-	  vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
-	  vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
+      vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
+      vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
 
-	  kxyFromfcNEQPPM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
-	  kyzFromfcNEQPPM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
-	  kxzFromfcNEQPPM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
-	  kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
-	  kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
-	  kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
+      kxyFromfcNEQPPM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
+      kyzFromfcNEQPPM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
+      kxzFromfcNEQPPM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
+      kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
+      kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
+      kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
 
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
-	  a0  = c1o8*(((vx1PPM + vx1MMP) + (vx1MPM + vx1PMP)) + ((vx1PMM + vx1MPP) + (vx1MMM + vx1PPP)));
-	  ax  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
-	  ay  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
-	  az  = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
-	  axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
-	  axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
-	  ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
-	  //axyz=		  ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
-	  b0  = c1o8*(((vx2PPM + vx2MMP) + (vx2MPM + vx2PMP)) + ((vx2PMM + vx2MPP) + (vx2MMM + vx2PPP)));
-	  bx  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
-	  by  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
-	  bz  = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
-	  bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
-	  bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
-	  byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
-	  //bxyz=		  ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
-	  c0  = c1o8*(((vx3PPM + vx3MMP) + (vx3MPM + vx3PMP)) + ((vx3PMM + vx3MPP) + (vx3MMM + vx3PPP)));
-	  cx  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
-	  cy  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
-	  cz  = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
-	  cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
-	  cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
-	  cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
-	  //cxyz=		  ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
-
-	  //bxx = zero;
-	  //cxx = zero;
-	  //ayy = zero;
-	  //cyy = zero;
-	  //azz = zero;
-	  //bzz = zero;
-	  //axx = zero;
-	  //byy = zero;
-	  //czz = zero;
-
-	  bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
-	  cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
-
-	  ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
-	  cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
-
-	  azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
-	  bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
-
-	  axx = ( c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
-		  + ( c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
-
-	  byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
-		  + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
-
-	  czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
-		  + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
-
-	  a0 -= c1o4*(axx + ayy + azz);
-	  b0 -= c1o4*(bxx + byy + bzz);
-	  c0 -= c1o4*(cxx + cyy + czz);
-
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage = c0;
-	  real kyzAverage = c0;
-	  real kxzAverage = c0;
-	  real kxxMyyAverage = c0;
-	  real kxxMzzAverage = c0;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////Press
-	  //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
-	  //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
-	  //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
-	  //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
-	  dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
-	  dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
-	  dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
-	  dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
-	  dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
-	  dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
+      a0  = c1o8*(((vx1PPM + vx1MMP) + (vx1MPM + vx1PMP)) + ((vx1PMM + vx1MPP) + (vx1MMM + vx1PPP)));
+      ax  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
+      ay  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
+      az  = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
+      axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
+      axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
+      ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
+      //axyz=          ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
+      b0  = c1o8*(((vx2PPM + vx2MMP) + (vx2MPM + vx2PMP)) + ((vx2PMM + vx2MPP) + (vx2MMM + vx2PPP)));
+      bx  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
+      by  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
+      bz  = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
+      bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
+      bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
+      byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
+      //bxyz=          ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
+      c0  = c1o8*(((vx3PPM + vx3MMP) + (vx3MPM + vx3PMP)) + ((vx3PMM + vx3MPP) + (vx3MMM + vx3PPP)));
+      cx  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
+      cy  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
+      cz  = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
+      cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
+      cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
+      cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
+      //cxyz=          ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
+
+      //bxx = zero;
+      //cxx = zero;
+      //ayy = zero;
+      //cyy = zero;
+      //azz = zero;
+      //bzz = zero;
+      //axx = zero;
+      //byy = zero;
+      //czz = zero;
+
+      bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
+      cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
+
+      ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
+      cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
+
+      azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
+      bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
+
+      axx = ( c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
+          + ( c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
+
+      byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
+          + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
+
+      czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
+          + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
+
+      a0 -= c1o4*(axx + ayy + azz);
+      b0 -= c1o4*(bxx + byy + bzz);
+      c0 -= c1o4*(cxx + cyy + czz);
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real kxyAverage = c0;
+      real kyzAverage = c0;
+      real kxzAverage = c0;
+      real kxxMyyAverage = c0;
+      real kxxMzzAverage = c0;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////Press
+      //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
+      //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
+      //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
+      //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
+      //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
+      //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
+      //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
+      //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
+      dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
+      dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
+      dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
+      dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
+      dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
+      dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot 
-	  //
       //
-	  // x------x
-	  // |      |
-	  // |	 ---+--->X
-	  // |		|  \
-	  // x------x   \
-	  //			off-vector
+      //
+      // x------x
+      // |      |
+      // |     ---+--->X
+      // |        |  \
+      // x------x   \
+      //            off-vector
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
@@ -764,445 +764,445 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real mfcbb = c0;
+      real mfabb = c0;
+      real mfbcb = c0;
+      real mfbab = c0;
+      real mfbbc = c0;
+      real mfbba = c0;
+      real mfccb = c0;
+      real mfaab = c0;
+      real mfcab = c0;
+      real mfacb = c0;
+      real mfcbc = c0;
+      real mfaba = c0;
+      real mfcba = c0;
+      real mfabc = c0;
+      real mfbcc = c0;
+      real mfbaa = c0;
+      real mfbca = c0;
+      real mfbac = c0;
+      real mfbbb = c0;
+      real mfccc = c0;
+      real mfaac = c0;
+      real mfcac = c0;
+      real mfacc = c0;
+      real mfcca = c0;
+      real mfaaa = c0;
+      real mfcaa = c0;
+      real mfaca = c0;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mfcbb = c0;
-	  real mfabb = c0;
-	  real mfbcb = c0;
-	  real mfbab = c0;
-	  real mfbbc = c0;
-	  real mfbba = c0;
-	  real mfccb = c0;
-	  real mfaab = c0;
-	  real mfcab = c0;
-	  real mfacb = c0;
-	  real mfcbc = c0;
-	  real mfaba = c0;
-	  real mfcba = c0;
-	  real mfabc = c0;
-	  real mfbcc = c0;
-	  real mfbaa = c0;
-	  real mfbca = c0;
-	  real mfbac = c0;
-	  real mfbbb = c0;
-	  real mfccc = c0;
-	  real mfaac = c0;
-	  real mfcac = c0;
-	  real mfacc = c0;
-	  real mfcca = c0;
-	  real mfaaa = c0;
-	  real mfcaa = c0;
-	  real mfaca = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mgcbb = c0;
-	  real mgabb = c0;
-	  real mgbcb = c0;
-	  real mgbab = c0;
-	  real mgbbc = c0;
-	  real mgbba = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = c2o1 - o;
-	  //real residu, residutmp;
-	  //residutmp = c0;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position C 0., 0., 0.
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //x = 0.;
-	  //y = 0.;
-	  //z = 0.;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //press = pressPPP * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressMPP * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressPMP * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressMMP * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressPPM * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  pressMPM * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  pressPMM * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
-			//  pressMMM * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
-	  //drho  = drhoPPP * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoMPP * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoPMP * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoMMP * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoPPM * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drhoMPM * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drhoPMM * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
-			//  drhoMMM * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
-	  press = d0;
-	  vvx   = a0;
-	  vvy   = b0;
-	  vvz   = c0;
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  real oP = o;// :(
-	  mxxPyyPzz = mfaaa    -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); 
-	  //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
-	  mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
-
-	  mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
-
-	  
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //3.
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy );
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz );
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz );
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy );
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy );
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz );
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz = c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz );
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb =  (vvx * axx + ax * ax) * (eps_new * eps_new) * (c1o1 + press);
-	  mgabb = -(vvx * axx + ax * ax) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbcb =  (vvy * byy + by * by) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbab = -(vvy * byy + by * by) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbbc =  (vvz * czz + cz * cz) * (eps_new * eps_new) * (c1o1 + press);
-	  mgbba = -(vvz * czz + cz * cz) * (eps_new * eps_new) * (c1o1 + press);
-	  //mgcbb = zero;
-	  //mgabb = zero;
-	  //mgbcb = zero;
-	  //mgbab = zero;
-	  //mgbbc = zero;
-	  //mgbba = zero;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k000 = posC[k];
-	  kM00 = neighborCX[k000];
-	  k0M0 = neighborCY[k000];
-	  k00M = neighborCZ[k000];
-	  kMM0 = neighborCY[kM00];
-	  kM0M = neighborCZ[kM00];
-	  k0MM = neighborCZ[k0M0];
-	  kMMM = neighborCZ[kMM0];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;                                                                 
-	  fM00dest[kM00] = mfabb;                                                               
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      real mgcbb = c0;
+      real mgabb = c0;
+      real mgbcb = c0;
+      real mgbab = c0;
+      real mgbbc = c0;
+      real mgbba = c0;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = c2o1 - o;
+      //real residu, residutmp;
+      //residutmp = c0;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position C 0., 0., 0.
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //x = 0.;
+      //y = 0.;
+      //z = 0.;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //press = pressPPP * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressMPP * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressPMP * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressMMP * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressPPM * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  pressMPM * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  pressPMM * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
+            //  pressMMM * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
+      //drho  = drhoPPP * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoMPP * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoPMP * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoMMP * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoPPM * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drhoMPM * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drhoPMM * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
+            //  drhoMMM * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
+      press = d0;
+      vvx   = a0;
+      vvy   = b0;
+      vvz   = c0;
+
+      //mfaaa = drho;
+      //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      real oP = o;// :(
+      mxxPyyPzz = mfaaa    -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); 
+      //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
+      mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
+
+      mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
+
+      
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //3.
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy );
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz );
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz );
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy );
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy );
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz );
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz = c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz );
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb =  (vvx * axx + ax * ax) * (eps_new * eps_new) * (c1o1 + press);
+      mgabb = -(vvx * axx + ax * ax) * (eps_new * eps_new) * (c1o1 + press);
+      mgbcb =  (vvy * byy + by * by) * (eps_new * eps_new) * (c1o1 + press);
+      mgbab = -(vvy * byy + by * by) * (eps_new * eps_new) * (c1o1 + press);
+      mgbbc =  (vvz * czz + cz * cz) * (eps_new * eps_new) * (c1o1 + press);
+      mgbba = -(vvz * czz + cz * cz) * (eps_new * eps_new) * (c1o1 + press);
+      //mgcbb = zero;
+      //mgabb = zero;
+      //mgbcb = zero;
+      //mgbab = zero;
+      //mgbbc = zero;
+      //mgbba = zero;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 0
+      k000 = posC[k];
+      kM00 = neighborCX[k000];
+      k0M0 = neighborCY[k000];
+      k00M = neighborCZ[k000];
+      kMM0 = neighborCY[kM00];
+      kM0M = neighborCZ[kM00];
+      k0MM = neighborCZ[k0M0];
+      kMMM = neighborCZ[kMM0];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;                                                                 
+      fM00dest[kM00] = mfabb;                                                               
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
@@ -1262,33 +1262,33 @@ __global__ void scaleFC_comp_D3Q27F3_2018(real* DC,
 
 //////////////////////////////////////////////////////////////////////////
 __global__ void scaleFC_comp_D3Q27F3( real* DC,
-												 real* DF,
-												 real* G6,
-												 unsigned int* neighborCX,
-												 unsigned int* neighborCY,
-												 unsigned int* neighborCZ,
-												 unsigned int* neighborFX,
-												 unsigned int* neighborFY,
-												 unsigned int* neighborFZ,
-												 unsigned long long numberOfLBnodesCoarse, 
-												 unsigned long long numberOfLBnodesFine, 
-												 bool isEvenTimestep,
-												 unsigned int* posC, 
-												 unsigned int* posFSWB, 
-												 unsigned int kFC, 
-												 real omCoarse, 
-												 real omFine, 
-												 real nu, 
-												 unsigned int nxC, 
-												 unsigned int nyC, 
-												 unsigned int nxF, 
-												 unsigned int nyF,
-												 ICellNeigh offFC)
+                                                 real* DF,
+                                                 real* G6,
+                                                 unsigned int* neighborCX,
+                                                 unsigned int* neighborCY,
+                                                 unsigned int* neighborCZ,
+                                                 unsigned int* neighborFX,
+                                                 unsigned int* neighborFY,
+                                                 unsigned int* neighborFZ,
+                                                 unsigned long long numberOfLBnodesCoarse, 
+                                                 unsigned long long numberOfLBnodesFine, 
+                                                 bool isEvenTimestep,
+                                                 unsigned int* posC, 
+                                                 unsigned int* posFSWB, 
+                                                 unsigned int kFC, 
+                                                 real omCoarse, 
+                                                 real omFine, 
+                                                 real nu, 
+                                                 unsigned int nxC, 
+                                                 unsigned int nyC, 
+                                                 unsigned int nxF, 
+                                                 unsigned int nyF,
+                                                 ICellNeigh offFC)
 {
    real 
-	   *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
-	   *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
-	   *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
+       *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source,
+       *fMP0source, *fP0Psource, *fM0Msource, *fP0Msource, *fM0Psource, *f0PPsource, *f0MMsource, *f0PMsource, *f0MPsource,
+       *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource;
 
 
    fP00source = &DF[dP00 * numberOfLBnodesFine];
@@ -1320,89 +1320,89 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
    fPMMsource = &DF[dPMM * numberOfLBnodesFine];
 
    real
-	   *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
-	   *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
-	   *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
+       *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest,
+       *fMP0dest, *fP0Pdest, *fM0Mdest, *fP0Mdest, *fM0Pdest, *f0PPdest, *f0MMdest, *f0PMdest, *f0MPdest,
+       *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest;
 
    if (isEvenTimestep==true)
    {
-	   fP00dest = &DC[dP00 * numberOfLBnodesCoarse];
-	   fM00dest = &DC[dM00 * numberOfLBnodesCoarse];
-	   f0P0dest = &DC[d0P0 * numberOfLBnodesCoarse];
-	   f0M0dest = &DC[d0M0 * numberOfLBnodesCoarse];
-	   f00Pdest = &DC[d00P * numberOfLBnodesCoarse];
-	   f00Mdest = &DC[d00M * numberOfLBnodesCoarse];
-	   fPP0dest = &DC[dPP0 * numberOfLBnodesCoarse];
-	   fMM0dest = &DC[dMM0 * numberOfLBnodesCoarse];
-	   fPM0dest = &DC[dPM0 * numberOfLBnodesCoarse];
-	   fMP0dest = &DC[dMP0 * numberOfLBnodesCoarse];
-	   fP0Pdest = &DC[dP0P * numberOfLBnodesCoarse];
-	   fM0Mdest = &DC[dM0M * numberOfLBnodesCoarse];
-	   fP0Mdest = &DC[dP0M * numberOfLBnodesCoarse];
-	   fM0Pdest = &DC[dM0P * numberOfLBnodesCoarse];
-	   f0PPdest = &DC[d0PP * numberOfLBnodesCoarse];
-	   f0MMdest = &DC[d0MM * numberOfLBnodesCoarse];
-	   f0PMdest = &DC[d0PM * numberOfLBnodesCoarse];
-	   f0MPdest = &DC[d0MP * numberOfLBnodesCoarse];
-	   f000dest = &DC[d000 * numberOfLBnodesCoarse];
-	   fMMMdest = &DC[dMMM * numberOfLBnodesCoarse];
-	   fMMPdest = &DC[dMMP * numberOfLBnodesCoarse];
-	   fMPPdest = &DC[dMPP * numberOfLBnodesCoarse];
-	   fMPMdest = &DC[dMPM * numberOfLBnodesCoarse];
-	   fPPMdest = &DC[dPPM * numberOfLBnodesCoarse];
-	   fPPPdest = &DC[dPPP * numberOfLBnodesCoarse];
-	   fPMPdest = &DC[dPMP * numberOfLBnodesCoarse];
-	   fPMMdest = &DC[dPMM * numberOfLBnodesCoarse];
+       fP00dest = &DC[dP00 * numberOfLBnodesCoarse];
+       fM00dest = &DC[dM00 * numberOfLBnodesCoarse];
+       f0P0dest = &DC[d0P0 * numberOfLBnodesCoarse];
+       f0M0dest = &DC[d0M0 * numberOfLBnodesCoarse];
+       f00Pdest = &DC[d00P * numberOfLBnodesCoarse];
+       f00Mdest = &DC[d00M * numberOfLBnodesCoarse];
+       fPP0dest = &DC[dPP0 * numberOfLBnodesCoarse];
+       fMM0dest = &DC[dMM0 * numberOfLBnodesCoarse];
+       fPM0dest = &DC[dPM0 * numberOfLBnodesCoarse];
+       fMP0dest = &DC[dMP0 * numberOfLBnodesCoarse];
+       fP0Pdest = &DC[dP0P * numberOfLBnodesCoarse];
+       fM0Mdest = &DC[dM0M * numberOfLBnodesCoarse];
+       fP0Mdest = &DC[dP0M * numberOfLBnodesCoarse];
+       fM0Pdest = &DC[dM0P * numberOfLBnodesCoarse];
+       f0PPdest = &DC[d0PP * numberOfLBnodesCoarse];
+       f0MMdest = &DC[d0MM * numberOfLBnodesCoarse];
+       f0PMdest = &DC[d0PM * numberOfLBnodesCoarse];
+       f0MPdest = &DC[d0MP * numberOfLBnodesCoarse];
+       f000dest = &DC[d000 * numberOfLBnodesCoarse];
+       fMMMdest = &DC[dMMM * numberOfLBnodesCoarse];
+       fMMPdest = &DC[dMMP * numberOfLBnodesCoarse];
+       fMPPdest = &DC[dMPP * numberOfLBnodesCoarse];
+       fMPMdest = &DC[dMPM * numberOfLBnodesCoarse];
+       fPPMdest = &DC[dPPM * numberOfLBnodesCoarse];
+       fPPPdest = &DC[dPPP * numberOfLBnodesCoarse];
+       fPMPdest = &DC[dPMP * numberOfLBnodesCoarse];
+       fPMMdest = &DC[dPMM * numberOfLBnodesCoarse];
    } 
    else
    {
-	   fP00dest = &DC[dM00 * numberOfLBnodesCoarse];
-	   fM00dest = &DC[dP00 * numberOfLBnodesCoarse];
-	   f0P0dest = &DC[d0M0 * numberOfLBnodesCoarse];
-	   f0M0dest = &DC[d0P0 * numberOfLBnodesCoarse];
-	   f00Pdest = &DC[d00M * numberOfLBnodesCoarse];
-	   f00Mdest = &DC[d00P * numberOfLBnodesCoarse];
-	   fPP0dest = &DC[dMM0 * numberOfLBnodesCoarse];
-	   fMM0dest = &DC[dPP0 * numberOfLBnodesCoarse];
-	   fPM0dest = &DC[dMP0 * numberOfLBnodesCoarse];
-	   fMP0dest = &DC[dPM0 * numberOfLBnodesCoarse];
-	   fP0Pdest = &DC[dM0M * numberOfLBnodesCoarse];
-	   fM0Mdest = &DC[dP0P * numberOfLBnodesCoarse];
-	   fP0Mdest = &DC[dM0P * numberOfLBnodesCoarse];
-	   fM0Pdest = &DC[dP0M * numberOfLBnodesCoarse];
-	   f0PPdest = &DC[d0MM * numberOfLBnodesCoarse];
-	   f0MMdest = &DC[d0PP * numberOfLBnodesCoarse];
-	   f0PMdest = &DC[d0MP * numberOfLBnodesCoarse];
-	   f0MPdest = &DC[d0PM * numberOfLBnodesCoarse];
-	   f000dest = &DC[d000 * numberOfLBnodesCoarse];
-	   fMMMdest = &DC[dPPP * numberOfLBnodesCoarse];
-	   fMMPdest = &DC[dPPM * numberOfLBnodesCoarse];
-	   fMPPdest = &DC[dPMM * numberOfLBnodesCoarse];
-	   fMPMdest = &DC[dPMP * numberOfLBnodesCoarse];
-	   fPPMdest = &DC[dMMP * numberOfLBnodesCoarse];
-	   fPPPdest = &DC[dMMM * numberOfLBnodesCoarse];
-	   fPMPdest = &DC[dMPM * numberOfLBnodesCoarse];
-	   fPMMdest = &DC[dMPP * numberOfLBnodesCoarse];
+       fP00dest = &DC[dM00 * numberOfLBnodesCoarse];
+       fM00dest = &DC[dP00 * numberOfLBnodesCoarse];
+       f0P0dest = &DC[d0M0 * numberOfLBnodesCoarse];
+       f0M0dest = &DC[d0P0 * numberOfLBnodesCoarse];
+       f00Pdest = &DC[d00M * numberOfLBnodesCoarse];
+       f00Mdest = &DC[d00P * numberOfLBnodesCoarse];
+       fPP0dest = &DC[dMM0 * numberOfLBnodesCoarse];
+       fMM0dest = &DC[dPP0 * numberOfLBnodesCoarse];
+       fPM0dest = &DC[dMP0 * numberOfLBnodesCoarse];
+       fMP0dest = &DC[dPM0 * numberOfLBnodesCoarse];
+       fP0Pdest = &DC[dM0M * numberOfLBnodesCoarse];
+       fM0Mdest = &DC[dP0P * numberOfLBnodesCoarse];
+       fP0Mdest = &DC[dM0P * numberOfLBnodesCoarse];
+       fM0Pdest = &DC[dP0M * numberOfLBnodesCoarse];
+       f0PPdest = &DC[d0MM * numberOfLBnodesCoarse];
+       f0MMdest = &DC[d0PP * numberOfLBnodesCoarse];
+       f0PMdest = &DC[d0MP * numberOfLBnodesCoarse];
+       f0MPdest = &DC[d0PM * numberOfLBnodesCoarse];
+       f000dest = &DC[d000 * numberOfLBnodesCoarse];
+       fMMMdest = &DC[dPPP * numberOfLBnodesCoarse];
+       fMMPdest = &DC[dPPM * numberOfLBnodesCoarse];
+       fMPPdest = &DC[dPMM * numberOfLBnodesCoarse];
+       fMPMdest = &DC[dPMP * numberOfLBnodesCoarse];
+       fPPMdest = &DC[dMMP * numberOfLBnodesCoarse];
+       fPPPdest = &DC[dMMM * numberOfLBnodesCoarse];
+       fPMPdest = &DC[dMPM * numberOfLBnodesCoarse];
+       fPMMdest = &DC[dMPP * numberOfLBnodesCoarse];
    }
 
    Distributions6 G;
    if (isEvenTimestep == true)
    {
-	   G.g[dP00] = &G6[dP00 * numberOfLBnodesCoarse];
-	   G.g[dM00] = &G6[dM00 * numberOfLBnodesCoarse];
-	   G.g[d0P0] = &G6[d0P0 * numberOfLBnodesCoarse];
-	   G.g[d0M0] = &G6[d0M0 * numberOfLBnodesCoarse];
-	   G.g[d00P] = &G6[d00P * numberOfLBnodesCoarse];
-	   G.g[d00M] = &G6[d00M * numberOfLBnodesCoarse];
+       G.g[dP00] = &G6[dP00 * numberOfLBnodesCoarse];
+       G.g[dM00] = &G6[dM00 * numberOfLBnodesCoarse];
+       G.g[d0P0] = &G6[d0P0 * numberOfLBnodesCoarse];
+       G.g[d0M0] = &G6[d0M0 * numberOfLBnodesCoarse];
+       G.g[d00P] = &G6[d00P * numberOfLBnodesCoarse];
+       G.g[d00M] = &G6[d00M * numberOfLBnodesCoarse];
    }
    else
    {
-	   G.g[dM00] = &G6[dP00 * numberOfLBnodesCoarse];
-	   G.g[dP00] = &G6[dM00 * numberOfLBnodesCoarse];
-	   G.g[d0M0] = &G6[d0P0 * numberOfLBnodesCoarse];
-	   G.g[d0P0] = &G6[d0M0 * numberOfLBnodesCoarse];
-	   G.g[d00M] = &G6[d00P * numberOfLBnodesCoarse];
-	   G.g[d00P] = &G6[d00M * numberOfLBnodesCoarse];
+       G.g[dM00] = &G6[dP00 * numberOfLBnodesCoarse];
+       G.g[dP00] = &G6[dM00 * numberOfLBnodesCoarse];
+       G.g[d0M0] = &G6[d0P0 * numberOfLBnodesCoarse];
+       G.g[d0P0] = &G6[d0M0 * numberOfLBnodesCoarse];
+       G.g[d00M] = &G6[d00P * numberOfLBnodesCoarse];
+       G.g[d00P] = &G6[d00M * numberOfLBnodesCoarse];
    }
 
    ////////////////////////////////////////////////////////////////////////////////
@@ -1500,26 +1500,26 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
       f0PM = f0PMsource[k00M];
       f0MP = f0MPsource[k0M0];
       f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
       fPMP = fPMPsource[k0M0];
       fPMM = fPMMsource[k0MM];
 
       drhoMMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMM);
-	  vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
-	  vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
+      vx2MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMM);
+      vx3MMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMM);
 
-	  kxyFromfcNEQMMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
-	  kyzFromfcNEQMMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
-	  kxzFromfcNEQMMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
-	  kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
-	  kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
-	  kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
+      kxyFromfcNEQMMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx2MMM)));
+      kyzFromfcNEQMMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMM) - ((vx2MMM*vx3MMM)));
+      kxzFromfcNEQMMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMM) - ((vx1MMM*vx3MMM)));
+      kxxMyyFromfcNEQMMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx2MMM*vx2MMM)));
+      kxxMzzFromfcNEQMMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMM) - ((vx1MMM*vx1MMM - vx3MMM*vx3MMM)));
+      kyyMzzFromfcNEQMMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMM) - ((vx2MMM*vx2MMM - vx3MMM*vx3MMM)));
 
       //////////////////////////////////////////////////////////////////////////
       //SWT//
@@ -1534,45 +1534,45 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
       k0MM = neighborFZ[k0MM];  
       kMMM = neighborFZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMMP);
-	  vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
-	  vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
+      vx2MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMMP);
+      vx3MMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMMP);
 
-	  kxyFromfcNEQMMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
-	  kyzFromfcNEQMMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
-	  kxzFromfcNEQMMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
-	  kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
-	  kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
-	  kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
+      kxyFromfcNEQMMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx2MMP)));
+      kyzFromfcNEQMMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMMP) - ((vx2MMP*vx3MMP)));
+      kxzFromfcNEQMMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMMP) - ((vx1MMP*vx3MMP)));
+      kxxMyyFromfcNEQMMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx2MMP*vx2MMP)));
+      kxxMzzFromfcNEQMMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMMP) - ((vx1MMP*vx1MMP - vx3MMP*vx3MMP)));
+      kyyMzzFromfcNEQMMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMMP) - ((vx2MMP*vx2MMP - vx3MMP*vx3MMP)));
 
       //////////////////////////////////////////////////////////////////////////
       //SET//
@@ -1587,45 +1587,45 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
       k0MM = kMMM;  
       kMMM = neighborFX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMP);
-	  vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
-	  vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
+      vx2PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMP);
+      vx3PMP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMP);
 
-	  kxyFromfcNEQPMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
-	  kyzFromfcNEQPMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
-	  kxzFromfcNEQPMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
-	  kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
-	  kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
-	  kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
+      kxyFromfcNEQPMP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx2PMP)));
+      kyzFromfcNEQPMP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMP) - ((vx2PMP*vx3PMP)));
+      kxzFromfcNEQPMP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMP) - ((vx1PMP*vx3PMP)));
+      kxxMyyFromfcNEQPMP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx2PMP*vx2PMP)));
+      kxxMzzFromfcNEQPMP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMP) - ((vx1PMP*vx1PMP - vx3PMP*vx3PMP)));
+      kyyMzzFromfcNEQPMP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMP) - ((vx2PMP*vx2PMP - vx3PMP*vx3PMP)));
 
       //////////////////////////////////////////////////////////////////////////
       //SEB//
@@ -1640,45 +1640,45 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborFX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPMM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PMM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPMM);
-	  vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
-	  vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
+      vx2PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPMM);
+      vx3PMM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPMM);
 
-	  kxyFromfcNEQPMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
-	  kyzFromfcNEQPMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
-	  kxzFromfcNEQPMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
-	  kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
-	  kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
-	  kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
+      kxyFromfcNEQPMM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx2PMM)));
+      kyzFromfcNEQPMM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPMM) - ((vx2PMM*vx3PMM)));
+      kxzFromfcNEQPMM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPMM) - ((vx1PMM*vx3PMM)));
+      kxxMyyFromfcNEQPMM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx2PMM*vx2PMM)));
+      kxxMzzFromfcNEQPMM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPMM) - ((vx1PMM*vx1PMM - vx3PMM*vx3PMM)));
+      kyyMzzFromfcNEQPMM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPMM) - ((vx2PMM*vx2PMM - vx3PMM*vx3PMM)));
 
       //////////////////////////////////////////////////////////////////////////
       //NWB//
@@ -1703,47 +1703,47 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
       k0MM = k0MMbase;  
       kMMM = kMMMbase; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPM);
-	  vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
-	  vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
+      vx2MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPM);
+      vx3MPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPM);
 
-	  kxyFromfcNEQMPM    = -c3o1*omegaS*   ((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
-	  kyzFromfcNEQMPM    = -c3o1*omegaS*   ((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
-	  kxzFromfcNEQMPM    = -c3o1*omegaS*   ((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
-	  kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
-	  kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
-	  kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
+      kxyFromfcNEQMPM    = -c3o1*omegaS*   ((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx2MPM)));
+      kyzFromfcNEQMPM    = -c3o1*omegaS*   ((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPM) - ((vx2MPM*vx3MPM)));
+      kxzFromfcNEQMPM    = -c3o1*omegaS*   ((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPM) - ((vx1MPM*vx3MPM)));
+      kxxMyyFromfcNEQMPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx2MPM*vx2MPM)));
+      kxxMzzFromfcNEQMPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPM) - ((vx1MPM*vx1MPM - vx3MPM*vx3MPM)));
+      kyyMzzFromfcNEQMPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPM) - ((vx2MPM*vx2MPM - vx3MPM*vx3MPM)));
 
-	  //////////////////////////////////////////////////////////////////////////
+      //////////////////////////////////////////////////////////////////////////
       //NWT//
       //////////////////////////////////////////////////////////////////////////
       //index 
@@ -1756,45 +1756,45 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
       k0MM = neighborFZ[k0MM];  
       kMMM = neighborFZ[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoMPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1MPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoMPP);
-	  vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
-	  vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
+      vx2MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoMPP);
+      vx3MPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoMPP);
 
-	  kxyFromfcNEQMPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
-	  kyzFromfcNEQMPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
-	  kxzFromfcNEQMPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
-	  kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
-	  kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
-	  kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
+      kxyFromfcNEQMPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx2MPP)));
+      kyzFromfcNEQMPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoMPP) - ((vx2MPP*vx3MPP)));
+      kxzFromfcNEQMPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoMPP) - ((vx1MPP*vx3MPP)));
+      kxxMyyFromfcNEQMPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx2MPP*vx2MPP)));
+      kxxMzzFromfcNEQMPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoMPP) - ((vx1MPP*vx1MPP - vx3MPP*vx3MPP)));
+      kyyMzzFromfcNEQMPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoMPP) - ((vx2MPP*vx2MPP - vx3MPP*vx3MPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NET//
@@ -1809,45 +1809,45 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
       k0MM = kMMM;  
       kMMM = neighborFX[kMMM]; 
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPP = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPP  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPP);
-	  vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
-	  vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
+      vx2PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPP);
+      vx3PPP  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPP);
 
-	  kxyFromfcNEQPPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
-	  kyzFromfcNEQPPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
-	  kxzFromfcNEQPPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
-	  kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
-	  kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
-	  kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
+      kxyFromfcNEQPPP    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx2PPP)));
+      kyzFromfcNEQPPP    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPP) - ((vx2PPP*vx3PPP)));
+      kxzFromfcNEQPPP    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPP) - ((vx1PPP*vx3PPP)));
+      kxxMyyFromfcNEQPPP = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx2PPP*vx2PPP)));
+      kxxMzzFromfcNEQPPP = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPP) - ((vx1PPP*vx1PPP - vx3PPP*vx3PPP)));
+      kyyMzzFromfcNEQPPP = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPP) - ((vx2PPP*vx2PPP - vx3PPP*vx3PPP)));
 
       //////////////////////////////////////////////////////////////////////////
       //NEB//
@@ -1862,142 +1862,142 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
       k0M0 = kMM0base;   
       kMM0 = neighborFX[kMM0base];  
       ////////////////////////////////////////////////////////////////////////////////
-	  fP00 = fP00source[k000];
-	  fM00 = fM00source[kM00];
-	  f0P0 = f0P0source[k000];
-	  f0M0 = f0M0source[k0M0];
-	  f00P = f00Psource[k000];
-	  f00M = f00Msource[k00M];
-	  fPP0 = fPP0source[k000];
-	  fMM0 = fMM0source[kMM0];
-	  fPM0 = fPM0source[k0M0];
-	  fMP0 = fMP0source[kM00];
-	  fP0P = fP0Psource[k000];
-	  fM0M = fM0Msource[kM0M];
-	  fP0M = fP0Msource[k00M];
-	  fM0P = fM0Psource[kM00];
-	  f0PP = f0PPsource[k000];
-	  f0MM = f0MMsource[k0MM];
-	  f0PM = f0PMsource[k00M];
-	  f0MP = f0MPsource[k0M0];
-	  f000 = f000source[k000];
-	  fMMM = fMMMsource[kMMM];
-	  fMMP = fMMPsource[kMM0];
-	  fMPP = fMPPsource[kM00];
-	  fMPM = fMPMsource[kM0M];
-	  fPPM = fPPMsource[k00M];
-	  fPPP = fPPPsource[k000];
-	  fPMP = fPMPsource[k0M0];
-	  fPMM = fPMMsource[k0MM];
+      fP00 = fP00source[k000];
+      fM00 = fM00source[kM00];
+      f0P0 = f0P0source[k000];
+      f0M0 = f0M0source[k0M0];
+      f00P = f00Psource[k000];
+      f00M = f00Msource[k00M];
+      fPP0 = fPP0source[k000];
+      fMM0 = fMM0source[kMM0];
+      fPM0 = fPM0source[k0M0];
+      fMP0 = fMP0source[kM00];
+      fP0P = fP0Psource[k000];
+      fM0M = fM0Msource[kM0M];
+      fP0M = fP0Msource[k00M];
+      fM0P = fM0Psource[kM00];
+      f0PP = f0PPsource[k000];
+      f0MM = f0MMsource[k0MM];
+      f0PM = f0PMsource[k00M];
+      f0MP = f0MPsource[k0M0];
+      f000 = f000source[k000];
+      fMMM = fMMMsource[kMMM];
+      fMMP = fMMPsource[kMM0];
+      fMPP = fMPPsource[kM00];
+      fMPM = fMPMsource[kM0M];
+      fPPM = fPPMsource[k00M];
+      fPPP = fPPPsource[k000];
+      fPMP = fPMPsource[k0M0];
+      fPMM = fPMMsource[k0MM];
 
       drhoPPM = fP00+fM00+f0P0+f0M0+f00P+f00M+fPP0+fMM0+fPM0+fMP0+fP0P+fM0M+fP0M+fM0P+f0PP+f0MM+f0PM+f0MP+f000+fPPP+fMMP+fPMP+fMPP+fPPM+fMMM+fPMM+fMPM;
       vx1PPM  = (((fPPP-fMMM)+(fPMP-fMPM)+(fPPM-fMMP)+(fPMM-fMPP)) + (((fPP0-fMM0)+(fP0P-fM0M))+((fPM0-fMP0)+(fP0M-fM0P))) + (fP00-fM00))/(c1o1 + drhoPPM);
-	  vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
-	  vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
+      vx2PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPPM-fMMP)+(fMPM-fPMP)) + (((fPP0-fMM0)+(f0PP-f0MM))+((f0PM-f0MP)+(fMP0-fPM0))) + (f0P0-f0M0))/(c1o1 + drhoPPM);
+      vx3PPM  = (((fPPP-fMMM)+(fMPP-fPMM)+(fPMP-fMPM)+(fMMP-fPPM)) + (((fP0P-fM0M)+(f0PP-f0MM))+((fM0P-fP0M)+(f0MP-f0PM))) + (f00P-f00M))/(c1o1 + drhoPPM);
 
-	  kxyFromfcNEQPPM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
-	  kyzFromfcNEQPPM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
-	  kxzFromfcNEQPPM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
-	  kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
-	  kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
-	  kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
+      kxyFromfcNEQPPM    = -c3o1*omegaS*((((fMM0 - fPM0) + (fPP0 - fMP0)) + (((fMMM - fPMM) + (fPPM - fMPM)) + ((fMMP - fPMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx2PPM)));
+      kyzFromfcNEQPPM    = -c3o1*omegaS*((((f0MM - f0MP) + (f0PP - f0PM)) + (((fPMM - fPMP) + (fMMM - fMPM)) + ((fPPP - fPPM) + (fMPP - fMMP)))) / (c1o1 + drhoPPM) - ((vx2PPM*vx3PPM)));
+      kxzFromfcNEQPPM    = -c3o1*omegaS*((((fM0M - fP0M) + (fP0P - fM0P)) + (((fMMM - fPMM) + (fMPM - fPPM)) + ((fPMP - fMMP) + (fPPP - fMPP)))) / (c1o1 + drhoPPM) - ((vx1PPM*vx3PPM)));
+      kxxMyyFromfcNEQPPM = -c3o2*omegaS *(((((fM0M - f0MM) + (fM0P - f0MP)) + ((fP0M - f0PM) + (fP0P - f0PP))) + ((fM00 - f0M0) + (fP00 - f0P0))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx2PPM*vx2PPM)));
+      kxxMzzFromfcNEQPPM = -c3o2*omegaS *(((((fMM0 - f0MM) + (fMP0 - f0PM)) + ((fPM0 - f0MP) + (fPP0 - f0PP))) + ((fM00 - f00M) + (fP00 - f00P))) / (c1o1 + drhoPPM) - ((vx1PPM*vx1PPM - vx3PPM*vx3PPM)));
+      kyyMzzFromfcNEQPPM = -c3o2*omegaS *(((((fPM0 - fP0M) + (fMM0 - fM0M)) + ((fPP0 - fP0P) + (fMP0 - fM0P))) + ((f0M0 - f00M) + (f0P0 - f00P))) / (c1o1 + drhoPPM) - ((vx2PPM*vx2PPM - vx3PPM*vx3PPM)));
 
       //////////////////////////////////////////////////////////////////////////
       //3
       //////////////////////////////////////////////////////////////////////////
-	  a0  = c1o8*(((vx1PPM + vx1MMP) + (vx1MPM + vx1PMP)) + ((vx1PMM + vx1MPP) + (vx1MMM + vx1PPP)));
-	  ax  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
-	  ay  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
-	  az  = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
-	  axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
-	  axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
-	  ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
-	  //axyz=		  ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
-	  b0  = c1o8*(((vx2PPM + vx2MMP) + (vx2MPM + vx2PMP)) + ((vx2PMM + vx2MPP) + (vx2MMM + vx2PPP)));
-	  bx  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
-	  by  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
-	  bz  = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
-	  bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
-	  bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
-	  byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
-	  //bxyz=		  ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
-	  c0  = c1o8*(((vx3PPM + vx3MMP) + (vx3MPM + vx3PMP)) + ((vx3PMM + vx3MPP) + (vx3MMM + vx3PPP)));
-	  cx  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
-	  cy  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
-	  cz  = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
-	  cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
-	  cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
-	  cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
-	  //cxyz=		  ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
-
-	  //bxx = zero;
-	  //cxx = zero;
-	  //ayy = zero;
-	  //cyy = zero;
-	  //azz = zero;
-	  //bzz = zero;
-	  //axx = zero;
-	  //byy = zero;
-	  //czz = zero;
-
-	  bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
-	  cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
-
-	  ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
-	  cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
-
-	  azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
-	  bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
-
-	  axx = ( c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
-		  + ( c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
-
-	  byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
-		  + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
-
-	  czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
-		  + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
-
-	  a0 -= c1o4*(axx + ayy + azz);
-	  b0 -= c1o4*(bxx + byy + bzz);
-	  c0 -= c1o4*(cxx + cyy + czz);
-
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real kxyAverage = c0;
-	  real kyzAverage = c0;
-	  real kxzAverage = c0;
-	  real kxxMyyAverage = c0;
-	  real kxxMzzAverage = c0;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////Press
-	  //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
-	  //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
-	  //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
-	  //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
-	  //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
-	  //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //drho
-	  d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
-	  dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
-	  dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
-	  dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
-	  dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
-	  dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
-	  dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
+      a0  = c1o8*(((vx1PPM + vx1MMP) + (vx1MPM + vx1PMP)) + ((vx1PMM + vx1MPP) + (vx1MMM + vx1PPP)));
+      ax  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1PMM - vx1MPP)));
+      ay  = c1o4*(((vx1PPM - vx1MMP) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1MPP - vx1PMM)));
+      az  = c1o4*(((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1PMP - vx1MPM) + (vx1MPP - vx1PMM)));
+      axy = c1o2*(((vx1PPM - vx1PMP) + (vx1MMM - vx1MPP)) + ((vx1MMP - vx1MPM) + (vx1PPP - vx1PMM)));
+      axz = c1o2*(((vx1PMP - vx1PPM) + (vx1MMM - vx1MPP)) + ((vx1MPM - vx1MMP) + (vx1PPP - vx1PMM)));
+      ayz = c1o2*(((vx1PPP - vx1MPM) + (vx1PMM - vx1MMP)) + ((vx1MPP - vx1PPM) + (vx1MMM - vx1PMP)));
+      //axyz=          ((vx1MMP - vx1PPM) + (vx1PPP - vx1MMM)) + ((vx1MPM - vx1PMP) + (vx1PMM - vx1MPP)) ;
+      b0  = c1o8*(((vx2PPM + vx2MMP) + (vx2MPM + vx2PMP)) + ((vx2PMM + vx2MPP) + (vx2MMM + vx2PPP)));
+      bx  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2PMM - vx2MPP)));
+      by  = c1o4*(((vx2PPM - vx2MMP) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2MPP - vx2PMM)));
+      bz  = c1o4*(((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2PMP - vx2MPM) + (vx2MPP - vx2PMM)));
+      bxy = c1o2*(((vx2PPM - vx2MPP) + (vx2MMM - vx2PMP)) + ((vx2MMP - vx2PMM) + (vx2PPP - vx2MPM)));
+      bxz = c1o2*(((vx2MMM - vx2PPM) + (vx2PMP - vx2MPP)) + ((vx2MPM - vx2PMM) + (vx2PPP - vx2MMP)));
+      byz = c1o2*(((vx2MPP - vx2PPM) + (vx2MMM - vx2PMP)) + ((vx2PMM - vx2MMP) + (vx2PPP - vx2MPM)));
+      //bxyz=          ((vx2MMP - vx2PPM) + (vx2PPP - vx2MMM)) + ((vx2MPM - vx2PMP) + (vx2PMM - vx2MPP)) ;
+      c0  = c1o8*(((vx3PPM + vx3MMP) + (vx3MPM + vx3PMP)) + ((vx3PMM + vx3MPP) + (vx3MMM + vx3PPP)));
+      cx  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3PMM - vx3MPP)));
+      cy  = c1o4*(((vx3PPM - vx3MMP) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3MPP - vx3PMM)));
+      cz  = c1o4*(((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3PMP - vx3MPM) + (vx3MPP - vx3PMM)));
+      cxy = c1o2*(((vx3PPM - vx3PMP) + (vx3MMM - vx3MPP)) + ((vx3MMP - vx3MPM) + (vx3PPP - vx3PMM)));
+      cxz = c1o2*(((vx3MMM - vx3PPM) + (vx3PMP - vx3MPP)) + ((vx3MPM - vx3PMM) + (vx3PPP - vx3MMP)));
+      cyz = c1o2*(((vx3MMM - vx3PPM) + (vx3MPP - vx3PMP)) + ((vx3PMM - vx3MPM) + (vx3PPP - vx3MMP)));
+      //cxyz=          ((vx3MMP - vx3PPM) + (vx3PPP - vx3MMM)) + ((vx3MPM - vx3PMP) + (vx3PMM - vx3MPP)) ;
+
+      //bxx = zero;
+      //cxx = zero;
+      //ayy = zero;
+      //cyy = zero;
+      //azz = zero;
+      //bzz = zero;
+      //axx = zero;
+      //byy = zero;
+      //czz = zero;
+
+      bxx = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPMM - kxyFromfcNEQMPP)) + ((kxyFromfcNEQPMP - kxyFromfcNEQMPM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP))) - c1o2*axy;
+      cxx = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) + (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) + (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*axz;
+
+      ayy = c1o8*(((kxyFromfcNEQPPP - kxyFromfcNEQMMM) + (kxyFromfcNEQPPM - kxyFromfcNEQMMP)) - ((kxyFromfcNEQPMM - kxyFromfcNEQMPP) + (kxyFromfcNEQPMP - kxyFromfcNEQMPM))) - c1o2*bxy;
+      cyy = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) + (kyzFromfcNEQPPM - kyzFromfcNEQMMP)) - ((kyzFromfcNEQPMM - kyzFromfcNEQMPP) + (kyzFromfcNEQPMP - kyzFromfcNEQMPM))) - c1o2*byz;
+
+      azz = c1o8*(((kxzFromfcNEQPPP - kxzFromfcNEQMMM) - (kxzFromfcNEQPMM - kxzFromfcNEQMPP)) + ((kxzFromfcNEQPMP - kxzFromfcNEQMPM) - (kxzFromfcNEQPPM - kxzFromfcNEQMMP))) - c1o2*cxz;
+      bzz = c1o8*(((kyzFromfcNEQPPP - kyzFromfcNEQMMM) - (kyzFromfcNEQPMM - kyzFromfcNEQMPP)) + ((kyzFromfcNEQPMP - kyzFromfcNEQMPM) - (kyzFromfcNEQPPM - kyzFromfcNEQMMP))) - c1o2*cyz;
+
+      axx = ( c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) + (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM) + (kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP))) - c1o4*bxy)
+          + ( c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) + (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) + ((kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM) + (kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP))) - c1o4*cxz);
+
+      byy = (-c1o16*(((kxxMyyFromfcNEQPPP - kxxMyyFromfcNEQMMM) - (kxxMyyFromfcNEQPMM - kxxMyyFromfcNEQMPP)) + ((kxxMyyFromfcNEQPPM - kxxMyyFromfcNEQMMP) - (kxxMyyFromfcNEQPMP - kxxMyyFromfcNEQMPM))) - c1o4*axy)
+          + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) + ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*cyz);
+
+      czz = (-c1o16*(((kxxMzzFromfcNEQPPP - kxxMzzFromfcNEQMMM) - (kxxMzzFromfcNEQPMM - kxxMzzFromfcNEQMPP)) - ((kxxMzzFromfcNEQPPM - kxxMzzFromfcNEQMMP) - (kxxMzzFromfcNEQPMP - kxxMzzFromfcNEQMPM))) - c1o4*axz)
+          + ( c1o16*(((kyyMzzFromfcNEQPPP - kyyMzzFromfcNEQMMM) - (kyyMzzFromfcNEQPMM - kyyMzzFromfcNEQMPP)) - ((kyyMzzFromfcNEQPPM - kyyMzzFromfcNEQMMP) - (kyyMzzFromfcNEQPMP - kyyMzzFromfcNEQMPM))) - c1o4*byz);
+
+      a0 -= c1o4*(axx + ayy + azz);
+      b0 -= c1o4*(bxx + byy + bzz);
+      c0 -= c1o4*(cxx + cyy + czz);
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real kxyAverage = c0;
+      real kyzAverage = c0;
+      real kxzAverage = c0;
+      real kxxMyyAverage = c0;
+      real kxxMzzAverage = c0;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ////Press
+      //d0   = ( pressPPM + pressPPP + pressMPM + pressMPP + pressPMM + pressPMP + pressMMM + pressMMP) * c1o8;
+      //dx   = ( pressPPM + pressPPP - pressMPM - pressMPP + pressPMM + pressPMP - pressMMM - pressMMP) * c1o4;
+      //dy   = ( pressPPM + pressPPP + pressMPM + pressMPP - pressPMM - pressPMP - pressMMM - pressMMP) * c1o4;
+      //dz   = (-pressPPM + pressPPP - pressMPM + pressMPP - pressPMM + pressPMP - pressMMM + pressMMP) * c1o4;
+      //dxy  = ( pressPPM + pressPPP - pressMPM - pressMPP - pressPMM - pressPMP + pressMMM + pressMMP) * c1o2;
+      //dxz  = (-pressPPM + pressPPP + pressMPM - pressMPP - pressPMM + pressPMP + pressMMM - pressMMP) * c1o2;
+      //dyz  = (-pressPPM + pressPPP - pressMPM + pressMPP + pressPMM - pressPMP + pressMMM - pressMMP) * c1o2;
+      //dxyz =  -pressPPM + pressPPP + pressMPM - pressMPP + pressPMM - pressPMP - pressMMM + pressMMP;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //drho
+      d0   = ( ((drhoPPM + drhoMMP) + (drhoMPM + drhoPMP)) + ((drhoPMM + drhoMPP) + (drhoMMM + drhoPPP))) * c1o8;
+      dx   = ( ((drhoPPM - drhoMMP) + (drhoPMM - drhoMPP)) + ((drhoPMP - drhoMPM) + (drhoPPP - drhoMMM))) * c1o4;
+      dy   = ( ((drhoPPM - drhoMMP) + (drhoMPP - drhoPMM)) + ((drhoMPM - drhoPMP) + (drhoPPP - drhoMMM))) * c1o4;
+      dz   = ( ((drhoMMP - drhoPPM) + (drhoPPP - drhoMMM)) + ((drhoPMP - drhoMPM) + (drhoMPP - drhoPMM))) * c1o4;
+      dxy  = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2;
+      dxz  = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2;
+      dyz  = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       //
       // Bernd das Brot 
-	  //
       //
-	  // x------x
-	  // |      |
-	  // |	 ---+--->X
-	  // |		|  \
-	  // x------x   \
-	  //			off-vector
+      //
+      // x------x
+      // |      |
+      // |     ---+--->X
+      // |        |  \
+      // x------x   \
+      //            off-vector
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       a0 = a0 + xoff * ax + yoff * ay + zoff * az + xoff_sq * axx + yoff_sq * ayy + zoff_sq * azz + xoff*yoff*axy + xoff*zoff*axz + yoff*zoff*ayz;
       ax = ax + c2o1 * xoff * axx + yoff * axy + zoff * axz;
@@ -2011,439 +2011,439 @@ __global__ void scaleFC_comp_D3Q27F3( real* DC,
       cx = cx + c2o1 * xoff * cxx + yoff * cxy + zoff * cxz;
       cy = cy + c2o1 * yoff * cyy + xoff * cxy + zoff * cyz;
       cz = cz + c2o1 * zoff * czz + xoff * cxz + yoff * cyz;
-	  d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      d0 = d0 + xoff * dx + yoff * dy + zoff * dz + xoff*yoff*dxy + xoff*zoff*dxz + yoff*zoff*dyz;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real mfcbb = c0;
+      real mfabb = c0;
+      real mfbcb = c0;
+      real mfbab = c0;
+      real mfbbc = c0;
+      real mfbba = c0;
+      real mfccb = c0;
+      real mfaab = c0;
+      real mfcab = c0;
+      real mfacb = c0;
+      real mfcbc = c0;
+      real mfaba = c0;
+      real mfcba = c0;
+      real mfabc = c0;
+      real mfbcc = c0;
+      real mfbaa = c0;
+      real mfbca = c0;
+      real mfbac = c0;
+      real mfbbb = c0;
+      real mfccc = c0;
+      real mfaac = c0;
+      real mfcac = c0;
+      real mfacc = c0;
+      real mfcca = c0;
+      real mfaaa = c0;
+      real mfcaa = c0;
+      real mfaca = c0;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mfcbb = c0;
-	  real mfabb = c0;
-	  real mfbcb = c0;
-	  real mfbab = c0;
-	  real mfbbc = c0;
-	  real mfbba = c0;
-	  real mfccb = c0;
-	  real mfaab = c0;
-	  real mfcab = c0;
-	  real mfacb = c0;
-	  real mfcbc = c0;
-	  real mfaba = c0;
-	  real mfcba = c0;
-	  real mfabc = c0;
-	  real mfbcc = c0;
-	  real mfbaa = c0;
-	  real mfbca = c0;
-	  real mfbac = c0;
-	  real mfbbb = c0;
-	  real mfccc = c0;
-	  real mfaac = c0;
-	  real mfcac = c0;
-	  real mfacc = c0;
-	  real mfcca = c0;
-	  real mfaaa = c0;
-	  real mfcaa = c0;
-	  real mfaca = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real mgcbb = c0;
-	  real mgabb = c0;
-	  real mgbcb = c0;
-	  real mgbab = c0;
-	  real mgbbc = c0;
-	  real mgbba = c0;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real m0, m1, m2, oMdrho;
-	  real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
-	  //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
-	  //real O3 = c2o1 - o;
-	  //real residu, residutmp;
-	  //residutmp = c0;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
-	  real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //
-	  //Position C 0., 0., 0.
-	  //
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //x = 0.;
-	  //y = 0.;
-	  //z = 0.;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real mxoff = -xoff;
-	  //real myoff = -yoff;
-	  //real mzoff = -zoff;
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //press = pressPPP * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressMPP * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressPMP * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressMMP * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
-			//  pressPPM * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  pressMPM * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
-			//  pressPMM * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
-			//  pressMMM * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
-	  //drho  = drhoPPP * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoMPP * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoPMP * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoMMP * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
-			//  drhoPPM * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drhoMPM * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
-			//  drhoPMM * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
-			//  drhoMMM * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
-	  press = d0;
-	  vvx   = a0;
-	  vvy   = b0;
-	  vvz   = c0;
-
-	  //mfaaa = drho;
-	  //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
-	  mfaaa = press; // if drho is interpolated directly
-
-	  vx2 = vvx*vvx;
-	  vy2 = vvy*vvy;
-	  vz2 = vvz*vvz;
-	  oMdrho = c1o1;
-	  //oMdrho = one - mfaaa;
-
-	  //two
-	  // linear combinations
-	  real oP = o;// :(
-	  mxxPyyPzz = mfaaa    -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); 
-	  //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
-	  //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
-
-	  //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
-	  //mfbab     = -c1o3 * (az + cx)*eps_new/o;
-	  //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
-	  mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
-	  mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
-
-	  mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
-	  mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
-	  mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
-
-	  
-	  // linear combinations back
-	  mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
-	  mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
-
-	  //3.
-	  // linear combinations
-	  //residu = residutmp * (ayz + bxz + cxy );
-	  //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mfbbb = c0;
-
-	  //residu = residutmp * (axy + two*bxx + two*bzz + cyz );
-	  //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
-	  //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyPyzz = c0;
-
-	  //residu = residutmp * (axy + two*bxx - two*bzz - cyz );
-	  //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
-	  //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxyMyzz = c0;
-
-	  //residu = residutmp * (axz + byz + two*cxx + two*cyy );
-	  //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
-	  //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzPyyz = c0;
-
-	  //residu = residutmp * (axz - byz + two*cxx - two*cyy );
-	  //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
-	  //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxxzMyyz = c0;
-
-	  //residu = residutmp * (two*ayy + two*azz + bxy + cxz );
-	  //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
-	  //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyPxzz = c0;
-
-	  //residu = residutmp * (two*ayy - two*azz + bxy - cxz );
-	  //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
-	  //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
-	  mxyyMxzz = c0;
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // D3Q27F 
-	  mgcbb = (ax - c4o1 * axx) * eps_new;
-	  mgabb = (ax + c4o1 * axx) * eps_new;
-	  mgbcb = (by - c4o1 * byy) * eps_new;
-	  mgbab = (by + c4o1 * byy) * eps_new;
-	  mgbbc = (cz - c4o1 * czz) * eps_new;
-	  mgbba = (cz + c4o1 * czz) * eps_new;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  // linear combinations back
-	  mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-	  mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-	  mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-	  mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-	  //4.
-	  mfacc = mfaaa*c1o9; 
-	  mfcac = mfacc; 
-	  mfcca = mfacc; 
-	  //5.
-
-	  //6.
-	  mfccc = mfaaa*c1o27;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //back
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Z - Dir
-	  m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
-	  m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaaa = m0;
-	  mfaab = m1;
-	  mfaac = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
-	  m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-	  mfaba = m0;
-	  mfabb = m1;
-	  mfabc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfaca = m0;
-	  mfacb = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
-	  m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-	  mfbaa = m0;
-	  mfbab = m1;
-	  mfbac = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
-	  m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-	  mfbba = m0;
-	  mfbbb = m1;
-	  mfbbc = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
-	  m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-	  mfbca = m0;
-	  mfbcb = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
-	  m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcaa = m0;
-	  mfcab = m1;
-	  mfcac = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
-	  m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-	  mfcba = m0;
-	  mfcbb = m1;
-	  mfcbc = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
-	  m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-	  mfcca = m0;
-	  mfccb = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // Y - Dir
-	  m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaaa = m0;
-	  mfaba = m1;
-	  mfaca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
-	  m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaab = m0;
-	  mfabb = m1;
-	  mfacb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
-	  m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfaac = m0;
-	  mfabc = m1;
-	  mfacc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
-	  m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-	  mfbaa = m0;
-	  mfbba = m1;
-	  mfbca = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
-	  m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-	  mfbab = m0;
-	  mfbbb = m1;
-	  mfbcb = m2;
-	  /////////b//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
-	  m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-	  mfbac = m0;
-	  mfbbc = m1;
-	  mfbcc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcaa = m0;
-	  mfcba = m1;
-	  mfcca = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
-	  m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcab = m0;
-	  mfcbb = m1;
-	  mfccb = m2;
-	  /////////c//////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
-	  m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-	  mfcac = m0;
-	  mfcbc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  // X - Dir
-	  m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaaa = m0;
-	  mfbaa = m1;
-	  mfcaa = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaba = m0;
-	  mfbba = m1;
-	  mfcba = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaca = m0;
-	  mfbca = m1;
-	  mfcca = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaab = m0;
-	  mfbab = m1;
-	  mfcab = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
-	  m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabb = m0;
-	  mfbbb = m1;
-	  mfcbb = m2;
-	  ///////////b////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacb = m0;
-	  mfbcb = m1;
-	  mfccb = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfaac = m0;
-	  mfbac = m1;
-	  mfcac = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
-	  m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfabc = m0;
-	  mfbbc = m1;
-	  mfcbc = m2;
-	  ///////////c////////////////////////////////////////////////////////////////////////
-	  m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-	  m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
-	  m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-	  mfacc = m0;
-	  mfbcc = m1;
-	  mfccc = m2;
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  //index 0
-	  k000 = posC[k];
-	  kM00 = neighborCX[k000];
-	  k0M0 = neighborCY[k000];
-	  k00M = neighborCZ[k000];
-	  kMM0 = neighborCY[kM00];
-	  kM0M = neighborCZ[kM00];
-	  k0MM = neighborCZ[k0M0];
-	  kMMM = neighborCZ[kMM0];
-	  ////////////////////////////////////////////////////////////////////////////////////
-
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  (G.g[dP00])[k000] = mgcbb;
-	  (G.g[dM00])[kM00] = mgabb;
-	  (G.g[d0P0])[k000] = mgbcb;
-	  (G.g[d0M0])[k0M0] = mgbab;
-	  (G.g[d00P])[k000] = mgbbc;
-	  (G.g[d00M])[k00M] = mgbba;
-	  ////////////////////////////////////////////////////////////////////////////////////
-	  fP00dest[k000] = mfcbb;                                                                 
-	  fM00dest[kM00] = mfabb;                                                               
-	  f0P0dest[k000] = mfbcb;
-	  f0M0dest[k0M0] = mfbab;
-	  f00Pdest[k000] = mfbbc;
-	  f00Mdest[k00M] = mfbba;
-	  fPP0dest[k000] = mfccb;
-	  fMM0dest[kMM0] = mfaab;
-	  fPM0dest[k0M0] = mfcab;
-	  fMP0dest[kM00] = mfacb;
-	  fP0Pdest[k000] = mfcbc;
-	  fM0Mdest[kM0M] = mfaba;
-	  fP0Mdest[k00M] = mfcba;
-	  fM0Pdest[kM00] = mfabc;
-	  f0PPdest[k000] = mfbcc;
-	  f0MMdest[k0MM] = mfbaa;
-	  f0PMdest[k00M] = mfbca;
-	  f0MPdest[k0M0] = mfbac;
-	  f000dest[k000] = mfbbb;
-	  fMMMdest[kMMM] = mfaaa;
-	  fMMPdest[kMM0] = mfaac;
-	  fMPPdest[kM00] = mfacc;
-	  fMPMdest[kM0M] = mfaca;
-	  fPPMdest[k00M] = mfcca;
-	  fPPPdest[k000] = mfccc;
-	  fPMPdest[k0M0] = mfcac;
-	  fPMMdest[k0MM] = mfcaa;
-	  ////////////////////////////////////////////////////////////////////////////////////
+      real mgcbb = c0;
+      real mgabb = c0;
+      real mgbcb = c0;
+      real mgbab = c0;
+      real mgbbc = c0;
+      real mgbba = c0;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real m0, m1, m2, oMdrho;
+      real mxxPyyPzz, mxxMyy, mxxMzz, mxxyPyzz, mxxyMyzz, mxxzPyyz, mxxzMyyz, mxyyPxzz, mxyyMxzz;
+      //real qudricLimit = c1o100;//ganz schlechte Idee -> muss global sein
+      //real O3 = c2o1 - o;
+      //real residu, residutmp;
+      //residutmp = c0;///*-*/ c2o9 * (1./o - c1o2) * eps_new * eps_new;
+      real NeqOn = c1o1;//zero;//one;   //.... one = on ..... zero = off 
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //
+      //Position C 0., 0., 0.
+      //
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //x = 0.;
+      //y = 0.;
+      //z = 0.;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //real mxoff = -xoff;
+      //real myoff = -yoff;
+      //real mzoff = -zoff;
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //press = pressPPP * (c1o8 - c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressMPP * (c1o8 + c1o4 * mxoff - c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressPMP * (c1o8 - c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressMMP * (c1o8 + c1o4 * mxoff + c1o4 * myoff - c1o4 * mzoff) + 
+            //  pressPPM * (c1o8 - c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  pressMPM * (c1o8 + c1o4 * mxoff - c1o4 * myoff + c1o4 * mzoff) + 
+            //  pressPMM * (c1o8 - c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff) + 
+            //  pressMMM * (c1o8 + c1o4 * mxoff + c1o4 * myoff + c1o4 * mzoff);
+      //drho  = drhoPPP * (c1o8 - c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoMPP * (c1o8 + c1o4 * xoff - c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoPMP * (c1o8 - c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoMMP * (c1o8 + c1o4 * xoff + c1o4 * yoff - c1o4 * zoff) + 
+            //  drhoPPM * (c1o8 - c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drhoMPM * (c1o8 + c1o4 * xoff - c1o4 * yoff + c1o4 * zoff) + 
+            //  drhoPMM * (c1o8 - c1o4 * xoff + c1o4 * yoff + c1o4 * zoff) + 
+            //  drhoMMM * (c1o8 + c1o4 * xoff + c1o4 * yoff + c1o4 * zoff);
+      press = d0;
+      vvx   = a0;
+      vvy   = b0;
+      vvz   = c0;
+
+      //mfaaa = drho;
+      //mfaaa = press + (ax+by+cz)/three;  //  1/3 = 2/3*(1/op-1/2)
+      mfaaa = press; // if drho is interpolated directly
+
+      vx2 = vvx*vvx;
+      vy2 = vvy*vvy;
+      vz2 = vvz*vvz;
+      oMdrho = c1o1;
+      //oMdrho = one - mfaaa;
+
+      //two
+      // linear combinations
+      real oP = o;// :(
+      mxxPyyPzz = mfaaa    -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); 
+      //mxxMyy    = -c2o3*(ax - by)*eps_new/o;
+      //mxxMzz    = -c2o3*(ax - cz)*eps_new/o;
+
+      //mfabb     = -c1o3 * (bz + cy)*eps_new/o;
+      //mfbab     = -c1o3 * (az + cx)*eps_new/o;
+      //mfbba     = -c1o3 * (ay + bx)*eps_new/o;
+      mxxMyy    = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press);
+      mxxMzz    = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press);
+
+      mfabb     = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press);
+      mfbab     = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press);
+      mfbba     = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press);
+
+      
+      // linear combinations back
+      mfcaa = c1o3 * (       mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaca = c1o3 * (-c2o1 * mxxMyy +       mxxMzz + mxxPyyPzz) * NeqOn;
+      mfaac = c1o3 * (       mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) * NeqOn;
+
+      //3.
+      // linear combinations
+      //residu = residutmp * (ayz + bxz + cxy );
+      //mfbbb = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mfbbb = c0;
+
+      //residu = residutmp * (axy + two*bxx + two*bzz + cyz );
+      //residu = -(c1o9*(axy - 2*bxx - 2*bzz + cyz ));
+      //mxxyPyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyPyzz = c0;
+
+      //residu = residutmp * (axy + two*bxx - two*bzz - cyz );
+      //residu = c1o9*(axy - 2*bxx + 2*bzz - cyz );
+      //mxxyMyzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxyMyzz = c0;
+
+      //residu = residutmp * (axz + byz + two*cxx + two*cyy );
+      //residu = -(c1o9*(axz + byz - 2*cxx - 2*cyy ));
+      //mxxzPyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzPyyz = c0;
+
+      //residu = residutmp * (axz - byz + two*cxx - two*cyy );
+      //residu = c1o9*(axz - byz - 2*cxx + 2*cyy );
+      //mxxzMyyz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxxzMyyz = c0;
+
+      //residu = residutmp * (two*ayy + two*azz + bxy + cxz );
+      //residu = c1o9*(2*ayy + 2*azz - bxy - cxz );
+      //mxyyPxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyPxzz = c0;
+
+      //residu = residutmp * (two*ayy - two*azz + bxy - cxz );
+      //residu = c1o9*(-2*ayy + 2*azz + bxy - cxz );
+      //mxyyMxzz = (abs(residu)+qudricLimit) * residu / (qudricLimit * O3 + abs(residu));
+      mxyyMxzz = c0;
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      // D3Q27F 
+      mgcbb = (ax - c4o1 * axx) * eps_new;
+      mgabb = (ax + c4o1 * axx) * eps_new;
+      mgbcb = (by - c4o1 * byy) * eps_new;
+      mgbab = (by + c4o1 * byy) * eps_new;
+      mgbbc = (cz - c4o1 * czz) * eps_new;
+      mgbba = (cz + c4o1 * czz) * eps_new;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      // linear combinations back
+      mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+      mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+      mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+      mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+      mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+      mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+      //4.
+      mfacc = mfaaa*c1o9; 
+      mfcac = mfacc; 
+      mfcca = mfacc; 
+      //5.
+
+      //6.
+      mfccc = mfaaa*c1o27;
+      ////////////////////////////////////////////////////////////////////////////////////
+      //back
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Z - Dir
+      m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfaac        - c2o1 * mfaab *  vvz         +  mfaaa                * (c1o1 - vz2)              - c1o1 * oMdrho * vz2; 
+      m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaaa = m0;
+      mfaab = m1;
+      mfaac = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfabc        - c2o1 * mfabb *  vvz         + mfaba * (c1o1 - vz2); 
+      m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+      mfaba = m0;
+      mfabb = m1;
+      mfabc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfacb *  vvz         +  mfaca                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfaca = m0;
+      mfacb = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbac        - c2o1 * mfbab *  vvz         + mfbaa * (c1o1 - vz2); 
+      m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+      mfbaa = m0;
+      mfbab = m1;
+      mfbac = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbbc        - c2o1 * mfbbb *  vvz         + mfbba * (c1o1 - vz2); 
+      m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+      mfbba = m0;
+      mfbbb = m1;
+      mfbbc = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbcb *  vvz         + mfbca * (c1o1 - vz2); 
+      m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+      mfbca = m0;
+      mfbcb = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfcab *  vvz         +  mfcaa                  * (c1o1 - vz2)              - c1o3 * oMdrho * vz2; 
+      m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcaa = m0;
+      mfcab = m1;
+      mfcac = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfcbb *  vvz         + mfcba * (c1o1 - vz2); 
+      m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+      mfcba = m0;
+      mfcbb = m1;
+      mfcbc = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfccb *  vvz         +  mfcca                  * (c1o1 - vz2)              - c1o9 * oMdrho * vz2; 
+      m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+      mfcca = m0;
+      mfccb = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // Y - Dir
+      m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfaca        - c2o1 * mfaba *  vvy         +  mfaaa                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaaa = m0;
+      mfaba = m1;
+      mfaca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacb        - c2o1 * mfabb *  vvy         +  mfaab                  * (c1o1 - vy2)              - c2o3 * oMdrho * vy2; 
+      m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaab = m0;
+      mfabb = m1;
+      mfacb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfacc        - c2o1 * mfabc *  vvy         +  mfaac                  * (c1o1 - vy2)              - c1o6 * oMdrho * vy2; 
+      m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfaac = m0;
+      mfabc = m1;
+      mfacc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbca        - c2o1 * mfbba *  vvy         + mfbaa * (c1o1 - vy2); 
+      m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+      mfbaa = m0;
+      mfbba = m1;
+      mfbca = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcb        - c2o1 * mfbbb *  vvy         + mfbab * (c1o1 - vy2); 
+      m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+      mfbab = m0;
+      mfbbb = m1;
+      mfbcb = m2;
+      /////////b//////////////////////////////////////////////////////////////////////////
+      m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+      m1 = -mfbcc        - c2o1 * mfbbc *  vvy         + mfbac * (c1o1 - vy2); 
+      m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+      mfbac = m0;
+      mfbbc = m1;
+      mfbcc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfcba *  vvy         +  mfcaa                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcaa = m0;
+      mfcba = m1;
+      mfcca = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfcbb *  vvy         +  mfcab                  * (c1o1 - vy2)              - c2o9 * oMdrho * vy2; 
+      m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcab = m0;
+      mfcbb = m1;
+      mfccb = m2;
+      /////////c//////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfcbc *  vvy         +  mfcac                   * (c1o1 - vy2)              - c1o18 * oMdrho * vy2; 
+      m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+      mfcac = m0;
+      mfcbc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+      ////////////////////////////////////////////////////////////////////////////////////
+      // X - Dir
+      m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcaa        - c2o1 * mfbaa *  vvx         +  mfaaa                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaaa = m0;
+      mfbaa = m1;
+      mfcaa = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcba        - c2o1 * mfbba *  vvx         +  mfaba                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaba = m0;
+      mfbba = m1;
+      mfcba = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcca        - c2o1 * mfbca *  vvx         +  mfaca                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaca = m0;
+      mfbca = m1;
+      mfcca = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcab        - c2o1 * mfbab *  vvx         +  mfaab                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaab = m0;
+      mfbab = m1;
+      mfcab = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbb        - c2o1 * mfbbb *  vvx         +  mfabb                  * (c1o1 - vx2)              - c4o9 * oMdrho * vx2; 
+      m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabb = m0;
+      mfbbb = m1;
+      mfcbb = m2;
+      ///////////b////////////////////////////////////////////////////////////////////////
+      m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccb        - c2o1 * mfbcb *  vvx         +  mfacb                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacb = m0;
+      mfbcb = m1;
+      mfccb = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////////
+      m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcac        - c2o1 * mfbac *  vvx         +  mfaac                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfaac = m0;
+      mfbac = m1;
+      mfcac = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfcbc        - c2o1 * mfbbc *  vvx         +  mfabc                  * (c1o1 - vx2)              - c1o9 * oMdrho * vx2; 
+      m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfabc = m0;
+      mfbbc = m1;
+      mfcbc = m2;
+      ///////////c////////////////////////////////////////////////////////////////////////
+      m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+      m1 = -mfccc        - c2o1 * mfbcc *  vvx         +  mfacc                   * (c1o1 - vx2)              - c1o36 * oMdrho * vx2; 
+      m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+      mfacc = m0;
+      mfbcc = m1;
+      mfccc = m2;
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      //index 0
+      k000 = posC[k];
+      kM00 = neighborCX[k000];
+      k0M0 = neighborCY[k000];
+      k00M = neighborCZ[k000];
+      kMM0 = neighborCY[kM00];
+      kM0M = neighborCZ[kM00];
+      k0MM = neighborCZ[k0M0];
+      kMMM = neighborCZ[kMM0];
+      ////////////////////////////////////////////////////////////////////////////////////
+
+      ////////////////////////////////////////////////////////////////////////////////////
+      (G.g[dP00])[k000] = mgcbb;
+      (G.g[dM00])[kM00] = mgabb;
+      (G.g[d0P0])[k000] = mgbcb;
+      (G.g[d0M0])[k0M0] = mgbab;
+      (G.g[d00P])[k000] = mgbbc;
+      (G.g[d00M])[k00M] = mgbba;
+      ////////////////////////////////////////////////////////////////////////////////////
+      fP00dest[k000] = mfcbb;                                                                 
+      fM00dest[kM00] = mfabb;                                                               
+      f0P0dest[k000] = mfbcb;
+      f0M0dest[k0M0] = mfbab;
+      f00Pdest[k000] = mfbbc;
+      f00Mdest[k00M] = mfbba;
+      fPP0dest[k000] = mfccb;
+      fMM0dest[kMM0] = mfaab;
+      fPM0dest[k0M0] = mfcab;
+      fMP0dest[kM00] = mfacb;
+      fP0Pdest[k000] = mfcbc;
+      fM0Mdest[kM0M] = mfaba;
+      fP0Mdest[k00M] = mfcba;
+      fM0Pdest[kM00] = mfabc;
+      f0PPdest[k000] = mfbcc;
+      f0MMdest[k0MM] = mfbaa;
+      f0PMdest[k00M] = mfbca;
+      f0MPdest[k0M0] = mfbac;
+      f000dest[k000] = mfbbb;
+      fMMMdest[kMMM] = mfaaa;
+      fMMPdest[kMM0] = mfaac;
+      fMPPdest[kM00] = mfacc;
+      fMPMdest[kM0M] = mfaca;
+      fPPMdest[k00M] = mfcca;
+      fPPPdest[k000] = mfccc;
+      fPMPdest[k0M0] = mfcac;
+      fPMMdest[k0MM] = mfcaa;
+      ////////////////////////////////////////////////////////////////////////////////////
    }
 }
 //////////////////////////////////////////////////////////////////////////
diff --git a/src/gpu/core/GPU/GridScaling/scaleCF_compressible.cu b/src/gpu/core/GPU/GridScaling/scaleCF_compressible.cu
index c14def2e9d0749ade216482556cc2a47b04d4b5b..9a4b4e2cf1cc95d43dae915d85aab0aebf3da82d 100644
--- a/src/gpu/core/GPU/GridScaling/scaleCF_compressible.cu
+++ b/src/gpu/core/GPU/GridScaling/scaleCF_compressible.cu
@@ -33,7 +33,6 @@
 
 #include <basics/DataTypes.h>
 #include "LBM/GPUHelperFunctions/KernelUtilities.h"
-#include "LBM/GPUHelperFunctions/ChimeraTransformation.h"
 #include "LBM/GPUHelperFunctions/ScalingUtilities.h"
 
 #include <lbm/refinement/InterpolationCF.h>
diff --git a/src/gpu/core/GPU/GridScaling/scaleFC_compressible.cu b/src/gpu/core/GPU/GridScaling/scaleFC_compressible.cu
index a95f3ed391a4bfe9a0355d9081883c1c674270de..ae83c96f5f8ca14355766653c2ffa1805773fa5e 100644
--- a/src/gpu/core/GPU/GridScaling/scaleFC_compressible.cu
+++ b/src/gpu/core/GPU/GridScaling/scaleFC_compressible.cu
@@ -31,7 +31,6 @@
 //! \author Martin Schoenherr, Anna Wellmann
 //=======================================================================================
 
-#include "LBM/GPUHelperFunctions/ChimeraTransformation.h"
 #include "LBM/GPUHelperFunctions/KernelUtilities.h"
 #include "LBM/GPUHelperFunctions/ScalingUtilities.h"
 
diff --git a/src/gpu/core/GPU/Init27.cu b/src/gpu/core/GPU/Init27.cu
index a2197f6024114e885fca458ebcd082b43ab53cdb..961045d3c91eff5de62eccb68ec3ce8b148ae906 100644
--- a/src/gpu/core/GPU/Init27.cu
+++ b/src/gpu/core/GPU/Init27.cu
@@ -74,7 +74,7 @@ __global__ void LBInit27( int myid,
       if( by == 0 || by == grid_ny-1 || tx == 0 || tx == grid_nx-1 )             
          geoD[k] = GEO_SOLID;
       else if( bz == grid_nz-1 && myid == numprocs - 1 && geoD[k] != GEO_SOLID )
-         geoD[k] = GEO_PRESS;				 
+         geoD[k] = GEO_PRESS;                 
       else if( bz == 0 && myid == 0 && geoD[k] != GEO_SOLID)
          geoD[k] = GEO_SOLID;//GEO_VELO;
    }
@@ -311,50 +311,50 @@ __global__ void LBInitNonEqPartSP27( unsigned int* neighborX,
             unsigned int kbne = kb;
             unsigned int ktne = k;
             unsigned int kbsw = neighborZ[ksw];
-	        //////////////////////////////////////////////////////////////////////////////
-	        //neighbor index
-	        uint kPx   = neighborX[k];
-	        uint kPy   = neighborY[k];
-	        uint kPz   = neighborZ[k];
-	        uint kMxyz = neighborWSB[k];
-	        uint kMx   = neighborZ[neighborY[kMxyz]];
-	        uint kMy   = neighborZ[neighborX[kMxyz]];
-	        uint kMz   = neighborY[neighborX[kMxyz]];
+            //////////////////////////////////////////////////////////////////////////////
+            //neighbor index
+            uint kPx   = neighborX[k];
+            uint kPy   = neighborY[k];
+            uint kPz   = neighborZ[k];
+            uint kMxyz = neighborWSB[k];
+            uint kMx   = neighborZ[neighborY[kMxyz]];
+            uint kMy   = neighborZ[neighborX[kMxyz]];
+            uint kMz   = neighborY[neighborX[kMxyz]];
             //////////////////////////////////////////////////////////////////////////
-	        //getVeloX//
-	        real vx1NeighborPx = ux[kPx];
-	        real vx1NeighborMx = ux[kMx];
-	        real vx1NeighborPy = ux[kPy];
-	        real vx1NeighborMy = ux[kMy];
-	        real vx1NeighborPz = ux[kPz];
-	        real vx1NeighborMz = ux[kMz];
-	        //getVeloY//
-	        real vx2NeighborPx = uy[kPx];
-	        real vx2NeighborMx = uy[kMx];
-	        real vx2NeighborPy = uy[kPy];
-	        real vx2NeighborMy = uy[kMy];
-	        real vx2NeighborPz = uy[kPz];
-	        real vx2NeighborMz = uy[kMz];
-	        //getVeloZ//
-	        real vx3NeighborPx = uz[kPx];
-	        real vx3NeighborMx = uz[kMx];
-	        real vx3NeighborPy = uz[kPy];
-	        real vx3NeighborMy = uz[kMy];
-	        real vx3NeighborPz = uz[kPz];
-	        real vx3NeighborMz = uz[kMz];
+            //getVeloX//
+            real vx1NeighborPx = ux[kPx];
+            real vx1NeighborMx = ux[kMx];
+            real vx1NeighborPy = ux[kPy];
+            real vx1NeighborMy = ux[kMy];
+            real vx1NeighborPz = ux[kPz];
+            real vx1NeighborMz = ux[kMz];
+            //getVeloY//
+            real vx2NeighborPx = uy[kPx];
+            real vx2NeighborMx = uy[kMx];
+            real vx2NeighborPy = uy[kPy];
+            real vx2NeighborMy = uy[kMy];
+            real vx2NeighborPz = uy[kPz];
+            real vx2NeighborMz = uy[kMz];
+            //getVeloZ//
+            real vx3NeighborPx = uz[kPx];
+            real vx3NeighborMx = uz[kMx];
+            real vx3NeighborPy = uz[kPy];
+            real vx3NeighborMy = uz[kMy];
+            real vx3NeighborPz = uz[kPz];
+            real vx3NeighborMz = uz[kMz];
             //////////////////////////////////////////////////////////////////////////
 
-	        real dvx1dx = (vx1NeighborPx - vx1NeighborMx) / c2o1;
-	        real dvx1dy = (vx1NeighborPy - vx1NeighborMy) / c2o1;
-	        real dvx1dz = (vx1NeighborPz - vx1NeighborMz) / c2o1;
+            real dvx1dx = (vx1NeighborPx - vx1NeighborMx) / c2o1;
+            real dvx1dy = (vx1NeighborPy - vx1NeighborMy) / c2o1;
+            real dvx1dz = (vx1NeighborPz - vx1NeighborMz) / c2o1;
 
-	        real dvx2dx = (vx2NeighborPx - vx2NeighborMx) / c2o1;
-	        real dvx2dy = (vx2NeighborPy - vx2NeighborMy) / c2o1;
-	        real dvx2dz = (vx2NeighborPz - vx2NeighborMz) / c2o1;
+            real dvx2dx = (vx2NeighborPx - vx2NeighborMx) / c2o1;
+            real dvx2dy = (vx2NeighborPy - vx2NeighborMy) / c2o1;
+            real dvx2dz = (vx2NeighborPz - vx2NeighborMz) / c2o1;
 
-	        real dvx3dx = (vx3NeighborPx - vx3NeighborMx) / c2o1;
-	        real dvx3dy = (vx3NeighborPy - vx3NeighborMy) / c2o1;
-	        real dvx3dz = (vx3NeighborPz - vx3NeighborMz) / c2o1;
+            real dvx3dx = (vx3NeighborPx - vx3NeighborMx) / c2o1;
+            real dvx3dy = (vx3NeighborPy - vx3NeighborMy) / c2o1;
+            real dvx3dz = (vx3NeighborPz - vx3NeighborMz) / c2o1;
 
             //////////////////////////////////////////////////////////////////////////
 
@@ -456,15 +456,15 @@ __global__ void LBInitNonEqPartSP27( unsigned int* neighborX,
 
             //////////////////////////////////////////////////////////////////////////
         }
-	    else
-	    {
-		    //////////////////////////////////////////////////////////////////////////
-		    Distributions27 D;
-		    D.f[d000] = &DD[d000 * numberOfLBnodes];
-		    //////////////////////////////////////////////////////////////////////////
-		    (D.f[d000])[k] = c96o1;
-		    //////////////////////////////////////////////////////////////////////////
-	    }
+        else
+        {
+            //////////////////////////////////////////////////////////////////////////
+            Distributions27 D;
+            D.f[d000] = &DD[d000 * numberOfLBnodes];
+            //////////////////////////////////////////////////////////////////////////
+            (D.f[d000])[k] = c96o1;
+            //////////////////////////////////////////////////////////////////////////
+        }
    }
 }
 
diff --git a/src/gpu/core/GPU/InitAdvectionDiffusion27.cu b/src/gpu/core/GPU/InitAdvectionDiffusion27.cu
index c58e4fd5a710562ad26d6bb74b3f0bb26749cb9b..8e2118e25f0337cc0d3fb8898ea26dab74ad15c5 100644
--- a/src/gpu/core/GPU/InitAdvectionDiffusion27.cu
+++ b/src/gpu/core/GPU/InitAdvectionDiffusion27.cu
@@ -39,172 +39,172 @@ using namespace vf::basics::constant;
 using namespace vf::lbm::dir;
 
 __global__ void InitAD27(
-	uint* neighborX,
-	uint* neighborY,
-	uint* neighborZ,
-	uint* typeOfGridNode,
-	real* concentration,
-	real* velocityX,
-	real* velocityY,
-	real* velocityZ,
-	unsigned long long numberOfLBnodes,
-	real* distributionsAD,
-	bool isEvenTimestep)
+    uint* neighborX,
+    uint* neighborY,
+    uint* neighborZ,
+    uint* typeOfGridNode,
+    real* concentration,
+    real* velocityX,
+    real* velocityY,
+    real* velocityZ,
+    unsigned long long numberOfLBnodes,
+    real* distributionsAD,
+    bool isEvenTimestep)
 {
-	//////////////////////////////////////////////////////////////////////////
-	//! The initialization is executed in the following steps
-	//!
-	////////////////////////////////////////////////////////////////////////////////
-	//! - Get node index coordinates from threadIdx, blockIdx, blockDim and gridDim.
-	//!
-	const unsigned  x = threadIdx.x;  // Globaler x-Index
-	const unsigned  y = blockIdx.x;   // Globaler y-Index
-	const unsigned  z = blockIdx.y;   // Globaler z-Index
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-
-	//////////////////////////////////////////////////////////////////////////
-	// run for all indices in size_Mat and fluid nodes
-	if ((k < numberOfLBnodes) && (typeOfGridNode[k] == GEO_FLUID))
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//! - Read distributions: style of reading and writing the distributions from/to stored arrays dependent on timestep is based on the esoteric twist algorithm \ref
-		//! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), DOI:10.3390/computation5020019 ]</b></a>
-		//!
-		Distributions27 distAD;
-		if (isEvenTimestep)
-		{
-			distAD.f[dP00] = &distributionsAD[dP00 * numberOfLBnodes];
-			distAD.f[dM00] = &distributionsAD[dM00 * numberOfLBnodes];
-			distAD.f[d0P0] = &distributionsAD[d0P0 * numberOfLBnodes];
-			distAD.f[d0M0] = &distributionsAD[d0M0 * numberOfLBnodes];
-			distAD.f[d00P] = &distributionsAD[d00P * numberOfLBnodes];
-			distAD.f[d00M] = &distributionsAD[d00M * numberOfLBnodes];
-			distAD.f[dPP0] = &distributionsAD[dPP0 * numberOfLBnodes];
-			distAD.f[dMM0] = &distributionsAD[dMM0 * numberOfLBnodes];
-			distAD.f[dPM0] = &distributionsAD[dPM0 * numberOfLBnodes];
-			distAD.f[dMP0] = &distributionsAD[dMP0 * numberOfLBnodes];
-			distAD.f[dP0P] = &distributionsAD[dP0P * numberOfLBnodes];
-			distAD.f[dM0M] = &distributionsAD[dM0M * numberOfLBnodes];
-			distAD.f[dP0M] = &distributionsAD[dP0M * numberOfLBnodes];
-			distAD.f[dM0P] = &distributionsAD[dM0P * numberOfLBnodes];
-			distAD.f[d0PP] = &distributionsAD[d0PP * numberOfLBnodes];
-			distAD.f[d0MM] = &distributionsAD[d0MM * numberOfLBnodes];
-			distAD.f[d0PM] = &distributionsAD[d0PM * numberOfLBnodes];
-			distAD.f[d0MP] = &distributionsAD[d0MP * numberOfLBnodes];
-			distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
-			distAD.f[dPPP] = &distributionsAD[dPPP * numberOfLBnodes];
-			distAD.f[dMMP] = &distributionsAD[dMMP * numberOfLBnodes];
-			distAD.f[dPMP] = &distributionsAD[dPMP * numberOfLBnodes];
-			distAD.f[dMPP] = &distributionsAD[dMPP * numberOfLBnodes];
-			distAD.f[dPPM] = &distributionsAD[dPPM * numberOfLBnodes];
-			distAD.f[dMMM] = &distributionsAD[dMMM * numberOfLBnodes];
-			distAD.f[dPMM] = &distributionsAD[dPMM * numberOfLBnodes];
-			distAD.f[dMPM] = &distributionsAD[dMPM * numberOfLBnodes];
-		}
-		else
-		{
-			distAD.f[dM00] = &distributionsAD[dP00 * numberOfLBnodes];
-			distAD.f[dP00] = &distributionsAD[dM00 * numberOfLBnodes];
-			distAD.f[d0M0] = &distributionsAD[d0P0 * numberOfLBnodes];
-			distAD.f[d0P0] = &distributionsAD[d0M0 * numberOfLBnodes];
-			distAD.f[d00M] = &distributionsAD[d00P * numberOfLBnodes];
-			distAD.f[d00P] = &distributionsAD[d00M * numberOfLBnodes];
-			distAD.f[dMM0] = &distributionsAD[dPP0 * numberOfLBnodes];
-			distAD.f[dPP0] = &distributionsAD[dMM0 * numberOfLBnodes];
-			distAD.f[dMP0] = &distributionsAD[dPM0 * numberOfLBnodes];
-			distAD.f[dPM0] = &distributionsAD[dMP0 * numberOfLBnodes];
-			distAD.f[dM0M] = &distributionsAD[dP0P * numberOfLBnodes];
-			distAD.f[dP0P] = &distributionsAD[dM0M * numberOfLBnodes];
-			distAD.f[dM0P] = &distributionsAD[dP0M * numberOfLBnodes];
-			distAD.f[dP0M] = &distributionsAD[dM0P * numberOfLBnodes];
-			distAD.f[d0MM] = &distributionsAD[d0PP * numberOfLBnodes];
-			distAD.f[d0PP] = &distributionsAD[d0MM * numberOfLBnodes];
-			distAD.f[d0MP] = &distributionsAD[d0PM * numberOfLBnodes];
-			distAD.f[d0PM] = &distributionsAD[d0MP * numberOfLBnodes];
-			distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
-			distAD.f[dMMM] = &distributionsAD[dPPP * numberOfLBnodes];
-			distAD.f[dPPM] = &distributionsAD[dMMP * numberOfLBnodes];
-			distAD.f[dMPM] = &distributionsAD[dPMP * numberOfLBnodes];
-			distAD.f[dPMM] = &distributionsAD[dMPP * numberOfLBnodes];
-			distAD.f[dMMP] = &distributionsAD[dPPM * numberOfLBnodes];
-			distAD.f[dPPP] = &distributionsAD[dMMM * numberOfLBnodes];
-			distAD.f[dMPP] = &distributionsAD[dPMM * numberOfLBnodes];
-			distAD.f[dPMP] = &distributionsAD[dMPM * numberOfLBnodes];
-		}
-		//////////////////////////////////////////////////////////////////////////
-		//! - Set local velocities and concetration
-		//!
-		real conc = concentration[k];
-		real  vx1 = velocityX[k];
-		real  vx2 = velocityY[k];
-		real  vx3 = velocityZ[k];
-		//////////////////////////////////////////////////////////////////////////
-		//! - Set neighbor indices (necessary for indirect addressing)
-		//!
-		uint kzero = k;
-		uint ke    = k;
-		uint kw    = neighborX[k];
-		uint kn    = k;
-		uint ks    = neighborY[k];
-		uint kt    = k;
-		uint kb    = neighborZ[k];
-		uint ksw   = neighborY[kw];
-		uint kne   = k;
-		uint kse   = ks;
-		uint knw   = kw;
-		uint kbw   = neighborZ[kw];
-		uint kte   = k;
-		uint kbe   = kb;
-		uint ktw   = kw;
-		uint kbs   = neighborZ[ks];
-		uint ktn   = k;
-		uint kbn   = kb;
-		uint kts   = ks;
-		uint ktse  = ks;
-		uint kbnw  = kbw;
-		uint ktnw  = kw;
-		uint kbse  = kbs;
-		uint ktsw  = ksw;
-		uint kbne  = kb;
-		uint ktne  = k;
-		uint kbsw  = neighborZ[ksw];
-		//////////////////////////////////////////////////////////////////////////
-		//! - Calculate the equilibrium and set the distributions
-		//!
-		real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
-
-		(distAD.f[d000])[kzero] = c8o27  * conc * (c1o1 - cu_sq);
-		(distAD.f[dP00])[ke   ] = c2o27  * conc * (c1o1 + c3o1 * ( vx1            ) + c9o2 * ( vx1            ) * ( vx1            ) - cu_sq);
-		(distAD.f[dM00])[kw   ] = c2o27  * conc * (c1o1 + c3o1 * (-vx1            ) + c9o2 * (-vx1            ) * (-vx1            ) - cu_sq);
-		(distAD.f[d0P0])[kn   ] = c2o27  * conc * (c1o1 + c3o1 * (       vx2      ) + c9o2 * (       vx2      ) * (       vx2      ) - cu_sq);
-		(distAD.f[d0M0])[ks   ] = c2o27  * conc * (c1o1 + c3o1 * (     - vx2      ) + c9o2 * (     - vx2      ) * (     - vx2      ) - cu_sq);
-		(distAD.f[d00P])[kt   ] = c2o27  * conc * (c1o1 + c3o1 * (             vx3) + c9o2 * (             vx3) * (             vx3) - cu_sq);
-		(distAD.f[d00M])[kb   ] = c2o27  * conc * (c1o1 + c3o1 * (           - vx3) + c9o2 * (           - vx3) * (           - vx3) - cu_sq);
-		(distAD.f[dPP0])[kne  ] = c1o54  * conc * (c1o1 + c3o1 * ( vx1 + vx2      ) + c9o2 * ( vx1 + vx2      ) * ( vx1 + vx2      ) - cu_sq);
-		(distAD.f[dMM0])[ksw  ] = c1o54  * conc * (c1o1 + c3o1 * (-vx1 - vx2      ) + c9o2 * (-vx1 - vx2      ) * (-vx1 - vx2      ) - cu_sq);
-		(distAD.f[dPM0])[kse  ] = c1o54  * conc * (c1o1 + c3o1 * ( vx1 - vx2      ) + c9o2 * ( vx1 - vx2      ) * ( vx1 - vx2      ) - cu_sq);
-		(distAD.f[dMP0])[knw  ] = c1o54  * conc * (c1o1 + c3o1 * (-vx1 + vx2      ) + c9o2 * (-vx1 + vx2      ) * (-vx1 + vx2      ) - cu_sq);
-		(distAD.f[dP0P])[kte  ] = c1o54  * conc * (c1o1 + c3o1 * ( vx1       + vx3) + c9o2 * ( vx1       + vx3) * ( vx1       + vx3) - cu_sq);
-		(distAD.f[dM0M])[kbw  ] = c1o54  * conc * (c1o1 + c3o1 * (-vx1       - vx3) + c9o2 * (-vx1       - vx3) * (-vx1       - vx3) - cu_sq);
-		(distAD.f[dP0M])[kbe  ] = c1o54  * conc * (c1o1 + c3o1 * ( vx1       - vx3) + c9o2 * ( vx1       - vx3) * ( vx1       - vx3) - cu_sq);
-		(distAD.f[dM0P])[ktw  ] = c1o54  * conc * (c1o1 + c3o1 * (-vx1       + vx3) + c9o2 * (-vx1       + vx3) * (-vx1       + vx3) - cu_sq);
-		(distAD.f[d0PP])[ktn  ] = c1o54  * conc * (c1o1 + c3o1 * (       vx2 + vx3) + c9o2 * (       vx2 + vx3) * (       vx2 + vx3) - cu_sq);
-		(distAD.f[d0MM])[kbs  ] = c1o54  * conc * (c1o1 + c3o1 * (     - vx2 - vx3) + c9o2 * (     - vx2 - vx3) * (     - vx2 - vx3) - cu_sq);
-		(distAD.f[d0PM])[kbn  ] = c1o54  * conc * (c1o1 + c3o1 * (       vx2 - vx3) + c9o2 * (       vx2 - vx3) * (       vx2 - vx3) - cu_sq);
-		(distAD.f[d0MP])[kts  ] = c1o54  * conc * (c1o1 + c3o1 * (     - vx2 + vx3) + c9o2 * (     - vx2 + vx3) * (     - vx2 + vx3) - cu_sq);
-		(distAD.f[dPPP])[ktne ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 + vx2 + vx3) + c9o2 * ( vx1 + vx2 + vx3) * ( vx1 + vx2 + vx3) - cu_sq);
-		(distAD.f[dMMM])[kbsw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 - vx2 - vx3) + c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq);
-		(distAD.f[dPPM])[kbne ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 + vx2 - vx3) + c9o2 * ( vx1 + vx2 - vx3) * ( vx1 + vx2 - vx3) - cu_sq);
-		(distAD.f[dMMP])[ktsw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 - vx2 + vx3) + c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq);
-		(distAD.f[dPMP])[ktse ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 - vx2 + vx3) + c9o2 * ( vx1 - vx2 + vx3) * ( vx1 - vx2 + vx3) - cu_sq);
-		(distAD.f[dMPM])[kbnw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 + vx2 - vx3) + c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq);
-		(distAD.f[dPMM])[kbse ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 - vx2 - vx3) + c9o2 * ( vx1 - vx2 - vx3) * ( vx1 - vx2 - vx3) - cu_sq);
-		(distAD.f[dMPP])[ktnw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 + vx2 + vx3) + c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq);
-	}
+    //////////////////////////////////////////////////////////////////////////
+    //! The initialization is executed in the following steps
+    //!
+    ////////////////////////////////////////////////////////////////////////////////
+    //! - Get node index coordinates from threadIdx, blockIdx, blockDim and gridDim.
+    //!
+    const unsigned  x = threadIdx.x;  // Globaler x-Index
+    const unsigned  y = blockIdx.x;   // Globaler y-Index
+    const unsigned  z = blockIdx.y;   // Globaler z-Index
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+
+    //////////////////////////////////////////////////////////////////////////
+    // run for all indices in size_Mat and fluid nodes
+    if ((k < numberOfLBnodes) && (typeOfGridNode[k] == GEO_FLUID))
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //! - Read distributions: style of reading and writing the distributions from/to stored arrays dependent on timestep is based on the esoteric twist algorithm \ref
+        //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), DOI:10.3390/computation5020019 ]</b></a>
+        //!
+        Distributions27 distAD;
+        if (isEvenTimestep)
+        {
+            distAD.f[dP00] = &distributionsAD[dP00 * numberOfLBnodes];
+            distAD.f[dM00] = &distributionsAD[dM00 * numberOfLBnodes];
+            distAD.f[d0P0] = &distributionsAD[d0P0 * numberOfLBnodes];
+            distAD.f[d0M0] = &distributionsAD[d0M0 * numberOfLBnodes];
+            distAD.f[d00P] = &distributionsAD[d00P * numberOfLBnodes];
+            distAD.f[d00M] = &distributionsAD[d00M * numberOfLBnodes];
+            distAD.f[dPP0] = &distributionsAD[dPP0 * numberOfLBnodes];
+            distAD.f[dMM0] = &distributionsAD[dMM0 * numberOfLBnodes];
+            distAD.f[dPM0] = &distributionsAD[dPM0 * numberOfLBnodes];
+            distAD.f[dMP0] = &distributionsAD[dMP0 * numberOfLBnodes];
+            distAD.f[dP0P] = &distributionsAD[dP0P * numberOfLBnodes];
+            distAD.f[dM0M] = &distributionsAD[dM0M * numberOfLBnodes];
+            distAD.f[dP0M] = &distributionsAD[dP0M * numberOfLBnodes];
+            distAD.f[dM0P] = &distributionsAD[dM0P * numberOfLBnodes];
+            distAD.f[d0PP] = &distributionsAD[d0PP * numberOfLBnodes];
+            distAD.f[d0MM] = &distributionsAD[d0MM * numberOfLBnodes];
+            distAD.f[d0PM] = &distributionsAD[d0PM * numberOfLBnodes];
+            distAD.f[d0MP] = &distributionsAD[d0MP * numberOfLBnodes];
+            distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
+            distAD.f[dPPP] = &distributionsAD[dPPP * numberOfLBnodes];
+            distAD.f[dMMP] = &distributionsAD[dMMP * numberOfLBnodes];
+            distAD.f[dPMP] = &distributionsAD[dPMP * numberOfLBnodes];
+            distAD.f[dMPP] = &distributionsAD[dMPP * numberOfLBnodes];
+            distAD.f[dPPM] = &distributionsAD[dPPM * numberOfLBnodes];
+            distAD.f[dMMM] = &distributionsAD[dMMM * numberOfLBnodes];
+            distAD.f[dPMM] = &distributionsAD[dPMM * numberOfLBnodes];
+            distAD.f[dMPM] = &distributionsAD[dMPM * numberOfLBnodes];
+        }
+        else
+        {
+            distAD.f[dM00] = &distributionsAD[dP00 * numberOfLBnodes];
+            distAD.f[dP00] = &distributionsAD[dM00 * numberOfLBnodes];
+            distAD.f[d0M0] = &distributionsAD[d0P0 * numberOfLBnodes];
+            distAD.f[d0P0] = &distributionsAD[d0M0 * numberOfLBnodes];
+            distAD.f[d00M] = &distributionsAD[d00P * numberOfLBnodes];
+            distAD.f[d00P] = &distributionsAD[d00M * numberOfLBnodes];
+            distAD.f[dMM0] = &distributionsAD[dPP0 * numberOfLBnodes];
+            distAD.f[dPP0] = &distributionsAD[dMM0 * numberOfLBnodes];
+            distAD.f[dMP0] = &distributionsAD[dPM0 * numberOfLBnodes];
+            distAD.f[dPM0] = &distributionsAD[dMP0 * numberOfLBnodes];
+            distAD.f[dM0M] = &distributionsAD[dP0P * numberOfLBnodes];
+            distAD.f[dP0P] = &distributionsAD[dM0M * numberOfLBnodes];
+            distAD.f[dM0P] = &distributionsAD[dP0M * numberOfLBnodes];
+            distAD.f[dP0M] = &distributionsAD[dM0P * numberOfLBnodes];
+            distAD.f[d0MM] = &distributionsAD[d0PP * numberOfLBnodes];
+            distAD.f[d0PP] = &distributionsAD[d0MM * numberOfLBnodes];
+            distAD.f[d0MP] = &distributionsAD[d0PM * numberOfLBnodes];
+            distAD.f[d0PM] = &distributionsAD[d0MP * numberOfLBnodes];
+            distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
+            distAD.f[dMMM] = &distributionsAD[dPPP * numberOfLBnodes];
+            distAD.f[dPPM] = &distributionsAD[dMMP * numberOfLBnodes];
+            distAD.f[dMPM] = &distributionsAD[dPMP * numberOfLBnodes];
+            distAD.f[dPMM] = &distributionsAD[dMPP * numberOfLBnodes];
+            distAD.f[dMMP] = &distributionsAD[dPPM * numberOfLBnodes];
+            distAD.f[dPPP] = &distributionsAD[dMMM * numberOfLBnodes];
+            distAD.f[dMPP] = &distributionsAD[dPMM * numberOfLBnodes];
+            distAD.f[dPMP] = &distributionsAD[dMPM * numberOfLBnodes];
+        }
+        //////////////////////////////////////////////////////////////////////////
+        //! - Set local velocities and concetration
+        //!
+        real conc = concentration[k];
+        real  vx1 = velocityX[k];
+        real  vx2 = velocityY[k];
+        real  vx3 = velocityZ[k];
+        //////////////////////////////////////////////////////////////////////////
+        //! - Set neighbor indices (necessary for indirect addressing)
+        //!
+        uint kzero = k;
+        uint ke    = k;
+        uint kw    = neighborX[k];
+        uint kn    = k;
+        uint ks    = neighborY[k];
+        uint kt    = k;
+        uint kb    = neighborZ[k];
+        uint ksw   = neighborY[kw];
+        uint kne   = k;
+        uint kse   = ks;
+        uint knw   = kw;
+        uint kbw   = neighborZ[kw];
+        uint kte   = k;
+        uint kbe   = kb;
+        uint ktw   = kw;
+        uint kbs   = neighborZ[ks];
+        uint ktn   = k;
+        uint kbn   = kb;
+        uint kts   = ks;
+        uint ktse  = ks;
+        uint kbnw  = kbw;
+        uint ktnw  = kw;
+        uint kbse  = kbs;
+        uint ktsw  = ksw;
+        uint kbne  = kb;
+        uint ktne  = k;
+        uint kbsw  = neighborZ[ksw];
+        //////////////////////////////////////////////////////////////////////////
+        //! - Calculate the equilibrium and set the distributions
+        //!
+        real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
+
+        (distAD.f[d000])[kzero] = c8o27  * conc * (c1o1 - cu_sq);
+        (distAD.f[dP00])[ke   ] = c2o27  * conc * (c1o1 + c3o1 * ( vx1            ) + c9o2 * ( vx1            ) * ( vx1            ) - cu_sq);
+        (distAD.f[dM00])[kw   ] = c2o27  * conc * (c1o1 + c3o1 * (-vx1            ) + c9o2 * (-vx1            ) * (-vx1            ) - cu_sq);
+        (distAD.f[d0P0])[kn   ] = c2o27  * conc * (c1o1 + c3o1 * (       vx2      ) + c9o2 * (       vx2      ) * (       vx2      ) - cu_sq);
+        (distAD.f[d0M0])[ks   ] = c2o27  * conc * (c1o1 + c3o1 * (     - vx2      ) + c9o2 * (     - vx2      ) * (     - vx2      ) - cu_sq);
+        (distAD.f[d00P])[kt   ] = c2o27  * conc * (c1o1 + c3o1 * (             vx3) + c9o2 * (             vx3) * (             vx3) - cu_sq);
+        (distAD.f[d00M])[kb   ] = c2o27  * conc * (c1o1 + c3o1 * (           - vx3) + c9o2 * (           - vx3) * (           - vx3) - cu_sq);
+        (distAD.f[dPP0])[kne  ] = c1o54  * conc * (c1o1 + c3o1 * ( vx1 + vx2      ) + c9o2 * ( vx1 + vx2      ) * ( vx1 + vx2      ) - cu_sq);
+        (distAD.f[dMM0])[ksw  ] = c1o54  * conc * (c1o1 + c3o1 * (-vx1 - vx2      ) + c9o2 * (-vx1 - vx2      ) * (-vx1 - vx2      ) - cu_sq);
+        (distAD.f[dPM0])[kse  ] = c1o54  * conc * (c1o1 + c3o1 * ( vx1 - vx2      ) + c9o2 * ( vx1 - vx2      ) * ( vx1 - vx2      ) - cu_sq);
+        (distAD.f[dMP0])[knw  ] = c1o54  * conc * (c1o1 + c3o1 * (-vx1 + vx2      ) + c9o2 * (-vx1 + vx2      ) * (-vx1 + vx2      ) - cu_sq);
+        (distAD.f[dP0P])[kte  ] = c1o54  * conc * (c1o1 + c3o1 * ( vx1       + vx3) + c9o2 * ( vx1       + vx3) * ( vx1       + vx3) - cu_sq);
+        (distAD.f[dM0M])[kbw  ] = c1o54  * conc * (c1o1 + c3o1 * (-vx1       - vx3) + c9o2 * (-vx1       - vx3) * (-vx1       - vx3) - cu_sq);
+        (distAD.f[dP0M])[kbe  ] = c1o54  * conc * (c1o1 + c3o1 * ( vx1       - vx3) + c9o2 * ( vx1       - vx3) * ( vx1       - vx3) - cu_sq);
+        (distAD.f[dM0P])[ktw  ] = c1o54  * conc * (c1o1 + c3o1 * (-vx1       + vx3) + c9o2 * (-vx1       + vx3) * (-vx1       + vx3) - cu_sq);
+        (distAD.f[d0PP])[ktn  ] = c1o54  * conc * (c1o1 + c3o1 * (       vx2 + vx3) + c9o2 * (       vx2 + vx3) * (       vx2 + vx3) - cu_sq);
+        (distAD.f[d0MM])[kbs  ] = c1o54  * conc * (c1o1 + c3o1 * (     - vx2 - vx3) + c9o2 * (     - vx2 - vx3) * (     - vx2 - vx3) - cu_sq);
+        (distAD.f[d0PM])[kbn  ] = c1o54  * conc * (c1o1 + c3o1 * (       vx2 - vx3) + c9o2 * (       vx2 - vx3) * (       vx2 - vx3) - cu_sq);
+        (distAD.f[d0MP])[kts  ] = c1o54  * conc * (c1o1 + c3o1 * (     - vx2 + vx3) + c9o2 * (     - vx2 + vx3) * (     - vx2 + vx3) - cu_sq);
+        (distAD.f[dPPP])[ktne ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 + vx2 + vx3) + c9o2 * ( vx1 + vx2 + vx3) * ( vx1 + vx2 + vx3) - cu_sq);
+        (distAD.f[dMMM])[kbsw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 - vx2 - vx3) + c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq);
+        (distAD.f[dPPM])[kbne ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 + vx2 - vx3) + c9o2 * ( vx1 + vx2 - vx3) * ( vx1 + vx2 - vx3) - cu_sq);
+        (distAD.f[dMMP])[ktsw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 - vx2 + vx3) + c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq);
+        (distAD.f[dPMP])[ktse ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 - vx2 + vx3) + c9o2 * ( vx1 - vx2 + vx3) * ( vx1 - vx2 + vx3) - cu_sq);
+        (distAD.f[dMPM])[kbnw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 + vx2 - vx3) + c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq);
+        (distAD.f[dPMM])[kbse ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 - vx2 - vx3) + c9o2 * ( vx1 - vx2 - vx3) * ( vx1 - vx2 - vx3) - cu_sq);
+        (distAD.f[dMPP])[ktnw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 + vx2 + vx3) + c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq);
+    }
 }
 
 
diff --git a/src/gpu/core/GPU/KineticEnergyAnalyzer.cu b/src/gpu/core/GPU/KineticEnergyAnalyzer.cu
index 59b1b6494479e256e910d750e239d707573e2f71..05633b8a8acb4fa63a20b7cf30624dd15bb742e9 100644
--- a/src/gpu/core/GPU/KineticEnergyAnalyzer.cu
+++ b/src/gpu/core/GPU/KineticEnergyAnalyzer.cu
@@ -34,7 +34,7 @@ bool KineticEnergyAnalyzer::run(uint iter)
 {
     if( iter % this->analyzeIter != 0 ) return false;
 
-	int lev = 0;
+    int lev = 0;
     vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(lev)->numberofthreads, para->getParD(lev)->numberOfNodes);
 
     thrust::device_vector<real> kineticEnergy( this->para->getParD(lev)->numberOfNodes, c0o1);
@@ -72,7 +72,7 @@ bool KineticEnergyAnalyzer::run(uint iter)
 
     getLastCudaError("kineticEnergyKernel execution failed");
 
-	 real EKin               = thrust::reduce(kineticEnergy.begin(), kineticEnergy.end(), c0o1, thrust::plus<real>());
+     real EKin               = thrust::reduce(kineticEnergy.begin(), kineticEnergy.end(), c0o1, thrust::plus<real>());
      uint numberOfFluidNodes = thrust::reduce(isFluid.begin(),       isFluid.end(),       0,    thrust::plus<uint>());
 
     //std::cout << "EKin " << EKin << "   " << numberOfFluidNodes << std::endl;
@@ -96,16 +96,16 @@ __global__ void kineticEnergyKernel(real* vx, real* vy, real* vz, real* rho, uin
     const uint ny = gridDim.x;
 
     const uint index = nx*(ny*z + y) + x;
-	////////////////////////////////////////////////////////////////////////////////
+    ////////////////////////////////////////////////////////////////////////////////
     //printf("%d\n", index);
 
     //if( index % 34 == 0 || index % 34 == 33 ) return;
 
     if( index >= (uint)numberOfLBnodes) return;
 
-	unsigned int BC;
-	BC = geo[index];
-	if (BC != GEO_FLUID) return;
+    unsigned int BC;
+    BC = geo[index];
+    if (BC != GEO_FLUID) return;
 
     kineticEnergyFunction( vx, vy, vz, rho, neighborX, neighborY, neighborZ, neighborWSB, geo, kineticEnergy, isFluid, index );
 }
@@ -113,15 +113,15 @@ __global__ void kineticEnergyKernel(real* vx, real* vy, real* vz, real* rho, uin
 __host__ __device__ void kineticEnergyFunction(real* vx, real* vy, real* vz, real* rho, uint* neighborX, uint* neighborY, uint* neighborZ, uint* neighborWSB, uint* geo, real* kineticEnergy, uint* isFluid, uint index)
 {
     //////////////////////////////////////////////////////////////////////////////
-	//neighbor index                                
-	uint k     = index;                             
-	uint kPx   = neighborX[k];                      if( geo[ kPx   ] != GEO_FLUID ) return;
-	uint kPy   = neighborY[k];                      if( geo[ kPy   ] != GEO_FLUID ) return;
-	uint kPz   = neighborZ[k];                      if( geo[ kPz   ] != GEO_FLUID ) return;
-	uint kMxyz = neighborWSB[k];                    if( geo[ kMxyz ] != GEO_FLUID ) return;
-	uint kMx   = neighborZ[neighborY[kMxyz]];       if( geo[ kMx   ] != GEO_FLUID ) return;
-	uint kMy   = neighborZ[neighborX[kMxyz]];       if( geo[ kMy   ] != GEO_FLUID ) return;
-	uint kMz   = neighborY[neighborX[kMxyz]];       if( geo[ kMz   ] != GEO_FLUID ) return;
+    //neighbor index                                
+    uint k     = index;                             
+    uint kPx   = neighborX[k];                      if( geo[ kPx   ] != GEO_FLUID ) return;
+    uint kPy   = neighborY[k];                      if( geo[ kPy   ] != GEO_FLUID ) return;
+    uint kPz   = neighborZ[k];                      if( geo[ kPz   ] != GEO_FLUID ) return;
+    uint kMxyz = neighborWSB[k];                    if( geo[ kMxyz ] != GEO_FLUID ) return;
+    uint kMx   = neighborZ[neighborY[kMxyz]];       if( geo[ kMx   ] != GEO_FLUID ) return;
+    uint kMy   = neighborZ[neighborX[kMxyz]];       if( geo[ kMy   ] != GEO_FLUID ) return;
+    uint kMz   = neighborY[neighborX[kMxyz]];       if( geo[ kMz   ] != GEO_FLUID ) return;
     //////////////////////////////////////////////////////////////////////////
 
     isFluid[ index ] = 1;
@@ -139,7 +139,7 @@ KineticEnergyAnalyzer::KineticEnergyAnalyzer(SPtr<Parameter> para, uint analyzeI
 
 void KineticEnergyAnalyzer::writeToFile(std::string filename)
 {
-	std::cout << "KineticEnergyAnalyzer::writeToFile( " << filename << " )" << "\n";
+    std::cout << "KineticEnergyAnalyzer::writeToFile( " << filename << " )" << "\n";
 
     std::ofstream file;
 
@@ -150,7 +150,7 @@ void KineticEnergyAnalyzer::writeToFile(std::string filename)
 
     file.close();
 
-	std::cout << "done!\n";
+    std::cout << "done!\n";
 }
 
 
diff --git a/src/gpu/core/GPU/KineticEnergyAnalyzer.h b/src/gpu/core/GPU/KineticEnergyAnalyzer.h
index 0ca95bc1bfd51cce48b9aa8ce248e99b49419523..c55119c2a2c468262b457f6ce317e407cd4e213d 100644
--- a/src/gpu/core/GPU/KineticEnergyAnalyzer.h
+++ b/src/gpu/core/GPU/KineticEnergyAnalyzer.h
@@ -16,7 +16,7 @@ class KineticEnergyAnalyzer
 {
 private:
 
-	SPtr<Parameter> para;
+    SPtr<Parameter> para;
 
     uint analyzeIter;
 
diff --git a/src/gpu/core/GPU/LBMKernel.cu b/src/gpu/core/GPU/LBMKernel.cu
index bd4feab173f90fa214a4657e54cf06ffe6fe1336..19a6a05b1ea0e2cf8b5dcb3db4f455c0e96b6498 100644
--- a/src/gpu/core/GPU/LBMKernel.cu
+++ b/src/gpu/core/GPU/LBMKernel.cu
@@ -19,532 +19,6 @@
 #include "Parameter/Parameter.h"
 #include "Parameter/ParameterRotatingGrid.h"
 
-//////////////////////////////////////////////////////////////////////////
-void KernelCas27(
-    unsigned int grid_nx,
-    unsigned int grid_ny,
-    unsigned int grid_nz,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    dim3 threads       ( grid_nx, 1, 1 );
-    dim3 grid          ( grid_ny, grid_nz );   // Gitter fuer Kollision und Propagation
-
-    LB_Kernel_Casc27<<< grid, threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_Casc27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelCasSP27( 
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    LB_Kernel_Casc_SP_27<<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_Casc_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelCasSPMS27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    LB_Kernel_Casc_SP_MS_27<<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_Casc_SP_MS_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelCasSPMSOHM27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    LB_Kernel_Casc_SP_MS_OHM_27<<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_Casc_SP_MS_OHM_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelKumCompSRTSP27(
-    unsigned int numberOfThreads,
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    LB_Kernel_Kum_New_Comp_SRT_SP_27 <<< grid.grid, grid.threads >>>(
-        omega,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DDStart,
-        numberOfLBnodes,
-        level,
-        forces,
-        EvenOrOdd);
-        getLastCudaError("LB_Kernel_Kum_New_Comp_SRT_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelKum1hSP27(
-    unsigned int numberOfThreads,
-    real omega,
-    real deltaPhi,
-    real angularVelocity,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* coordX,
-    real* coordY,
-    real* coordZ,
-    real* DDStart,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    LB_Kernel_Kum_1h_SP_27<<< grid.grid, grid.threads >>>(
-        omega,
-        deltaPhi,
-        angularVelocity,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        coordX,
-        coordY,
-        coordZ,
-        DDStart,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_Kum_1h_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelCascadeSP27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    LB_Kernel_Cascade_SP_27<<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_Cascade_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelKumNewSP27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-
-    LB_Kernel_Kum_New_SP_27<<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_Kum_New_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelKumNewCompSP27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    int size_Array,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    //LB_Kernel_Kum_New_Comp_SP_27<<< grid.grid, grid.threads >>>(	s9,
-    //													bcMatD,
-    //													neighborX,
-    //													neighborY,
-    //													neighborZ,
-    //													DD,
-    //													numberOfLBnodes,
-    //													level,
-    //													forces,
-    //													EvenOrOdd);
-    //getLastCudaError("LB_Kernel_Kum_New_Comp_SP_27 execution failed");
-}
-
-//////////////////////////////////////////////////////////////////////////
-void CumulantOnePreconditionedErrorDiffusionChimCompSP27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    int size_Array,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    Cumulant_One_preconditioned_errorDiffusion_chim_Comp_SP_27 <<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        level,
-        forces,
-        EvenOrOdd);
-    getLastCudaError("Cumulant_One_preconditioned_chim_Comp_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void CumulantOnePreconditionedChimCompSP27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    int size_Array,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    Cumulant_One_preconditioned_chim_Comp_SP_27 <<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        level,
-        forces,
-        EvenOrOdd);
-    getLastCudaError("Cumulant_One_preconditioned_chim_Comp_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void CumulantOneChimCompSP27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    int size_Array,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    Cumulant_One_chim_Comp_SP_27 <<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        level,
-        forces,
-        EvenOrOdd);
-    getLastCudaError("Cumulant_One_chim_Comp_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelKumIsoTestSP27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    real* dxxUx,
-    real* dyyUy,
-    real* dzzUz,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-   vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    LB_Kernel_Kum_IsoTest_SP_27<<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        dxxUx,
-        dyyUy,
-        dzzUz,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_Kum_IsoTest_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelKumCompSP27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-
-    LB_Kernel_Kum_Comp_SP_27<<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_Kum_Comp_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelPMCumOneCompSP27(
-    unsigned int numberOfThreads,
-    real omega,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    real porosity,
-    real darcy,
-    real forchheimer,
-    unsigned int sizeOfPorousMedia,
-    unsigned int* nodeIdsPorousMedia,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    K15CompressibleNavierStokesPorousMedia_Device <<< grid.grid, grid.threads >>>(
-        omega,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        numberOfLBnodes,
-        level,
-        forces,
-        porosity,
-        darcy,
-        forchheimer,
-        sizeOfPorousMedia,
-        nodeIdsPorousMedia,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_PM_Cum_One_Comp_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelWaleBySoniMalavCumAA2016CompSP27(
-    unsigned int numberOfThreads,
-    real s9,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    unsigned int* neighborWSB,
-    real* veloX,
-    real* veloY,
-    real* veloZ,
-    real* DD,
-    real* turbulentViscosity,
-    unsigned long long numberOfLBnodes,
-    int size_Array,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    LB_Kernel_WaleBySoniMalav_Cum_AA2016_Comp_SP_27 <<< grid.grid, grid.threads >>>(
-        s9,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        neighborWSB,
-        veloX,
-        veloY,
-        veloZ,
-        DD,
-        turbulentViscosity,
-        numberOfLBnodes,
-        level,
-        forces,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_WaleBySoniMalav_Cum_AA2016_Comp_SP_27 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelADincomp7(
-    unsigned int numberOfThreads,
-    real diffusivity,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    real* DD7,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    B12IncompressibleAdvectionDiffusionD3Q7_Device<<< grid.grid, grid.threads >>>(
-        diffusivity,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        DD7,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_AD_Incomp_7 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
-void KernelADincomp27(
-    unsigned int numberOfThreads,
-    real diffusivity,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* DD,
-    real* DD27,
-    unsigned long long numberOfLBnodes,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    F16IncompressibleAdvectionDiffusion_Device<<< grid.grid, grid.threads >>>(
-        diffusivity,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        DD,
-        DD27,
-        numberOfLBnodes,
-        EvenOrOdd);
-    getLastCudaError("LB_Kernel_AD_Incomp_27 execution failed");
-}
 //////////////////////////////////////////////////////////////////////////
 void Init27(
     int myid,
@@ -620,37 +94,6 @@ void InitNonEqPartSP27(
     getLastCudaError("LBInitNonEqPartSP27 execution failed");
 }
 //////////////////////////////////////////////////////////////////////////
-void InitThS7(
-    unsigned int numberOfThreads,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    unsigned int* geoD,
-    real* Conc,
-    real* ux,
-    real* uy,
-    real* uz,
-    unsigned long long numberOfLBnodes,
-    real* DD7,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    InitAD7<<< grid.grid, grid.threads >>>(
-        neighborX,
-        neighborY,
-        neighborZ,
-        geoD,
-        Conc,
-        ux,
-        uy,
-        uz,
-        numberOfLBnodes,
-        DD7,
-        EvenOrOdd);
-    getLastCudaError("InitAD7 execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
 void InitADDev27(
     unsigned int numberOfThreads,
     unsigned int* neighborX,
@@ -682,45 +125,6 @@ void InitADDev27(
     getLastCudaError("InitAD27 execution failed");
 }
 //////////////////////////////////////////////////////////////////////////
-void PostProcessorF3_2018Fehlberg(
-    unsigned int numberOfThreads,
-    real omega,
-    unsigned int* bcMatD,
-    unsigned int* neighborX,
-    unsigned int* neighborY,
-    unsigned int* neighborZ,
-    real* rhoOut,
-    real* vxOut,
-    real* vyOut,
-    real* vzOut,
-    real* DDStart,
-    real* G6,
-    unsigned long long numberOfLBnodes,
-    int level,
-    real* forces,
-    bool EvenOrOdd)
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfLBnodes);
-
-    LB_PostProcessor_F3_2018_Fehlberg <<< grid.grid, grid.threads >>> (
-        omega,
-        bcMatD,
-        neighborX,
-        neighborY,
-        neighborZ,
-        rhoOut,
-        vxOut,
-        vyOut,
-        vzOut,
-        DDStart,
-        G6,
-        numberOfLBnodes,
-        level,
-        forces,
-        EvenOrOdd);
-    getLastCudaError("LB_PostProcessor_F3_2018_Fehlberg execution failed");
-}
-//////////////////////////////////////////////////////////////////////////
 void CalcMac27(
     real* vxD,
     real* vyD,
@@ -1702,38 +1106,6 @@ void QADDev7(
 
 
 //////////////////////////////////////////////////////////////////////////
-// Other advection diffusion kernels are in kernel factory :(
-void FactorizedCentralMomentsAdvectionDiffusionDeviceKernel(
-   uint numberOfThreads,
-   real omegaDiffusivity,
-   uint* typeOfGridNode,
-   uint* neighborX,
-   uint* neighborY,
-   uint* neighborZ,
-   real* distributions,
-   real* distributionsAD,
-   unsigned long long numberOfLBnodes,
-   real* forces,
-   bool isEvenTimestep)
-{
-    int Grid = (numberOfLBnodes / numberOfThreads) + 1;
-    dim3 grid(Grid, 1, 1);
-    dim3 threads(numberOfThreads, 1, 1);
-
-    Factorized_Central_Moments_Advection_Diffusion_Device_Kernel <<< grid, threads >>> (
-        omegaDiffusivity,
-        typeOfGridNode,
-        neighborX,
-        neighborY,
-        neighborZ,
-        distributions,
-        distributionsAD,
-        numberOfLBnodes,
-        forces,
-        isEvenTimestep);
-    getLastCudaError("Factorized_Central_Moments_Advection_Diffusion_Device_Kernel execution failed");
-}
-
 //////////////////////////////////////////////////////////////////////////
 void ADSlipVelDevComp(
     uint numberOfThreads,
diff --git a/src/gpu/core/GPU/NoSlipBCs27.cu b/src/gpu/core/GPU/NoSlipBCs27.cu
index ff98f16ef79fd86c15f57a6a90e32daaa3e07440..1668f33adbded6f0fb324ea7beb424dbe7ffe823 100644
--- a/src/gpu/core/GPU/NoSlipBCs27.cu
+++ b/src/gpu/core/GPU/NoSlipBCs27.cu
@@ -221,8 +221,8 @@ __global__ void QDevice3rdMomentsComp27(
       ////////////////////////////////////////////////////////////////////////////////
       real vx1, vx2, vx3, drho, feq, q, m3;
       drho   =  f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
-				f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
-				f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]); 
+                f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
+                f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]); 
 
       vx1    =  (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
                 ((f_BE - f_TW)   + (f_TE - f_BW))   + ((f_SE - f_NW)   + (f_NE - f_SW)) +
@@ -304,14 +304,14 @@ __global__ void QDevice3rdMomentsComp27(
       //Test
          //(D.f[d000])[k]=c1o10;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  
-	  
-	  //ToDo anders klammern !!!!!!
-	  
+      
+      
+      //ToDo anders klammern !!!!!!
+      
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_E - f_W - c2o1 * drho * c2o27 * (c3o1*( vx1        ));
+         m3 = f_E - f_W - c2o1 * drho * c2o27 * (c3o1*( vx1        ));
          feq=c2o27* (drho/*+three*( vx1        )*/+c9o2*( vx1        )*( vx1        ) * (c1o1 + drho)-cu_sq); 
          (D.f[dM00])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W-m3+(f_E+f_W-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_E+f_W))/(c1o1+q)+(m3*c1o2);
          //(D.f[dM00])[kw]=zero;
@@ -320,7 +320,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_W - f_E - c2o1 * drho * c2o27 * (c3o1*(-vx1        ));
+         m3 = f_W - f_E - c2o1 * drho * c2o27 * (c3o1*(-vx1        ));
          feq=c2o27* (drho/*+three*(-vx1        )*/+c9o2*(-vx1        )*(-vx1        ) * (c1o1 + drho)-cu_sq); 
          (D.f[dP00])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E-m3+(f_W+f_E-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_W+f_E))/(c1o1+q)+(m3*c1o2);
          //(D.f[dP00])[ke]=zero;
@@ -329,7 +329,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_N - f_S - c2o1 * drho * c2o27 * (c3o1*( vx2        ));
+         m3 = f_N - f_S - c2o1 * drho * c2o27 * (c3o1*( vx2        ));
          feq=c2o27* (drho/*+three*(    vx2     )*/+c9o2*(     vx2    )*(     vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[d0M0])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S-m3+(f_N+f_S-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_N+f_S))/(c1o1+q)+(m3*c1o2);
          //(D.f[d0M0])[ks]=zero;
@@ -338,7 +338,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_S - f_N - c2o1 * drho * c2o27 * (c3o1*(   -vx2     ));
+         m3 = f_S - f_N - c2o1 * drho * c2o27 * (c3o1*(   -vx2     ));
          feq=c2o27* (drho/*+three*(   -vx2     )*/+c9o2*(    -vx2    )*(    -vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[d0P0])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N-m3+(f_S+f_N-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_S+f_N))/(c1o1+q)+(m3*c1o2);
          //(D.f[d0P0])[kn]=zero;
@@ -347,7 +347,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirT[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_T - f_B - c2o1 * drho * c2o27 * (c3o1*(         vx3));
+         m3 = f_T - f_B - c2o1 * drho * c2o27 * (c3o1*(         vx3));
          feq=c2o27* (drho/*+three*(         vx3)*/+c9o2*(         vx3)*(         vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d00M])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B-m3+(f_T+f_B-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_T+f_B))/(c1o1+q)+(m3*c1o2);
          //(D.f[d00M])[kb]=one;
@@ -356,7 +356,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirB[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_B - f_T - c2o1 * drho * c2o27 * (c3o1*(        -vx3));
+         m3 = f_B - f_T - c2o1 * drho * c2o27 * (c3o1*(        -vx3));
          feq=c2o27* (drho/*+three*(        -vx3)*/+c9o2*(        -vx3)*(        -vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d00P])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T-m3+(f_B+f_T-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_B+f_T))/(c1o1+q)+(m3*c1o2);
          //(D.f[d00P])[kt]=zero;
@@ -365,7 +365,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_NE - f_SW - c2o1 * drho * c1o54 * (c3o1*( vx1+vx2    ));
+         m3 = f_NE - f_SW - c2o1 * drho * c1o54 * (c3o1*( vx1+vx2    ));
          feq=c1o54* (drho/*+three*( vx1+vx2    )*/+c9o2*( vx1+vx2    )*( vx1+vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dMM0])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW-m3+(f_NE+f_SW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_NE+f_SW))/(c1o1+q)+(m3*c1o2);
          //(D.f[dMM0])[ksw]=zero;
@@ -374,7 +374,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_SW - f_NE - c2o1 * drho * c1o54 * (c3o1*(-vx1-vx2    ));
+         m3 = f_SW - f_NE - c2o1 * drho * c1o54 * (c3o1*(-vx1-vx2    ));
          feq=c1o54* (drho/*+three*(-vx1-vx2    )*/+c9o2*(-vx1-vx2    )*(-vx1-vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dPP0])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE-m3+(f_SW+f_NE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_SW+f_NE))/(c1o1+q)+(m3*c1o2);
          //(D.f[dPP0])[kne]=zero;
@@ -383,7 +383,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_SE - f_NW - c2o1 * drho * c1o54 * (c3o1*( vx1-vx2    ));
+         m3 = f_SE - f_NW - c2o1 * drho * c1o54 * (c3o1*( vx1-vx2    ));
          feq=c1o54* (drho/*+three*( vx1-vx2    )*/+c9o2*( vx1-vx2    )*( vx1-vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dMP0])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW-m3+(f_SE+f_NW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_SE+f_NW))/(c1o1+q)+(m3*c1o2);
          //(D.f[dMP0])[knw]=zero;
@@ -392,7 +392,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_NW - f_SE - c2o1 * drho * c1o54 * (c3o1*(-vx1+vx2    ));
+         m3 = f_NW - f_SE - c2o1 * drho * c1o54 * (c3o1*(-vx1+vx2    ));
          feq=c1o54* (drho/*+three*(-vx1+vx2    )*/+c9o2*(-vx1+vx2    )*(-vx1+vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dPM0])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE-m3+(f_NW+f_SE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_NW+f_SE))/(c1o1+q)+(m3*c1o2);
          //(D.f[dPM0])[kse]=zero;
@@ -401,7 +401,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirTE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_TE - f_BW - c2o1 * drho * c1o54 * (c3o1*( vx1    +vx3));
+         m3 = f_TE - f_BW - c2o1 * drho * c1o54 * (c3o1*( vx1    +vx3));
          feq=c1o54* (drho/*+three*( vx1    +vx3)*/+c9o2*( vx1    +vx3)*( vx1    +vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dM0M])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW-m3+(f_TE+f_BW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TE+f_BW))/(c1o1+q)+(m3*c1o2);
          //(D.f[dM0M])[kbw]=zero;
@@ -410,7 +410,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirBW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_BW - f_TE - c2o1 * drho * c1o54 * (c3o1*(-vx1    -vx3));
+         m3 = f_BW - f_TE - c2o1 * drho * c1o54 * (c3o1*(-vx1    -vx3));
          feq=c1o54* (drho/*+three*(-vx1    -vx3)*/+c9o2*(-vx1    -vx3)*(-vx1    -vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dP0P])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE-m3+(f_BW+f_TE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BW+f_TE))/(c1o1+q)+(m3*c1o2);
          //(D.f[dP0P])[kte]=zero;
@@ -419,7 +419,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirBE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_BE - f_TW - c2o1 * drho * c1o54 * (c3o1*( vx1    -vx3));
+         m3 = f_BE - f_TW - c2o1 * drho * c1o54 * (c3o1*( vx1    -vx3));
          feq=c1o54* (drho/*+three*( vx1    -vx3)*/+c9o2*( vx1    -vx3)*( vx1    -vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dM0P])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW-m3+(f_BE+f_TW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BE+f_TW))/(c1o1+q)+(m3*c1o2);
          //(D.f[dM0P])[ktw]=zero;
@@ -428,7 +428,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirTW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_TW - f_BE - c2o1 * drho * c1o54 * (c3o1*(-vx1    +vx3));
+         m3 = f_TW - f_BE - c2o1 * drho * c1o54 * (c3o1*(-vx1    +vx3));
          feq=c1o54* (drho/*+three*(-vx1    +vx3)*/+c9o2*(-vx1    +vx3)*(-vx1    +vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dP0M])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE-m3+(f_TW+f_BE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TW+f_BE))/(c1o1+q)+(m3*c1o2);
          //(D.f[dP0M])[kbe]=zero;
@@ -437,7 +437,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirTN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_TN - f_BS - c2o1 * drho * c1o54 * (c3o1*(     vx2+vx3));
+         m3 = f_TN - f_BS - c2o1 * drho * c1o54 * (c3o1*(     vx2+vx3));
          feq=c1o54* (drho/*+three*(     vx2+vx3)*/+c9o2*(     vx2+vx3)*(     vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0MM])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS-m3+(f_TN+f_BS-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TN+f_BS))/(c1o1+q)+(m3*c1o2);
          //(D.f[d0MM])[kbs]=zero;
@@ -446,7 +446,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirBS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_BS - f_TN - c2o1 * drho * c1o54 * (c3o1*(    -vx2-vx3));
+         m3 = f_BS - f_TN - c2o1 * drho * c1o54 * (c3o1*(    -vx2-vx3));
          feq=c1o54* (drho/*+three*(    -vx2-vx3)*/+c9o2*(    -vx2-vx3)*(    -vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0PP])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN-m3+(f_BS+f_TN-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BS+f_TN))/(c1o1+q)+(m3*c1o2);
          //(D.f[d0PP])[ktn]=zero;
@@ -455,7 +455,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirBN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_BN - f_TS - c2o1 * drho * c1o54 * (c3o1*(     vx2-vx3));
+         m3 = f_BN - f_TS - c2o1 * drho * c1o54 * (c3o1*(     vx2-vx3));
          feq=c1o54* (drho/*+three*(     vx2-vx3)*/+c9o2*(     vx2-vx3)*(     vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0MP])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS-m3+(f_BN+f_TS-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BN+f_TS))/(c1o1+q)+(m3*c1o2);
          //(D.f[d0MP])[kts]=zero;
@@ -464,7 +464,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirTS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_TS - f_BN - c2o1 * drho * c1o54 * (c3o1*(    -vx2+vx3));
+         m3 = f_TS - f_BN - c2o1 * drho * c1o54 * (c3o1*(    -vx2+vx3));
          feq=c1o54* (drho/*+three*(    -vx2+vx3)*/+c9o2*(    -vx2+vx3)*(    -vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0PM])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN-m3+(f_TS+f_BN-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TS+f_BN))/(c1o1+q)+(m3*c1o2);
          //(D.f[d0PM])[kbn]=zero;
@@ -473,7 +473,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirTNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_TNE - f_BSW - c2o1 * drho * c1o216 * (c3o1*( vx1+vx2+vx3));
+         m3 = f_TNE - f_BSW - c2o1 * drho * c1o216 * (c3o1*( vx1+vx2+vx3));
          feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMMM])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW-m3+(f_TNE+f_BSW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TNE+f_BSW))/(c1o1+q)+(m3*c1o2);
          //(D.f[dMMM])[kbsw]=zero;
@@ -482,7 +482,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirBSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_BSW - f_TNE - c2o1 * drho * c1o216 * (c3o1*(-vx1-vx2-vx3));
+         m3 = f_BSW - f_TNE - c2o1 * drho * c1o216 * (c3o1*(-vx1-vx2-vx3));
          feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPPP])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE-m3+(f_BSW+f_TNE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BSW+f_TNE))/(c1o1+q)+(m3*c1o2);
          //(D.f[dPPP])[ktne]=zero;
@@ -491,7 +491,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirBNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_BNE - f_TSW - c2o1 * drho * c1o216 * (c3o1*( vx1+vx2-vx3));
+         m3 = f_BNE - f_TSW - c2o1 * drho * c1o216 * (c3o1*( vx1+vx2-vx3));
          feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMMP])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW-m3+(f_BNE+f_TSW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BNE+f_TSW))/(c1o1+q)+(m3*c1o2);
          //(D.f[dMMP])[ktsw]=zero;
@@ -500,7 +500,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirTSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_TSW - f_BNE - c2o1 * drho * c1o216 * (c3o1*(-vx1-vx2+vx3));
+         m3 = f_TSW - f_BNE - c2o1 * drho * c1o216 * (c3o1*(-vx1-vx2+vx3));
          feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPPM])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE-m3+(f_TSW+f_BNE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TSW+f_BNE))/(c1o1+q)+(m3*c1o2);
          //(D.f[dPPM])[kbne]=zero;
@@ -509,7 +509,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirTSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_TSE - f_BNW - c2o1 * drho * c1o216 * (c3o1*( vx1-vx2+vx3));
+         m3 = f_TSE - f_BNW - c2o1 * drho * c1o216 * (c3o1*( vx1-vx2+vx3));
          feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMPM])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW-m3+(f_TSE+f_BNW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TSE+f_BNW))/(c1o1+q)+(m3*c1o2);
          //(D.f[dMPM])[kbnw]=zero;
@@ -518,7 +518,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirBNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_BNW - f_TSE - c2o1 * drho * c1o216 * (c3o1*(-vx1+vx2-vx3));
+         m3 = f_BNW - f_TSE - c2o1 * drho * c1o216 * (c3o1*(-vx1+vx2-vx3));
          feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPMP])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE-m3+(f_BNW+f_TSE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BNW+f_TSE))/(c1o1+q)+(m3*c1o2);
          //(D.f[dPMP])[ktse]=zero;
@@ -527,7 +527,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirBSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_BSE - f_TNW - c2o1 * drho * c1o216 * (c3o1*( vx1-vx2-vx3));
+         m3 = f_BSE - f_TNW - c2o1 * drho * c1o216 * (c3o1*( vx1-vx2-vx3));
          feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMPP])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW-m3+(f_BSE+f_TNW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BSE+f_TNW))/(c1o1+q)+(m3*c1o2);
          //(D.f[dMPP])[ktnw]=zero;
@@ -536,7 +536,7 @@ __global__ void QDevice3rdMomentsComp27(
       q = q_dirTNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 m3 = f_TNW - f_BSE - c2o1 * drho * c1o216 * (c3o1*(-vx1+vx2+vx3));
+         m3 = f_TNW - f_BSE - c2o1 * drho * c1o216 * (c3o1*(-vx1+vx2+vx3));
          feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPMM])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE-m3+(f_TNW+f_BSE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TNW+f_BSE))/(c1o1+q)+(m3*c1o2);
          //(D.f[dPMM])[kbse]=zero;
@@ -765,8 +765,8 @@ __global__ void QDeviceIncompHighNu27(
       ////////////////////////////////////////////////////////////////////////////////
       real vx1, vx2, vx3, drho, feq, q;
       drho   =  f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
-				f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
-				f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]); 
+                f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
+                f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]); 
 
       vx1    =  (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
                 ((f_BE - f_TW)   + (f_TE - f_BW))   + ((f_SE - f_NW)   + (f_NE - f_SW)) +
@@ -852,10 +852,10 @@ __global__ void QDeviceIncompHighNu27(
       real VeloY = c0o1;
       real VeloZ = c0o1;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  
-	  
-	  //ToDo anders klammern !!!!!!
-	  
+      
+      
+      //ToDo anders klammern !!!!!!
+      
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
       {
@@ -1287,8 +1287,8 @@ __global__ void QDeviceCompHighNu27(
       ////////////////////////////////////////////////////////////////////////////////
       real vx1, vx2, vx3, drho, feq, q;
       drho   =  f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
-				f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
-				f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]); 
+                f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
+                f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]); 
 
       vx1    =  (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
                 ((f_BE - f_TW)   + (f_TE - f_BW))   + ((f_SE - f_NW)   + (f_NE - f_SW)) +
@@ -1374,10 +1374,10 @@ __global__ void QDeviceCompHighNu27(
       real VeloY = c0o1;
       real VeloZ = c0o1;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  
-	  
-	  //ToDo anders klammern !!!!!!
-	  
+      
+      
+      //ToDo anders klammern !!!!!!
+      
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
       {
diff --git a/src/gpu/core/GPU/Particles.cu b/src/gpu/core/GPU/Particles.cu
index 6f30a09c1b306f8833649a84f6ee7b702ab83f7e..aec8f029ef58d46f1527b58a4f4746429bf94f2a 100644
--- a/src/gpu/core/GPU/Particles.cu
+++ b/src/gpu/core/GPU/Particles.cu
@@ -8,28 +8,28 @@ using namespace vf::lbm::dir;
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void InitParticles( real* coordX,
-										  real* coordY,
-										  real* coordZ, 
-										  real* coordParticleXlocal,
-										  real* coordParticleYlocal,
-										  real* coordParticleZlocal,
-										  real* coordParticleXglobal,
-										  real* coordParticleYglobal,
-										  real* coordParticleZglobal,
-										  real* veloParticleX,
-										  real* veloParticleY,
-										  real* veloParticleZ,
-										  real* randArray,
-										  unsigned int* particleID,
-										  unsigned int* cellBaseID,
-										  unsigned int* bcMatD,
-										  unsigned int* neighborX,
-										  unsigned int* neighborY,
-										  unsigned int* neighborZ,
-										  unsigned int* neighborWSB,
-										  int level,
-									      unsigned int numberOfParticles, 
-										  unsigned long long numberOfLBnodes)
+                                          real* coordY,
+                                          real* coordZ, 
+                                          real* coordParticleXlocal,
+                                          real* coordParticleYlocal,
+                                          real* coordParticleZlocal,
+                                          real* coordParticleXglobal,
+                                          real* coordParticleYglobal,
+                                          real* coordParticleZglobal,
+                                          real* veloParticleX,
+                                          real* veloParticleY,
+                                          real* veloParticleZ,
+                                          real* randArray,
+                                          unsigned int* particleID,
+                                          unsigned int* cellBaseID,
+                                          unsigned int* bcMatD,
+                                          unsigned int* neighborX,
+                                          unsigned int* neighborY,
+                                          unsigned int* neighborZ,
+                                          unsigned int* neighborWSB,
+                                          int level,
+                                          unsigned int numberOfParticles, 
+                                          unsigned long long numberOfLBnodes)
 {
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  x = threadIdx.x;  // Globaler x-Index 
@@ -44,98 +44,98 @@ __global__ void InitParticles( real* coordX,
 
    if(k < numberOfParticles)
    {
-	 //   real centerX = one;						//uebergabeparameter
-	 //   real centerY = 10.5f;					//uebergabeparameter
-		//real centerZ = 10.5f;					//uebergabeparameter
-		//real diameter = 21.0f;					//uebergabeparameter
-		//unsigned int numberOfParticleSizes = 41;	//uebergabeparameter
-		//unsigned int nops = (unsigned int)(randArray[k]*numberOfParticleSizes);
-		//real xCoordPart = one;
-		//real yCoordPart = (real)(randArray[k]*diameter);
-		//real zCoordPart = one;
-		//if (k==0)
-		//{
-		//	zCoordPart = (real)(randArray[k+1]*diameter);
-		//}
-		//else
-		//{
-		//	zCoordPart = (real)(randArray[k-1]*diameter);
-		//}
-		//real distance = powf((zCoordPart-centerZ),2) + powf((yCoordPart-centerY),2);
-		//real refDistance = powf((diameter*c1o2),2);
-		//if (distance > refDistance)
-		//{
-		//	zCoordPart = sqrtf(powf((diameter*c1o2),2) - powf((yCoordPart-centerY),2)) + centerZ;
-		//}
-
-
-
-		////////////////////////////////////////////////////////////////////////////////
-		//find random node of the fluid domain
-		unsigned int cbID = (unsigned int)(randArray[k]*numberOfLBnodes);
-		for(int i = 0; i < numberOfLBnodes;i++)
-		{
-			//if (coordX[cbID] < 15 && coordX[cbID] > 5 && coordY[cbID] < 15 && coordY[cbID] > 5 && coordZ[cbID] < 15 && coordZ[cbID] > 5)	break;
-			if (coordX[cbID] < 5 && coordX[cbID] > 2)	break;
-			cbID = (unsigned int)(randArray[k]*(numberOfLBnodes - i)); 
-		}
-	   
-		real coordinateX;
-		real coordinateY;
-		real coordinateZ;
-
-		unsigned int BC  = bcMatD[cbID];
-		unsigned int BCx = bcMatD[neighborX[cbID]];
-		unsigned int BCy = bcMatD[neighborY[cbID]];
-		unsigned int BCz = bcMatD[neighborZ[cbID]];
-
-		if( (BC == GEO_FLUID) && (BCx == GEO_FLUID) && (BCy == GEO_FLUID) && (BCz == GEO_FLUID))
-		{
-		   coordinateX = coordX[cbID];
-		   coordinateY = coordY[cbID];
-		   coordinateZ = coordZ[cbID];
-
-		}
-		else if(BC == GEO_FLUID)
-		{
-		   cbID = neighborWSB[neighborWSB[cbID]];
-		   coordinateX = coordX[cbID];
-		   coordinateY = coordY[cbID];
-		   coordinateZ = coordZ[cbID];
-		}
-		else
-		{
-		   cbID = neighborZ[neighborY[neighborX[cbID]]];
-		   coordinateX = coordX[cbID];
-		   coordinateY = coordY[cbID];
-		   coordinateZ = coordZ[cbID];
-		}
-
-
-		real localX = randArray[k] / (real)(pow((double)c2o1, (double)level));
+     //   real centerX = one;                        //uebergabeparameter
+     //   real centerY = 10.5f;                    //uebergabeparameter
+        //real centerZ = 10.5f;                    //uebergabeparameter
+        //real diameter = 21.0f;                    //uebergabeparameter
+        //unsigned int numberOfParticleSizes = 41;    //uebergabeparameter
+        //unsigned int nops = (unsigned int)(randArray[k]*numberOfParticleSizes);
+        //real xCoordPart = one;
+        //real yCoordPart = (real)(randArray[k]*diameter);
+        //real zCoordPart = one;
+        //if (k==0)
+        //{
+        //    zCoordPart = (real)(randArray[k+1]*diameter);
+        //}
+        //else
+        //{
+        //    zCoordPart = (real)(randArray[k-1]*diameter);
+        //}
+        //real distance = powf((zCoordPart-centerZ),2) + powf((yCoordPart-centerY),2);
+        //real refDistance = powf((diameter*c1o2),2);
+        //if (distance > refDistance)
+        //{
+        //    zCoordPart = sqrtf(powf((diameter*c1o2),2) - powf((yCoordPart-centerY),2)) + centerZ;
+        //}
+
+
+
+        ////////////////////////////////////////////////////////////////////////////////
+        //find random node of the fluid domain
+        unsigned int cbID = (unsigned int)(randArray[k]*numberOfLBnodes);
+        for(int i = 0; i < numberOfLBnodes;i++)
+        {
+            //if (coordX[cbID] < 15 && coordX[cbID] > 5 && coordY[cbID] < 15 && coordY[cbID] > 5 && coordZ[cbID] < 15 && coordZ[cbID] > 5)    break;
+            if (coordX[cbID] < 5 && coordX[cbID] > 2)    break;
+            cbID = (unsigned int)(randArray[k]*(numberOfLBnodes - i)); 
+        }
+       
+        real coordinateX;
+        real coordinateY;
+        real coordinateZ;
+
+        unsigned int BC  = bcMatD[cbID];
+        unsigned int BCx = bcMatD[neighborX[cbID]];
+        unsigned int BCy = bcMatD[neighborY[cbID]];
+        unsigned int BCz = bcMatD[neighborZ[cbID]];
+
+        if( (BC == GEO_FLUID) && (BCx == GEO_FLUID) && (BCy == GEO_FLUID) && (BCz == GEO_FLUID))
+        {
+           coordinateX = coordX[cbID];
+           coordinateY = coordY[cbID];
+           coordinateZ = coordZ[cbID];
+
+        }
+        else if(BC == GEO_FLUID)
+        {
+           cbID = neighborWSB[neighborWSB[cbID]];
+           coordinateX = coordX[cbID];
+           coordinateY = coordY[cbID];
+           coordinateZ = coordZ[cbID];
+        }
+        else
+        {
+           cbID = neighborZ[neighborY[neighborX[cbID]]];
+           coordinateX = coordX[cbID];
+           coordinateY = coordY[cbID];
+           coordinateZ = coordZ[cbID];
+        }
+
+
+        real localX = randArray[k] / (real)(pow((double)c2o1, (double)level));
         real localY = randArray[k] / (real)(pow((double)c2o1, (double)level));
         real localZ = randArray[k] / (real)(pow((double)c2o1, (double)level));
 
-		real globalX = coordinateX + localX;
-		real globalY = coordinateY + localY;
-		real globalZ = coordinateZ + localZ;
-
-  		real veloX = c0o1;
-		real veloY = c0o1;
-		real veloZ = c0o1;
-
-		particleID[k]           = k      ;
-		cellBaseID[k]           = cbID   ;
-		veloParticleX[k]        = veloX  ;
-		veloParticleY[k]        = veloY  ;
-		veloParticleZ[k]        = veloZ  ;
-		coordParticleXlocal[k]  = localX ;
-		coordParticleYlocal[k]  = localY ;
-		coordParticleZlocal[k]  = localZ ;
-		coordParticleXglobal[k] = globalX;
-		coordParticleYglobal[k] = globalY;
-		coordParticleZglobal[k] = globalZ;
-		////////////////////////////////////////////////////////////////////////////////
+        real globalX = coordinateX + localX;
+        real globalY = coordinateY + localY;
+        real globalZ = coordinateZ + localZ;
+
+          real veloX = c0o1;
+        real veloY = c0o1;
+        real veloZ = c0o1;
+
+        particleID[k]           = k      ;
+        cellBaseID[k]           = cbID   ;
+        veloParticleX[k]        = veloX  ;
+        veloParticleY[k]        = veloY  ;
+        veloParticleZ[k]        = veloZ  ;
+        coordParticleXlocal[k]  = localX ;
+        coordParticleYlocal[k]  = localY ;
+        coordParticleZlocal[k]  = localZ ;
+        coordParticleXglobal[k] = globalX;
+        coordParticleYglobal[k] = globalY;
+        coordParticleZglobal[k] = globalZ;
+        ////////////////////////////////////////////////////////////////////////////////
    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -159,32 +159,32 @@ __global__ void InitParticles( real* coordX,
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void MoveParticles( real* coordX,
-										  real* coordY,
-										  real* coordZ, 
-										  real* coordParticleXlocal,
-										  real* coordParticleYlocal,
-										  real* coordParticleZlocal,
-										  real* coordParticleXglobal,
-										  real* coordParticleYglobal,
-										  real* coordParticleZglobal,
-										  real* veloParticleX,
-										  real* veloParticleY,
-										  real* veloParticleZ,
-										  real* DD,
-										  real  omega,
-										  unsigned int* particleID,
-										  unsigned int* cellBaseID,
-										  unsigned int* bcMatD,
-										  unsigned int* neighborX,
-										  unsigned int* neighborY,
-										  unsigned int* neighborZ,
-										  unsigned int* neighborWSB,
-										  int level,
-										  unsigned int timestep, 
-										  unsigned int numberOfTimesteps, 
-									      unsigned int numberOfParticles, 
-										  unsigned long long numberOfLBnodes,
-										  bool isEvenTimestep)
+                                          real* coordY,
+                                          real* coordZ, 
+                                          real* coordParticleXlocal,
+                                          real* coordParticleYlocal,
+                                          real* coordParticleZlocal,
+                                          real* coordParticleXglobal,
+                                          real* coordParticleYglobal,
+                                          real* coordParticleZglobal,
+                                          real* veloParticleX,
+                                          real* veloParticleY,
+                                          real* veloParticleZ,
+                                          real* DD,
+                                          real  omega,
+                                          unsigned int* particleID,
+                                          unsigned int* cellBaseID,
+                                          unsigned int* bcMatD,
+                                          unsigned int* neighborX,
+                                          unsigned int* neighborY,
+                                          unsigned int* neighborZ,
+                                          unsigned int* neighborWSB,
+                                          int level,
+                                          unsigned int timestep, 
+                                          unsigned int numberOfTimesteps, 
+                                          unsigned int numberOfParticles, 
+                                          unsigned long long numberOfLBnodes,
+                                          bool isEvenTimestep)
 {
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  ix = threadIdx.x;  // Globaler x-Index 
@@ -224,770 +224,770 @@ __global__ void MoveParticles( real* coordX,
 
    if(k < numberOfParticles)
    {
-		/////////////////////////////////////////////////////////////
-	    unsigned int kTimeStep = k + (timestep * numberOfParticles);
-		/////////////////////////////////////////////////////////////
-		unsigned int kCellBaseID = cellBaseID[k];
-	    unsigned int BC000  = bcMatD[kCellBaseID];
-	    unsigned int BCx00  = bcMatD[neighborX[kCellBaseID]];
-	    unsigned int BC0y0  = bcMatD[neighborY[kCellBaseID]];
-	    unsigned int BC00z  = bcMatD[neighborZ[kCellBaseID]];
-	    unsigned int BCxy0  = bcMatD[neighborY[neighborX[kCellBaseID]]];
-	    unsigned int BCx0z  = bcMatD[neighborZ[neighborX[kCellBaseID]]];
-	    unsigned int BC0yz  = bcMatD[neighborZ[neighborY[kCellBaseID]]];
-	    unsigned int BCxyz  = bcMatD[neighborZ[neighborY[neighborX[kCellBaseID]]]];
-		/////////////////////////////////////////////////////////////
-   		if( (BC000 >= GEO_FLUID) || 
-			(BCx00 >= GEO_FLUID) || 
-			(BC0y0 >= GEO_FLUID) || 
-			(BC00z >= GEO_FLUID) || 
-			(BCxy0 >= GEO_FLUID) || 
-			(BCx0z >= GEO_FLUID) || 
-			(BC0yz >= GEO_FLUID) || 
-			(BCxyz >= GEO_FLUID) )
-		{
-		   if (isEvenTimestep==true)
-		   {
-			  feC    = &DD[dP00 * numberOfLBnodes];
-			  fwC    = &DD[dM00 * numberOfLBnodes];
-			  fnC    = &DD[d0P0 * numberOfLBnodes];
-			  fsC    = &DD[d0M0 * numberOfLBnodes];
-			  ftC    = &DD[d00P * numberOfLBnodes];
-			  fbC    = &DD[d00M * numberOfLBnodes];
-			  fneC   = &DD[dPP0 * numberOfLBnodes];
-			  fswC   = &DD[dMM0 * numberOfLBnodes];
-			  fseC   = &DD[dPM0 * numberOfLBnodes];
-			  fnwC   = &DD[dMP0 * numberOfLBnodes];
-			  fteC   = &DD[dP0P * numberOfLBnodes];
-			  fbwC   = &DD[dM0M * numberOfLBnodes];
-			  fbeC   = &DD[dP0M * numberOfLBnodes];
-			  ftwC   = &DD[dM0P * numberOfLBnodes];
-			  ftnC   = &DD[d0PP * numberOfLBnodes];
-			  fbsC   = &DD[d0MM * numberOfLBnodes];
-			  fbnC   = &DD[d0PM * numberOfLBnodes];
-			  ftsC   = &DD[d0MP * numberOfLBnodes];
-			  fzeroC = &DD[d000 * numberOfLBnodes];
-			  ftneC  = &DD[dPPP * numberOfLBnodes];
-			  ftswC  = &DD[dMMP * numberOfLBnodes];
-			  ftseC  = &DD[dPMP * numberOfLBnodes];
-			  ftnwC  = &DD[dMPP * numberOfLBnodes];
-			  fbneC  = &DD[dPPM * numberOfLBnodes];
-			  fbswC  = &DD[dMMM * numberOfLBnodes];
-			  fbseC  = &DD[dPMM * numberOfLBnodes];
-			  fbnwC  = &DD[dMPM * numberOfLBnodes];
-		   } 			 
-		   else			 
-		   {			 
-			  fwC    = &DD[dP00 * numberOfLBnodes];
-			  feC    = &DD[dM00 * numberOfLBnodes];
-			  fsC    = &DD[d0P0 * numberOfLBnodes];
-			  fnC    = &DD[d0M0 * numberOfLBnodes];
-			  fbC    = &DD[d00P * numberOfLBnodes];
-			  ftC    = &DD[d00M * numberOfLBnodes];
-			  fswC   = &DD[dPP0 * numberOfLBnodes];
-			  fneC   = &DD[dMM0 * numberOfLBnodes];
-			  fnwC   = &DD[dPM0 * numberOfLBnodes];
-			  fseC   = &DD[dMP0 * numberOfLBnodes];
-			  fbwC   = &DD[dP0P * numberOfLBnodes];
-			  fteC   = &DD[dM0M * numberOfLBnodes];
-			  ftwC   = &DD[dP0M * numberOfLBnodes];
-			  fbeC   = &DD[dM0P * numberOfLBnodes];
-			  fbsC   = &DD[d0PP * numberOfLBnodes];
-			  ftnC   = &DD[d0MM * numberOfLBnodes];
-			  ftsC   = &DD[d0PM * numberOfLBnodes];
-			  fbnC   = &DD[d0MP * numberOfLBnodes];
-			  fzeroC = &DD[d000 * numberOfLBnodes];
-			  fbswC  = &DD[dPPP * numberOfLBnodes];
-			  fbneC  = &DD[dMMP * numberOfLBnodes];
-			  fbnwC  = &DD[dPMP * numberOfLBnodes];
-			  fbseC  = &DD[dMPP * numberOfLBnodes];
-			  ftswC  = &DD[dPPM * numberOfLBnodes];
-			  ftneC  = &DD[dMMM * numberOfLBnodes];
-			  ftnwC  = &DD[dPMM * numberOfLBnodes];
-			  ftseC  = &DD[dMPM * numberOfLBnodes];
-		   }
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //SWB//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 0
-			  unsigned int k0zero= cellBaseID[k];
-			  unsigned int k0w   = neighborX[k0zero];
-			  unsigned int k0s   = neighborY[k0zero];
-			  unsigned int k0b   = neighborZ[k0zero];
-			  unsigned int k0sw  = neighborY[k0w];
-			  unsigned int k0bw  = neighborZ[k0w];
-			  unsigned int k0bs  = neighborZ[k0s];
-			  unsigned int k0bsw = neighborZ[k0sw];
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  unsigned int kzero= k0zero;
-			  unsigned int kw   = k0w;   
-			  unsigned int ks   = k0s;   
-			  unsigned int kb   = k0b;   
-			  unsigned int ksw  = k0sw;  
-			  unsigned int kbw  = k0bw;  
-			  unsigned int kbs  = k0bs;  
-			  unsigned int kbsw = k0bsw; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-			  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-			  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
-
-			  kxyFromfcNEQ_SWB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
-			  kyzFromfcNEQ_SWB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
-			  kxzFromfcNEQ_SWB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB)));
-			  kxxMyyFromfcNEQ_SWB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
-			  kxxMzzFromfcNEQ_SWB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //SWT//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= kb;
-			  kw   = kbw;   
-			  ks   = kbs;   
-			  kb   = neighborZ[kb];   
-			  ksw  = kbsw;  
-			  kbw  = neighborZ[kbw];  
-			  kbs  = neighborZ[kbs];  
-			  kbsw = neighborZ[kbsw]; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-			  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-			  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
-
-			  kxyFromfcNEQ_SWT    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
-			  kyzFromfcNEQ_SWT    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
-			  kxzFromfcNEQ_SWT    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT)));
-			  kxxMyyFromfcNEQ_SWT = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
-			  kxxMzzFromfcNEQ_SWT = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //SET//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= kw;
-			  kw   = neighborX[kw];   
-			  ks   = ksw;   
-			  kb   = kbw;   
-			  ksw  = neighborX[ksw];  
-			  kbw  = neighborX[kbw];  
-			  kbs  = kbsw;  
-			  kbsw = neighborX[kbsw]; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-			  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-			  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
-
-			  kxyFromfcNEQ_SET    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
-			  kyzFromfcNEQ_SET    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
-			  kxzFromfcNEQ_SET    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET)));
-			  kxxMyyFromfcNEQ_SET = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
-			  kxxMzzFromfcNEQ_SET = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //SEB//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kb   = kzero;   
-			  kbw  = kw;  
-			  kbs  = ks;  
-			  kbsw = ksw; 
-			  kzero= k0w;
-			  kw   = neighborX[k0w];   
-			  ks   = k0sw;   
-			  ksw  = neighborX[k0sw];  
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-			  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-			  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
-
-			  kxyFromfcNEQ_SEB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
-			  kyzFromfcNEQ_SEB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
-			  kxzFromfcNEQ_SEB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB)));
-			  kxxMyyFromfcNEQ_SEB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
-			  kxxMzzFromfcNEQ_SEB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //NWB//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 0
-			  k0zero= k0s;
-			  k0w   = k0sw;
-			  k0s   = neighborY[k0s];
-			  k0b   = k0bs;
-			  k0sw  = neighborY[k0sw];
-			  k0bw  = k0bsw;
-			  k0bs  = neighborY[k0bs];
-			  k0bsw = neighborY[k0bsw];
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= k0zero;
-			  kw   = k0w;   
-			  ks   = k0s;   
-			  kb   = k0b;   
-			  ksw  = k0sw;  
-			  kbw  = k0bw;  
-			  kbs  = k0bs;  
-			  kbsw = k0bsw; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-			  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-			  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
-
-			  kxyFromfcNEQ_NWB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
-			  kyzFromfcNEQ_NWB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
-			  kxzFromfcNEQ_NWB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB)));
-			  kxxMyyFromfcNEQ_NWB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
-			  kxxMzzFromfcNEQ_NWB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //NWT//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= kb;
-			  kw   = kbw;   
-			  ks   = kbs;   
-			  kb   = neighborZ[kb];   
-			  ksw  = kbsw;  
-			  kbw  = neighborZ[kbw];  
-			  kbs  = neighborZ[kbs];  
-			  kbsw = neighborZ[kbsw]; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-			  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-			  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
-
-			  kxyFromfcNEQ_NWT    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
-			  kyzFromfcNEQ_NWT    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
-			  kxzFromfcNEQ_NWT    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT)));
-			  kxxMyyFromfcNEQ_NWT = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
-			  kxxMzzFromfcNEQ_NWT = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //NET//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= kw;
-			  kw   = neighborX[kw];   
-			  ks   = ksw;   
-			  kb   = kbw;   
-			  ksw  = neighborX[ksw];  
-			  kbw  = neighborX[kbw];  
-			  kbs  = kbsw;  
-			  kbsw = neighborX[kbsw]; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-			  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-			  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
-
-			  kxyFromfcNEQ_NET    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
-			  kyzFromfcNEQ_NET    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
-			  kxzFromfcNEQ_NET    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET)));
-			  kxxMyyFromfcNEQ_NET = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
-			  kxxMzzFromfcNEQ_NET = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //NEB//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kb   = kzero;   
-			  kbw  = kw;  
-			  kbs  = ks;  
-			  kbsw = ksw; 
-			  kzero= k0w;
-			  kw   = neighborX[k0w];   
-			  ks   = k0sw;   
-			  ksw  = neighborX[k0sw];  
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-			  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-			  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
-
-			  kxyFromfcNEQ_NEB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
-			  kyzFromfcNEQ_NEB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
-			  kxzFromfcNEQ_NEB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB)));
-			  kxxMyyFromfcNEQ_NEB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
-			  kxxMzzFromfcNEQ_NEB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //interpolate
-			  //////////////////////////////////////////////////////////////////////////
-			  a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-				 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
-				 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-				 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-				 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
-				 c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-				 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
-				 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
-				 c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
-				 c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
-				 c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
-				 c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-				 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
-			  b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
-				 c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
-				 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-				 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-				 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
-				 c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-				 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-				 c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
-				 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-				 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
-				 c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
-				 c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
-				 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-				 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
-
-			  //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour;
-
-			  c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-				 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
-				 c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
-				 c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
-				 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
-				 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
-				 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-				 c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
-				 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-				 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-				 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-				 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
-				 c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
-				 c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
-			  ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
-			  bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
-			  //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four;
-			  cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
-			  axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-				 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
-				 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-				 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-				 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
-				 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
-				 c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-				 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
-			  bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
-				 kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-				 c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
-				 c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
-			  cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
-				 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
-				 c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
-				 c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
-			  ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
-			  by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
-			  cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
-			  ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
-				 kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-				 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
-				 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
-			  byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
-				 c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
-				 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-				 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-				 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-				 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
-				 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-				 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
-			  cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-				 kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
-				 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
-				 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
-			  az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
-			  //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four;
-			  bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1;
-			  cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
-			  azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
-				 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
-				 c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-				 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
-			  bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-				 kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
-				 c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-				 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
-			  czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-				 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
-				 c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
-				 c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
-				 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-				 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-				 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-				 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
-			  axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
-			  bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
-			  cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
-			  axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
-			  bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
-			  cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
-			  ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
-			  byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
-			  cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
-			  axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT;
-			  bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
-			  cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
-			  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  //drho
-			//   d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-			//   dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-			//   dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-			//   dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-			//   dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-			//   dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-			//   dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-			//   dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  unsigned int kTimeStepOld = kTimeStep - numberOfParticles;
-			  real localX = coordParticleXlocal[kTimeStepOld];
-			  real localY = coordParticleYlocal[kTimeStepOld];
-			  real localZ = coordParticleZlocal[kTimeStepOld];
-
-			  x = (localX * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
+        /////////////////////////////////////////////////////////////
+        unsigned int kTimeStep = k + (timestep * numberOfParticles);
+        /////////////////////////////////////////////////////////////
+        unsigned int kCellBaseID = cellBaseID[k];
+        unsigned int BC000  = bcMatD[kCellBaseID];
+        unsigned int BCx00  = bcMatD[neighborX[kCellBaseID]];
+        unsigned int BC0y0  = bcMatD[neighborY[kCellBaseID]];
+        unsigned int BC00z  = bcMatD[neighborZ[kCellBaseID]];
+        unsigned int BCxy0  = bcMatD[neighborY[neighborX[kCellBaseID]]];
+        unsigned int BCx0z  = bcMatD[neighborZ[neighborX[kCellBaseID]]];
+        unsigned int BC0yz  = bcMatD[neighborZ[neighborY[kCellBaseID]]];
+        unsigned int BCxyz  = bcMatD[neighborZ[neighborY[neighborX[kCellBaseID]]]];
+        /////////////////////////////////////////////////////////////
+           if( (BC000 >= GEO_FLUID) || 
+            (BCx00 >= GEO_FLUID) || 
+            (BC0y0 >= GEO_FLUID) || 
+            (BC00z >= GEO_FLUID) || 
+            (BCxy0 >= GEO_FLUID) || 
+            (BCx0z >= GEO_FLUID) || 
+            (BC0yz >= GEO_FLUID) || 
+            (BCxyz >= GEO_FLUID) )
+        {
+           if (isEvenTimestep==true)
+           {
+              feC    = &DD[dP00 * numberOfLBnodes];
+              fwC    = &DD[dM00 * numberOfLBnodes];
+              fnC    = &DD[d0P0 * numberOfLBnodes];
+              fsC    = &DD[d0M0 * numberOfLBnodes];
+              ftC    = &DD[d00P * numberOfLBnodes];
+              fbC    = &DD[d00M * numberOfLBnodes];
+              fneC   = &DD[dPP0 * numberOfLBnodes];
+              fswC   = &DD[dMM0 * numberOfLBnodes];
+              fseC   = &DD[dPM0 * numberOfLBnodes];
+              fnwC   = &DD[dMP0 * numberOfLBnodes];
+              fteC   = &DD[dP0P * numberOfLBnodes];
+              fbwC   = &DD[dM0M * numberOfLBnodes];
+              fbeC   = &DD[dP0M * numberOfLBnodes];
+              ftwC   = &DD[dM0P * numberOfLBnodes];
+              ftnC   = &DD[d0PP * numberOfLBnodes];
+              fbsC   = &DD[d0MM * numberOfLBnodes];
+              fbnC   = &DD[d0PM * numberOfLBnodes];
+              ftsC   = &DD[d0MP * numberOfLBnodes];
+              fzeroC = &DD[d000 * numberOfLBnodes];
+              ftneC  = &DD[dPPP * numberOfLBnodes];
+              ftswC  = &DD[dMMP * numberOfLBnodes];
+              ftseC  = &DD[dPMP * numberOfLBnodes];
+              ftnwC  = &DD[dMPP * numberOfLBnodes];
+              fbneC  = &DD[dPPM * numberOfLBnodes];
+              fbswC  = &DD[dMMM * numberOfLBnodes];
+              fbseC  = &DD[dPMM * numberOfLBnodes];
+              fbnwC  = &DD[dMPM * numberOfLBnodes];
+           }              
+           else             
+           {             
+              fwC    = &DD[dP00 * numberOfLBnodes];
+              feC    = &DD[dM00 * numberOfLBnodes];
+              fsC    = &DD[d0P0 * numberOfLBnodes];
+              fnC    = &DD[d0M0 * numberOfLBnodes];
+              fbC    = &DD[d00P * numberOfLBnodes];
+              ftC    = &DD[d00M * numberOfLBnodes];
+              fswC   = &DD[dPP0 * numberOfLBnodes];
+              fneC   = &DD[dMM0 * numberOfLBnodes];
+              fnwC   = &DD[dPM0 * numberOfLBnodes];
+              fseC   = &DD[dMP0 * numberOfLBnodes];
+              fbwC   = &DD[dP0P * numberOfLBnodes];
+              fteC   = &DD[dM0M * numberOfLBnodes];
+              ftwC   = &DD[dP0M * numberOfLBnodes];
+              fbeC   = &DD[dM0P * numberOfLBnodes];
+              fbsC   = &DD[d0PP * numberOfLBnodes];
+              ftnC   = &DD[d0MM * numberOfLBnodes];
+              ftsC   = &DD[d0PM * numberOfLBnodes];
+              fbnC   = &DD[d0MP * numberOfLBnodes];
+              fzeroC = &DD[d000 * numberOfLBnodes];
+              fbswC  = &DD[dPPP * numberOfLBnodes];
+              fbneC  = &DD[dMMP * numberOfLBnodes];
+              fbnwC  = &DD[dPMP * numberOfLBnodes];
+              fbseC  = &DD[dMPP * numberOfLBnodes];
+              ftswC  = &DD[dPPM * numberOfLBnodes];
+              ftneC  = &DD[dMMM * numberOfLBnodes];
+              ftnwC  = &DD[dPMM * numberOfLBnodes];
+              ftseC  = &DD[dMPM * numberOfLBnodes];
+           }
+
+              //////////////////////////////////////////////////////////////////////////
+              //SWB//
+              //////////////////////////////////////////////////////////////////////////
+              //index 0
+              unsigned int k0zero= cellBaseID[k];
+              unsigned int k0w   = neighborX[k0zero];
+              unsigned int k0s   = neighborY[k0zero];
+              unsigned int k0b   = neighborZ[k0zero];
+              unsigned int k0sw  = neighborY[k0w];
+              unsigned int k0bw  = neighborZ[k0w];
+              unsigned int k0bs  = neighborZ[k0s];
+              unsigned int k0bsw = neighborZ[k0sw];
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              unsigned int kzero= k0zero;
+              unsigned int kw   = k0w;   
+              unsigned int ks   = k0s;   
+              unsigned int kb   = k0b;   
+              unsigned int ksw  = k0sw;  
+              unsigned int kbw  = k0bw;  
+              unsigned int kbs  = k0bs;  
+              unsigned int kbsw = k0bsw; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
+              vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+              vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+
+              kxyFromfcNEQ_SWB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
+              kyzFromfcNEQ_SWB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
+              kxzFromfcNEQ_SWB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB)));
+              kxxMyyFromfcNEQ_SWB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
+              kxxMzzFromfcNEQ_SWB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //SWT//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= kb;
+              kw   = kbw;   
+              ks   = kbs;   
+              kb   = neighborZ[kb];   
+              ksw  = kbsw;  
+              kbw  = neighborZ[kbw];  
+              kbs  = neighborZ[kbs];  
+              kbsw = neighborZ[kbsw]; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
+              vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+              vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+
+              kxyFromfcNEQ_SWT    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
+              kyzFromfcNEQ_SWT    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
+              kxzFromfcNEQ_SWT    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT)));
+              kxxMyyFromfcNEQ_SWT = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
+              kxxMzzFromfcNEQ_SWT = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //SET//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= kw;
+              kw   = neighborX[kw];   
+              ks   = ksw;   
+              kb   = kbw;   
+              ksw  = neighborX[ksw];  
+              kbw  = neighborX[kbw];  
+              kbs  = kbsw;  
+              kbsw = neighborX[kbsw]; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
+              vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+              vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+
+              kxyFromfcNEQ_SET    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
+              kyzFromfcNEQ_SET    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
+              kxzFromfcNEQ_SET    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET)));
+              kxxMyyFromfcNEQ_SET = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
+              kxxMzzFromfcNEQ_SET = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //SEB//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kb   = kzero;   
+              kbw  = kw;  
+              kbs  = ks;  
+              kbsw = ksw; 
+              kzero= k0w;
+              kw   = neighborX[k0w];   
+              ks   = k0sw;   
+              ksw  = neighborX[k0sw];  
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
+              vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+              vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+
+              kxyFromfcNEQ_SEB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
+              kyzFromfcNEQ_SEB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
+              kxzFromfcNEQ_SEB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB)));
+              kxxMyyFromfcNEQ_SEB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
+              kxxMzzFromfcNEQ_SEB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //NWB//
+              //////////////////////////////////////////////////////////////////////////
+              //index 0
+              k0zero= k0s;
+              k0w   = k0sw;
+              k0s   = neighborY[k0s];
+              k0b   = k0bs;
+              k0sw  = neighborY[k0sw];
+              k0bw  = k0bsw;
+              k0bs  = neighborY[k0bs];
+              k0bsw = neighborY[k0bsw];
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= k0zero;
+              kw   = k0w;   
+              ks   = k0s;   
+              kb   = k0b;   
+              ksw  = k0sw;  
+              kbw  = k0bw;  
+              kbs  = k0bs;  
+              kbsw = k0bsw; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
+              vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+              vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+
+              kxyFromfcNEQ_NWB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
+              kyzFromfcNEQ_NWB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
+              kxzFromfcNEQ_NWB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB)));
+              kxxMyyFromfcNEQ_NWB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
+              kxxMzzFromfcNEQ_NWB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //NWT//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= kb;
+              kw   = kbw;   
+              ks   = kbs;   
+              kb   = neighborZ[kb];   
+              ksw  = kbsw;  
+              kbw  = neighborZ[kbw];  
+              kbs  = neighborZ[kbs];  
+              kbsw = neighborZ[kbsw]; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
+              vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+              vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+
+              kxyFromfcNEQ_NWT    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
+              kyzFromfcNEQ_NWT    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
+              kxzFromfcNEQ_NWT    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT)));
+              kxxMyyFromfcNEQ_NWT = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
+              kxxMzzFromfcNEQ_NWT = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //NET//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= kw;
+              kw   = neighborX[kw];   
+              ks   = ksw;   
+              kb   = kbw;   
+              ksw  = neighborX[ksw];  
+              kbw  = neighborX[kbw];  
+              kbs  = kbsw;  
+              kbsw = neighborX[kbsw]; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
+              vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+              vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+
+              kxyFromfcNEQ_NET    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
+              kyzFromfcNEQ_NET    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
+              kxzFromfcNEQ_NET    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET)));
+              kxxMyyFromfcNEQ_NET = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
+              kxxMzzFromfcNEQ_NET = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //NEB//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kb   = kzero;   
+              kbw  = kw;  
+              kbs  = ks;  
+              kbsw = ksw; 
+              kzero= k0w;
+              kw   = neighborX[k0w];   
+              ks   = k0sw;   
+              ksw  = neighborX[k0sw];  
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
+              vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+              vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+
+              kxyFromfcNEQ_NEB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
+              kyzFromfcNEQ_NEB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
+              kxzFromfcNEQ_NEB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB)));
+              kxxMyyFromfcNEQ_NEB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
+              kxxMzzFromfcNEQ_NEB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //interpolate
+              //////////////////////////////////////////////////////////////////////////
+              a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
+                 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
+                 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+                 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+                 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
+                 c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+                 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
+                 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
+                 c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
+                 c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
+                 c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
+                 c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+                 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+              b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
+                 c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
+                 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+                 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+                 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
+                 c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+                 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+                 c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
+                 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+                 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
+                 c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
+                 c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
+                 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+                 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+
+              //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour;
+
+              c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
+                 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
+                 c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
+                 c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
+                 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
+                 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
+                 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+                 c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
+                 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+                 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+                 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+                 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
+                 c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
+                 c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
+              ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
+              bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
+              //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four;
+              cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
+              axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
+                 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
+                 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+                 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+                 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
+                 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
+                 c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+                 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+              bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
+                 kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+                 c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
+                 c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
+              cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
+                 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
+                 c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
+                 c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
+              ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
+              by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
+              cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
+              ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
+                 kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+                 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
+                 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
+              byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
+                 c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
+                 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+                 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+                 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+                 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
+                 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+                 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+              cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
+                 kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
+                 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
+                 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
+              az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
+              //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four;
+              bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1;
+              cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
+              azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
+                 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
+                 c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+                 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+              bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
+                 kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
+                 c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+                 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+              czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
+                 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
+                 c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
+                 c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
+                 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+                 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+                 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+                 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
+              axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
+              bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
+              cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
+              axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
+              bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
+              cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
+              ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
+              byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
+              cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
+              axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT;
+              bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
+              cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
+              //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              //drho
+            //   d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+            //   dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+            //   dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+            //   dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+            //   dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+            //   dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+            //   dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+            //   dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              unsigned int kTimeStepOld = kTimeStep - numberOfParticles;
+              real localX = coordParticleXlocal[kTimeStepOld];
+              real localY = coordParticleYlocal[kTimeStepOld];
+              real localZ = coordParticleZlocal[kTimeStepOld];
+
+              x = (localX * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
               y = (localY * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
               z = (localZ * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  //press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-			  vx1 = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-			  vx2 = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-			  vx3 = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-
-			  real veloPreX = veloParticleX[kTimeStepOld];
-			  real veloPreY = veloParticleY[kTimeStepOld];
-			  real veloPreZ = veloParticleZ[kTimeStepOld];
-
-			  real veloPostX = (veloPreX + vx1) * c1o2;
-			  real veloPostY = (veloPreY + vx2) * c1o2;
-			  real veloPostZ = (veloPreZ + vx3) * c1o2;
-
-			  //real veloPostX = vx1;
-			  //real veloPostY = vx2;
-			  //real veloPostZ = vx3;
-
-			  veloParticleX[kTimeStep] = veloPostX;
-			  veloParticleY[kTimeStep] = veloPostY;
-			  veloParticleZ[kTimeStep] = veloPostZ;
-			  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  x = x + veloPostX;
-			  //x = x + c1o3;
-			  y = y + veloPostY;
-			  z = z + veloPostZ;
-
-			  unsigned int cbID = cellBaseID[k];
-			  bool negativeDirection = false;
-
-			  if (x >  c1o2)
-			  {
-				  cbID = neighborX[cbID]; 
-				  x = x - c1o1;
-			  }
-			  if (y >  c1o2)
-  			  {
-				  cbID = neighborY[cbID]; 
-				  y = y - c1o1;
-			  }
-			  if (z >  c1o2)
-			  {
-				  cbID = neighborZ[cbID]; 
-				  z = z - c1o1;
-			  }
-
-			  real tempX = x;
-			  real tempY = y;
-			  real tempZ = z;
-
-			  if ((x < -c1o2) || (y < -c1o2) || (z < -c1o2))
-			  {
-				  cbID = neighborWSB[cbID];
-				  negativeDirection = true;
-				  tempX = x + c1o1;
-				  tempY = y + c1o1;
-				  tempZ = z + c1o1;
-			  }
-			  if ((x >= -c1o2) && (negativeDirection == true))
-			  {
-				  cbID = neighborX[cbID]; 
-				  tempX = x;
-			  }
-			  if ((y >= -c1o2) && (negativeDirection == true))
-			  {
-				  cbID = neighborY[cbID]; 
-				  tempY = y;
-			  }
-			  if ((z >= -c1o2) && (negativeDirection == true))
-			  { 
-				  cbID = neighborZ[cbID]; 
-				  tempZ = z;
-			  }
-
-			  x = tempX;
-			  y = tempY;
-			  z = tempZ;
-
-			  localX                         = (x + c1o2) / (real)(pow((double)c2o1, (double)level));
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              //press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+              vx1 = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+              vx2 = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+              vx3 = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+
+              real veloPreX = veloParticleX[kTimeStepOld];
+              real veloPreY = veloParticleY[kTimeStepOld];
+              real veloPreZ = veloParticleZ[kTimeStepOld];
+
+              real veloPostX = (veloPreX + vx1) * c1o2;
+              real veloPostY = (veloPreY + vx2) * c1o2;
+              real veloPostZ = (veloPreZ + vx3) * c1o2;
+
+              //real veloPostX = vx1;
+              //real veloPostY = vx2;
+              //real veloPostZ = vx3;
+
+              veloParticleX[kTimeStep] = veloPostX;
+              veloParticleY[kTimeStep] = veloPostY;
+              veloParticleZ[kTimeStep] = veloPostZ;
+              ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              x = x + veloPostX;
+              //x = x + c1o3;
+              y = y + veloPostY;
+              z = z + veloPostZ;
+
+              unsigned int cbID = cellBaseID[k];
+              bool negativeDirection = false;
+
+              if (x >  c1o2)
+              {
+                  cbID = neighborX[cbID]; 
+                  x = x - c1o1;
+              }
+              if (y >  c1o2)
+                {
+                  cbID = neighborY[cbID]; 
+                  y = y - c1o1;
+              }
+              if (z >  c1o2)
+              {
+                  cbID = neighborZ[cbID]; 
+                  z = z - c1o1;
+              }
+
+              real tempX = x;
+              real tempY = y;
+              real tempZ = z;
+
+              if ((x < -c1o2) || (y < -c1o2) || (z < -c1o2))
+              {
+                  cbID = neighborWSB[cbID];
+                  negativeDirection = true;
+                  tempX = x + c1o1;
+                  tempY = y + c1o1;
+                  tempZ = z + c1o1;
+              }
+              if ((x >= -c1o2) && (negativeDirection == true))
+              {
+                  cbID = neighborX[cbID]; 
+                  tempX = x;
+              }
+              if ((y >= -c1o2) && (negativeDirection == true))
+              {
+                  cbID = neighborY[cbID]; 
+                  tempY = y;
+              }
+              if ((z >= -c1o2) && (negativeDirection == true))
+              { 
+                  cbID = neighborZ[cbID]; 
+                  tempZ = z;
+              }
+
+              x = tempX;
+              y = tempY;
+              z = tempZ;
+
+              localX                         = (x + c1o2) / (real)(pow((double)c2o1, (double)level));
               localY                         = (y + c1o2) / (real)(pow((double)c2o1, (double)level));
               localZ                         = (z + c1o2) / (real)(pow((double)c2o1, (double)level));
-			  coordParticleXlocal[kTimeStep] = localX;
-			  coordParticleYlocal[kTimeStep] = localY;
-			  coordParticleZlocal[kTimeStep] = localZ;
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  real globalX = localX + coordX[cbID];
-			  real globalY = localY + coordY[cbID];
-			  real globalZ = localZ + coordZ[cbID];
-			  coordParticleXglobal[kTimeStep] = globalX;
-			  coordParticleYglobal[kTimeStep] = globalY;
-			  coordParticleZglobal[kTimeStep] = globalZ;
-			  //coordParticleXglobal[kTimeStep] = coordParticleXglobal[kTimeStepOld];
-			  //coordParticleYglobal[kTimeStep] = coordParticleYglobal[kTimeStepOld];
-			  //coordParticleZglobal[kTimeStep] = coordParticleZglobal[kTimeStepOld];
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  cellBaseID[k] = cbID;
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-		}
+              coordParticleXlocal[kTimeStep] = localX;
+              coordParticleYlocal[kTimeStep] = localY;
+              coordParticleZlocal[kTimeStep] = localZ;
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              real globalX = localX + coordX[cbID];
+              real globalY = localY + coordY[cbID];
+              real globalZ = localZ + coordZ[cbID];
+              coordParticleXglobal[kTimeStep] = globalX;
+              coordParticleYglobal[kTimeStep] = globalY;
+              coordParticleZglobal[kTimeStep] = globalZ;
+              //coordParticleXglobal[kTimeStep] = coordParticleXglobal[kTimeStepOld];
+              //coordParticleYglobal[kTimeStep] = coordParticleYglobal[kTimeStepOld];
+              //coordParticleZglobal[kTimeStep] = coordParticleZglobal[kTimeStepOld];
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              cellBaseID[k] = cbID;
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+        }
    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1031,32 +1031,32 @@ __global__ void MoveParticles( real* coordX,
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void MoveParticlesWithoutBCs(   real* coordX,
-													  real* coordY,
-													  real* coordZ, 
-													  real* coordParticleXlocal,
-													  real* coordParticleYlocal,
-													  real* coordParticleZlocal,
-													  real* coordParticleXglobal,
-													  real* coordParticleYglobal,
-													  real* coordParticleZglobal,
-													  real* veloParticleX,
-													  real* veloParticleY,
-													  real* veloParticleZ,
-													  real* DD,
-													  real  omega,
-													  unsigned int* particleID,
-													  unsigned int* cellBaseID,
-													  unsigned int* bcMatD,
-													  unsigned int* neighborX,
-													  unsigned int* neighborY,
-													  unsigned int* neighborZ,
-													  unsigned int* neighborWSB,
-													  int level,
-													  unsigned int timestep, 
-													  unsigned int numberOfTimesteps, 
-													  unsigned int numberOfParticles, 
-													  unsigned long long numberOfLBnodes,
-													  bool isEvenTimestep)
+                                                      real* coordY,
+                                                      real* coordZ, 
+                                                      real* coordParticleXlocal,
+                                                      real* coordParticleYlocal,
+                                                      real* coordParticleZlocal,
+                                                      real* coordParticleXglobal,
+                                                      real* coordParticleYglobal,
+                                                      real* coordParticleZglobal,
+                                                      real* veloParticleX,
+                                                      real* veloParticleY,
+                                                      real* veloParticleZ,
+                                                      real* DD,
+                                                      real  omega,
+                                                      unsigned int* particleID,
+                                                      unsigned int* cellBaseID,
+                                                      unsigned int* bcMatD,
+                                                      unsigned int* neighborX,
+                                                      unsigned int* neighborY,
+                                                      unsigned int* neighborZ,
+                                                      unsigned int* neighborWSB,
+                                                      int level,
+                                                      unsigned int timestep, 
+                                                      unsigned int numberOfTimesteps, 
+                                                      unsigned int numberOfParticles, 
+                                                      unsigned long long numberOfLBnodes,
+                                                      bool isEvenTimestep)
 {
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  ix = threadIdx.x;  // Globaler x-Index 
@@ -1096,764 +1096,764 @@ __global__ void MoveParticlesWithoutBCs(   real* coordX,
 
    if(k < numberOfParticles)
    {
-		/////////////////////////////////////////////////////////////
-	    unsigned int kTimeStep = k + (timestep * numberOfParticles);
-		/////////////////////////////////////////////////////////////
-		unsigned int kCellBaseID = cellBaseID[k];
-	    unsigned int BC000  = bcMatD[kCellBaseID];
-	    unsigned int BCx00  = bcMatD[neighborX[kCellBaseID]];
-	    unsigned int BC0y0  = bcMatD[neighborY[kCellBaseID]];
-	    unsigned int BC00z  = bcMatD[neighborZ[kCellBaseID]];
-	    unsigned int BCxy0  = bcMatD[neighborY[neighborX[kCellBaseID]]];
-	    unsigned int BCx0z  = bcMatD[neighborZ[neighborX[kCellBaseID]]];
-	    unsigned int BC0yz  = bcMatD[neighborZ[neighborY[kCellBaseID]]];
-	    unsigned int BCxyz  = bcMatD[neighborZ[neighborY[neighborX[kCellBaseID]]]];
-		/////////////////////////////////////////////////////////////
-   		if( (BC000 == GEO_FLUID) || (BCx00 == GEO_FLUID) || (BC0y0 == GEO_FLUID) || (BC00z == GEO_FLUID) || 
-			(BCxy0 == GEO_FLUID) || (BCx0z == GEO_FLUID) || (BC0yz == GEO_FLUID) || (BCxyz == GEO_FLUID) )
-		{
-		   if (isEvenTimestep==true)
-		   {
-			  feC    = &DD[dP00 * numberOfLBnodes];
-			  fwC    = &DD[dM00 * numberOfLBnodes];
-			  fnC    = &DD[d0P0 * numberOfLBnodes];
-			  fsC    = &DD[d0M0 * numberOfLBnodes];
-			  ftC    = &DD[d00P * numberOfLBnodes];
-			  fbC    = &DD[d00M * numberOfLBnodes];
-			  fneC   = &DD[dPP0 * numberOfLBnodes];
-			  fswC   = &DD[dMM0 * numberOfLBnodes];
-			  fseC   = &DD[dPM0 * numberOfLBnodes];
-			  fnwC   = &DD[dMP0 * numberOfLBnodes];
-			  fteC   = &DD[dP0P * numberOfLBnodes];
-			  fbwC   = &DD[dM0M * numberOfLBnodes];
-			  fbeC   = &DD[dP0M * numberOfLBnodes];
-			  ftwC   = &DD[dM0P * numberOfLBnodes];
-			  ftnC   = &DD[d0PP * numberOfLBnodes];
-			  fbsC   = &DD[d0MM * numberOfLBnodes];
-			  fbnC   = &DD[d0PM * numberOfLBnodes];
-			  ftsC   = &DD[d0MP * numberOfLBnodes];
-			  fzeroC = &DD[d000 * numberOfLBnodes];
-			  ftneC  = &DD[dPPP * numberOfLBnodes];
-			  ftswC  = &DD[dMMP * numberOfLBnodes];
-			  ftseC  = &DD[dPMP * numberOfLBnodes];
-			  ftnwC  = &DD[dMPP * numberOfLBnodes];
-			  fbneC  = &DD[dPPM * numberOfLBnodes];
-			  fbswC  = &DD[dMMM * numberOfLBnodes];
-			  fbseC  = &DD[dPMM * numberOfLBnodes];
-			  fbnwC  = &DD[dMPM * numberOfLBnodes];
-		   } 			 
-		   else			 
-		   {			 
-			  fwC    = &DD[dP00 * numberOfLBnodes];
-			  feC    = &DD[dM00 * numberOfLBnodes];
-			  fsC    = &DD[d0P0 * numberOfLBnodes];
-			  fnC    = &DD[d0M0 * numberOfLBnodes];
-			  fbC    = &DD[d00P * numberOfLBnodes];
-			  ftC    = &DD[d00M * numberOfLBnodes];
-			  fswC   = &DD[dPP0 * numberOfLBnodes];
-			  fneC   = &DD[dMM0 * numberOfLBnodes];
-			  fnwC   = &DD[dPM0 * numberOfLBnodes];
-			  fseC   = &DD[dMP0 * numberOfLBnodes];
-			  fbwC   = &DD[dP0P * numberOfLBnodes];
-			  fteC   = &DD[dM0M * numberOfLBnodes];
-			  ftwC   = &DD[dP0M * numberOfLBnodes];
-			  fbeC   = &DD[dM0P * numberOfLBnodes];
-			  fbsC   = &DD[d0PP * numberOfLBnodes];
-			  ftnC   = &DD[d0MM * numberOfLBnodes];
-			  ftsC   = &DD[d0PM * numberOfLBnodes];
-			  fbnC   = &DD[d0MP * numberOfLBnodes];
-			  fzeroC = &DD[d000 * numberOfLBnodes];
-			  fbswC  = &DD[dPPP * numberOfLBnodes];
-			  fbneC  = &DD[dMMP * numberOfLBnodes];
-			  fbnwC  = &DD[dPMP * numberOfLBnodes];
-			  fbseC  = &DD[dMPP * numberOfLBnodes];
-			  ftswC  = &DD[dPPM * numberOfLBnodes];
-			  ftneC  = &DD[dMMM * numberOfLBnodes];
-			  ftnwC  = &DD[dPMM * numberOfLBnodes];
-			  ftseC  = &DD[dMPM * numberOfLBnodes];
-		   }
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //SWB//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 0
-			  unsigned int k0zero= cellBaseID[k];
-			  unsigned int k0w   = neighborX[k0zero];
-			  unsigned int k0s   = neighborY[k0zero];
-			  unsigned int k0b   = neighborZ[k0zero];
-			  unsigned int k0sw  = neighborY[k0w];
-			  unsigned int k0bw  = neighborZ[k0w];
-			  unsigned int k0bs  = neighborZ[k0s];
-			  unsigned int k0bsw = neighborZ[k0sw];
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  unsigned int kzero= k0zero;
-			  unsigned int kw   = k0w;   
-			  unsigned int ks   = k0s;   
-			  unsigned int kb   = k0b;   
-			  unsigned int ksw  = k0sw;  
-			  unsigned int kbw  = k0bw;  
-			  unsigned int kbs  = k0bs;  
-			  unsigned int kbsw = k0bsw; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
-			  vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
-			  vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
-
-			  kxyFromfcNEQ_SWB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
-			  kyzFromfcNEQ_SWB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
-			  kxzFromfcNEQ_SWB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB)));
-			  kxxMyyFromfcNEQ_SWB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
-			  kxxMzzFromfcNEQ_SWB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //SWT//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= kb;
-			  kw   = kbw;   
-			  ks   = kbs;   
-			  kb   = neighborZ[kb];   
-			  ksw  = kbsw;  
-			  kbw  = neighborZ[kbw];  
-			  kbs  = neighborZ[kbs];  
-			  kbsw = neighborZ[kbsw]; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
-			  vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
-			  vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
-
-			  kxyFromfcNEQ_SWT    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
-			  kyzFromfcNEQ_SWT    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
-			  kxzFromfcNEQ_SWT    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT)));
-			  kxxMyyFromfcNEQ_SWT = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
-			  kxxMzzFromfcNEQ_SWT = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //SET//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= kw;
-			  kw   = neighborX[kw];   
-			  ks   = ksw;   
-			  kb   = kbw;   
-			  ksw  = neighborX[ksw];  
-			  kbw  = neighborX[kbw];  
-			  kbs  = kbsw;  
-			  kbsw = neighborX[kbsw]; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
-			  vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
-			  vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
-
-			  kxyFromfcNEQ_SET    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
-			  kyzFromfcNEQ_SET    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
-			  kxzFromfcNEQ_SET    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET)));
-			  kxxMyyFromfcNEQ_SET = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
-			  kxxMzzFromfcNEQ_SET = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //SEB//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kb   = kzero;   
-			  kbw  = kw;  
-			  kbs  = ks;  
-			  kbsw = ksw; 
-			  kzero= k0w;
-			  kw   = neighborX[k0w];   
-			  ks   = k0sw;   
-			  ksw  = neighborX[k0sw];  
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
-			  vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
-			  vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
-
-			  kxyFromfcNEQ_SEB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
-			  kyzFromfcNEQ_SEB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
-			  kxzFromfcNEQ_SEB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB)));
-			  kxxMyyFromfcNEQ_SEB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
-			  kxxMzzFromfcNEQ_SEB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //NWB//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 0
-			  k0zero= k0s;
-			  k0w   = k0sw;
-			  k0s   = neighborY[k0s];
-			  k0b   = k0bs;
-			  k0sw  = neighborY[k0sw];
-			  k0bw  = k0bsw;
-			  k0bs  = neighborY[k0bs];
-			  k0bsw = neighborY[k0bsw];
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= k0zero;
-			  kw   = k0w;   
-			  ks   = k0s;   
-			  kb   = k0b;   
-			  ksw  = k0sw;  
-			  kbw  = k0bw;  
-			  kbs  = k0bs;  
-			  kbsw = k0bsw; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
-			  vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
-			  vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
-
-			  kxyFromfcNEQ_NWB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
-			  kyzFromfcNEQ_NWB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
-			  kxzFromfcNEQ_NWB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB)));
-			  kxxMyyFromfcNEQ_NWB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
-			  kxxMzzFromfcNEQ_NWB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //NWT//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= kb;
-			  kw   = kbw;   
-			  ks   = kbs;   
-			  kb   = neighborZ[kb];   
-			  ksw  = kbsw;  
-			  kbw  = neighborZ[kbw];  
-			  kbs  = neighborZ[kbs];  
-			  kbsw = neighborZ[kbsw]; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
-			  vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
-			  vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
-
-			  kxyFromfcNEQ_NWT    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
-			  kyzFromfcNEQ_NWT    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
-			  kxzFromfcNEQ_NWT    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT)));
-			  kxxMyyFromfcNEQ_NWT = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
-			  kxxMzzFromfcNEQ_NWT = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //NET//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kzero= kw;
-			  kw   = neighborX[kw];   
-			  ks   = ksw;   
-			  kb   = kbw;   
-			  ksw  = neighborX[ksw];  
-			  kbw  = neighborX[kbw];  
-			  kbs  = kbsw;  
-			  kbsw = neighborX[kbsw]; 
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
-			  vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
-			  vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
-
-			  kxyFromfcNEQ_NET    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
-			  kyzFromfcNEQ_NET    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
-			  kxzFromfcNEQ_NET    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET)));
-			  kxxMyyFromfcNEQ_NET = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
-			  kxxMzzFromfcNEQ_NET = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //NEB//
-			  //////////////////////////////////////////////////////////////////////////
-			  //index 
-			  kb   = kzero;   
-			  kbw  = kw;  
-			  kbs  = ks;  
-			  kbsw = ksw; 
-			  kzero= k0w;
-			  kw   = neighborX[k0w];   
-			  ks   = k0sw;   
-			  ksw  = neighborX[k0sw];  
-			  ////////////////////////////////////////////////////////////////////////////////
-			  f_E    = feC[kzero];
-			  f_W    = fwC[kw];
-			  f_N    = fnC[kzero];
-			  f_S    = fsC[ks];
-			  f_T    = ftC[kzero];
-			  f_B    = fbC[kb];
-			  f_NE   = fneC[kzero];
-			  f_SW   = fswC[ksw];
-			  f_SE   = fseC[ks];
-			  f_NW   = fnwC[kw];
-			  f_TE   = fteC[kzero];
-			  f_BW   = fbwC[kbw];
-			  f_BE   = fbeC[kb];
-			  f_TW   = ftwC[kw];
-			  f_TN   = ftnC[kzero];
-			  f_BS   = fbsC[kbs];
-			  f_BN   = fbnC[kb];
-			  f_TS   = ftsC[ks];
-			  f_ZERO = fzeroC[kzero];
-			  f_TNE  = ftneC[kzero];
-			  f_TSW  = ftswC[ksw];
-			  f_TSE  = ftseC[ks];
-			  f_TNW  = ftnwC[kw];
-			  f_BNE  = fbneC[kb];
-			  f_BSW  = fbswC[kbsw];
-			  f_BSE  = fbseC[kbs];
-			  f_BNW  = fbnwC[kbw];
-
-			  drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
-			  vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
-			  vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
-			  vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
-
-			  kxyFromfcNEQ_NEB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
-			  kyzFromfcNEQ_NEB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
-			  kxzFromfcNEQ_NEB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB)));
-			  kxxMyyFromfcNEQ_NEB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
-			  kxxMzzFromfcNEQ_NEB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
-
-			  //////////////////////////////////////////////////////////////////////////
-			  //interpolate
-			  //////////////////////////////////////////////////////////////////////////
-			  a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-				 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
-				 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-				 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-				 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
-				 c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-				 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
-				 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
-				 c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
-				 c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
-				 c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
-				 c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-				 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
-			  b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
-				 c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
-				 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-				 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
-				 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
-				 c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
-				 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-				 c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
-				 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-				 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
-				 c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
-				 c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
-				 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-				 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
-
-			  //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour;
-
-			  c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-				 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
-				 c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
-				 c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
-				 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
-				 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
-				 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
-				 c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
-				 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-				 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-				 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-				 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
-				 c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
-				 c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
-			  ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
-			  bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
-			  //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four;
-			  cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
-			  axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
-				 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
-				 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
-				 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-				 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
-				 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
-				 c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-				 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
-			  bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
-				 kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-				 c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
-				 c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
-			  cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
-				 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
-				 c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
-				 c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
-			  ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
-			  by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
-			  cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
-			  ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
-				 kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
-				 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
-				 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
-			  byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
-				 c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
-				 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
-				 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
-				 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
-				 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
-				 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-				 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
-			  cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-				 kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
-				 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
-				 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
-			  az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
-			  //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four;
-			  bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1;
-			  cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
-			  azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
-				 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
-				 c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
-				 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
-			  bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
-				 kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
-				 c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
-				 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
-			  czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
-				 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
-				 c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
-				 c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
-				 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
-				 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
-				 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
-				 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
-			  axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
-			  bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
-			  cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
-			  axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
-			  bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
-			  cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
-			  ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
-			  byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
-			  cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
-			  axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT;
-			  bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
-			  cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
-			  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  //drho
-			//   d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
-			//   dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
-			//   dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
-			//   dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
-			//   dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
-			//   dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
-			//   dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
-			//   dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  unsigned int kTimeStepOld = kTimeStep - numberOfParticles;
-			  real localX = coordParticleXlocal[kTimeStepOld];
-			  real localY = coordParticleYlocal[kTimeStepOld];
-			  real localZ = coordParticleZlocal[kTimeStepOld];
-
-			  x = (localX * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
+        /////////////////////////////////////////////////////////////
+        unsigned int kTimeStep = k + (timestep * numberOfParticles);
+        /////////////////////////////////////////////////////////////
+        unsigned int kCellBaseID = cellBaseID[k];
+        unsigned int BC000  = bcMatD[kCellBaseID];
+        unsigned int BCx00  = bcMatD[neighborX[kCellBaseID]];
+        unsigned int BC0y0  = bcMatD[neighborY[kCellBaseID]];
+        unsigned int BC00z  = bcMatD[neighborZ[kCellBaseID]];
+        unsigned int BCxy0  = bcMatD[neighborY[neighborX[kCellBaseID]]];
+        unsigned int BCx0z  = bcMatD[neighborZ[neighborX[kCellBaseID]]];
+        unsigned int BC0yz  = bcMatD[neighborZ[neighborY[kCellBaseID]]];
+        unsigned int BCxyz  = bcMatD[neighborZ[neighborY[neighborX[kCellBaseID]]]];
+        /////////////////////////////////////////////////////////////
+           if( (BC000 == GEO_FLUID) || (BCx00 == GEO_FLUID) || (BC0y0 == GEO_FLUID) || (BC00z == GEO_FLUID) || 
+            (BCxy0 == GEO_FLUID) || (BCx0z == GEO_FLUID) || (BC0yz == GEO_FLUID) || (BCxyz == GEO_FLUID) )
+        {
+           if (isEvenTimestep==true)
+           {
+              feC    = &DD[dP00 * numberOfLBnodes];
+              fwC    = &DD[dM00 * numberOfLBnodes];
+              fnC    = &DD[d0P0 * numberOfLBnodes];
+              fsC    = &DD[d0M0 * numberOfLBnodes];
+              ftC    = &DD[d00P * numberOfLBnodes];
+              fbC    = &DD[d00M * numberOfLBnodes];
+              fneC   = &DD[dPP0 * numberOfLBnodes];
+              fswC   = &DD[dMM0 * numberOfLBnodes];
+              fseC   = &DD[dPM0 * numberOfLBnodes];
+              fnwC   = &DD[dMP0 * numberOfLBnodes];
+              fteC   = &DD[dP0P * numberOfLBnodes];
+              fbwC   = &DD[dM0M * numberOfLBnodes];
+              fbeC   = &DD[dP0M * numberOfLBnodes];
+              ftwC   = &DD[dM0P * numberOfLBnodes];
+              ftnC   = &DD[d0PP * numberOfLBnodes];
+              fbsC   = &DD[d0MM * numberOfLBnodes];
+              fbnC   = &DD[d0PM * numberOfLBnodes];
+              ftsC   = &DD[d0MP * numberOfLBnodes];
+              fzeroC = &DD[d000 * numberOfLBnodes];
+              ftneC  = &DD[dPPP * numberOfLBnodes];
+              ftswC  = &DD[dMMP * numberOfLBnodes];
+              ftseC  = &DD[dPMP * numberOfLBnodes];
+              ftnwC  = &DD[dMPP * numberOfLBnodes];
+              fbneC  = &DD[dPPM * numberOfLBnodes];
+              fbswC  = &DD[dMMM * numberOfLBnodes];
+              fbseC  = &DD[dPMM * numberOfLBnodes];
+              fbnwC  = &DD[dMPM * numberOfLBnodes];
+           }              
+           else             
+           {             
+              fwC    = &DD[dP00 * numberOfLBnodes];
+              feC    = &DD[dM00 * numberOfLBnodes];
+              fsC    = &DD[d0P0 * numberOfLBnodes];
+              fnC    = &DD[d0M0 * numberOfLBnodes];
+              fbC    = &DD[d00P * numberOfLBnodes];
+              ftC    = &DD[d00M * numberOfLBnodes];
+              fswC   = &DD[dPP0 * numberOfLBnodes];
+              fneC   = &DD[dMM0 * numberOfLBnodes];
+              fnwC   = &DD[dPM0 * numberOfLBnodes];
+              fseC   = &DD[dMP0 * numberOfLBnodes];
+              fbwC   = &DD[dP0P * numberOfLBnodes];
+              fteC   = &DD[dM0M * numberOfLBnodes];
+              ftwC   = &DD[dP0M * numberOfLBnodes];
+              fbeC   = &DD[dM0P * numberOfLBnodes];
+              fbsC   = &DD[d0PP * numberOfLBnodes];
+              ftnC   = &DD[d0MM * numberOfLBnodes];
+              ftsC   = &DD[d0PM * numberOfLBnodes];
+              fbnC   = &DD[d0MP * numberOfLBnodes];
+              fzeroC = &DD[d000 * numberOfLBnodes];
+              fbswC  = &DD[dPPP * numberOfLBnodes];
+              fbneC  = &DD[dMMP * numberOfLBnodes];
+              fbnwC  = &DD[dPMP * numberOfLBnodes];
+              fbseC  = &DD[dMPP * numberOfLBnodes];
+              ftswC  = &DD[dPPM * numberOfLBnodes];
+              ftneC  = &DD[dMMM * numberOfLBnodes];
+              ftnwC  = &DD[dPMM * numberOfLBnodes];
+              ftseC  = &DD[dMPM * numberOfLBnodes];
+           }
+
+              //////////////////////////////////////////////////////////////////////////
+              //SWB//
+              //////////////////////////////////////////////////////////////////////////
+              //index 0
+              unsigned int k0zero= cellBaseID[k];
+              unsigned int k0w   = neighborX[k0zero];
+              unsigned int k0s   = neighborY[k0zero];
+              unsigned int k0b   = neighborZ[k0zero];
+              unsigned int k0sw  = neighborY[k0w];
+              unsigned int k0bw  = neighborZ[k0w];
+              unsigned int k0bs  = neighborZ[k0s];
+              unsigned int k0bsw = neighborZ[k0sw];
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              unsigned int kzero= k0zero;
+              unsigned int kw   = k0w;   
+              unsigned int ks   = k0s;   
+              unsigned int kb   = k0b;   
+              unsigned int ksw  = k0sw;  
+              unsigned int kbw  = k0bw;  
+              unsigned int kbs  = k0bs;  
+              unsigned int kbsw = k0bsw; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_SWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_SWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWB);
+              vx2_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWB);
+              vx3_SWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWB);
+
+              kxyFromfcNEQ_SWB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx2_SWB)));
+              kyzFromfcNEQ_SWB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWB) - ((vx2_SWB*vx3_SWB)));
+              kxzFromfcNEQ_SWB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx3_SWB)));
+              kxxMyyFromfcNEQ_SWB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx2_SWB*vx2_SWB)));
+              kxxMzzFromfcNEQ_SWB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWB) - ((vx1_SWB*vx1_SWB-vx3_SWB*vx3_SWB)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //SWT//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= kb;
+              kw   = kbw;   
+              ks   = kbs;   
+              kb   = neighborZ[kb];   
+              ksw  = kbsw;  
+              kbw  = neighborZ[kbw];  
+              kbs  = neighborZ[kbs];  
+              kbsw = neighborZ[kbsw]; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_SWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_SWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SWT);
+              vx2_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SWT);
+              vx3_SWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SWT);
+
+              kxyFromfcNEQ_SWT    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx2_SWT)));
+              kyzFromfcNEQ_SWT    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SWT) - ((vx2_SWT*vx3_SWT)));
+              kxzFromfcNEQ_SWT    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx3_SWT)));
+              kxxMyyFromfcNEQ_SWT = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx2_SWT*vx2_SWT)));
+              kxxMzzFromfcNEQ_SWT = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SWT) - ((vx1_SWT*vx1_SWT-vx3_SWT*vx3_SWT)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //SET//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= kw;
+              kw   = neighborX[kw];   
+              ks   = ksw;   
+              kb   = kbw;   
+              ksw  = neighborX[ksw];  
+              kbw  = neighborX[kbw];  
+              kbs  = kbsw;  
+              kbsw = neighborX[kbsw]; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_SET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_SET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SET);
+              vx2_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SET);
+              vx3_SET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SET);
+
+              kxyFromfcNEQ_SET    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx2_SET)));
+              kyzFromfcNEQ_SET    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SET) - ((vx2_SET*vx3_SET)));
+              kxzFromfcNEQ_SET    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SET) - ((vx1_SET*vx3_SET)));
+              kxxMyyFromfcNEQ_SET = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx2_SET*vx2_SET)));
+              kxxMzzFromfcNEQ_SET = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SET) - ((vx1_SET*vx1_SET-vx3_SET*vx3_SET)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //SEB//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kb   = kzero;   
+              kbw  = kw;  
+              kbs  = ks;  
+              kbsw = ksw; 
+              kzero= k0w;
+              kw   = neighborX[k0w];   
+              ks   = k0sw;   
+              ksw  = neighborX[k0sw];  
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_SEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_SEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_SEB);
+              vx2_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_SEB);
+              vx3_SEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_SEB);
+
+              kxyFromfcNEQ_SEB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx2_SEB)));
+              kyzFromfcNEQ_SEB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_SEB) - ((vx2_SEB*vx3_SEB)));
+              kxzFromfcNEQ_SEB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx3_SEB)));
+              kxxMyyFromfcNEQ_SEB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx2_SEB*vx2_SEB)));
+              kxxMzzFromfcNEQ_SEB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_SEB) - ((vx1_SEB*vx1_SEB-vx3_SEB*vx3_SEB)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //NWB//
+              //////////////////////////////////////////////////////////////////////////
+              //index 0
+              k0zero= k0s;
+              k0w   = k0sw;
+              k0s   = neighborY[k0s];
+              k0b   = k0bs;
+              k0sw  = neighborY[k0sw];
+              k0bw  = k0bsw;
+              k0bs  = neighborY[k0bs];
+              k0bsw = neighborY[k0bsw];
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= k0zero;
+              kw   = k0w;   
+              ks   = k0s;   
+              kb   = k0b;   
+              ksw  = k0sw;  
+              kbw  = k0bw;  
+              kbs  = k0bs;  
+              kbsw = k0bsw; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_NWB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_NWB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWB);
+              vx2_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWB);
+              vx3_NWB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWB);
+
+              kxyFromfcNEQ_NWB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx2_NWB)));
+              kyzFromfcNEQ_NWB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWB) - ((vx2_NWB*vx3_NWB)));
+              kxzFromfcNEQ_NWB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx3_NWB)));
+              kxxMyyFromfcNEQ_NWB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx2_NWB*vx2_NWB)));
+              kxxMzzFromfcNEQ_NWB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWB) - ((vx1_NWB*vx1_NWB-vx3_NWB*vx3_NWB)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //NWT//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= kb;
+              kw   = kbw;   
+              ks   = kbs;   
+              kb   = neighborZ[kb];   
+              ksw  = kbsw;  
+              kbw  = neighborZ[kbw];  
+              kbs  = neighborZ[kbs];  
+              kbsw = neighborZ[kbsw]; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_NWT = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_NWT  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NWT);
+              vx2_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NWT);
+              vx3_NWT  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NWT);
+
+              kxyFromfcNEQ_NWT    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx2_NWT)));
+              kyzFromfcNEQ_NWT    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NWT) - ((vx2_NWT*vx3_NWT)));
+              kxzFromfcNEQ_NWT    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx3_NWT)));
+              kxxMyyFromfcNEQ_NWT = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx2_NWT*vx2_NWT)));
+              kxxMzzFromfcNEQ_NWT = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NWT) - ((vx1_NWT*vx1_NWT-vx3_NWT*vx3_NWT)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //NET//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kzero= kw;
+              kw   = neighborX[kw];   
+              ks   = ksw;   
+              kb   = kbw;   
+              ksw  = neighborX[ksw];  
+              kbw  = neighborX[kbw];  
+              kbs  = kbsw;  
+              kbsw = neighborX[kbsw]; 
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_NET = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_NET  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NET);
+              vx2_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NET);
+              vx3_NET  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NET);
+
+              kxyFromfcNEQ_NET    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx2_NET)));
+              kyzFromfcNEQ_NET    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NET) - ((vx2_NET*vx3_NET)));
+              kxzFromfcNEQ_NET    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NET) - ((vx1_NET*vx3_NET)));
+              kxxMyyFromfcNEQ_NET = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx2_NET*vx2_NET)));
+              kxxMzzFromfcNEQ_NET = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NET) - ((vx1_NET*vx1_NET-vx3_NET*vx3_NET)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //NEB//
+              //////////////////////////////////////////////////////////////////////////
+              //index 
+              kb   = kzero;   
+              kbw  = kw;  
+              kbs  = ks;  
+              kbsw = ksw; 
+              kzero= k0w;
+              kw   = neighborX[k0w];   
+              ks   = k0sw;   
+              ksw  = neighborX[k0sw];  
+              ////////////////////////////////////////////////////////////////////////////////
+              f_E    = feC[kzero];
+              f_W    = fwC[kw];
+              f_N    = fnC[kzero];
+              f_S    = fsC[ks];
+              f_T    = ftC[kzero];
+              f_B    = fbC[kb];
+              f_NE   = fneC[kzero];
+              f_SW   = fswC[ksw];
+              f_SE   = fseC[ks];
+              f_NW   = fnwC[kw];
+              f_TE   = fteC[kzero];
+              f_BW   = fbwC[kbw];
+              f_BE   = fbeC[kb];
+              f_TW   = ftwC[kw];
+              f_TN   = ftnC[kzero];
+              f_BS   = fbsC[kbs];
+              f_BN   = fbnC[kb];
+              f_TS   = ftsC[ks];
+              f_ZERO = fzeroC[kzero];
+              f_TNE  = ftneC[kzero];
+              f_TSW  = ftswC[ksw];
+              f_TSE  = ftseC[ks];
+              f_TNW  = ftnwC[kw];
+              f_BNE  = fbneC[kb];
+              f_BSW  = fbswC[kbsw];
+              f_BSE  = fbseC[kbs];
+              f_BNW  = fbnwC[kbw];
+
+              drho_NEB = f_E+f_W+f_N+f_S+f_T+f_B+f_NE+f_SW+f_SE+f_NW+f_TE+f_BW+f_BE+f_TW+f_TN+f_BS+f_BN+f_TS+f_ZERO+f_TNE+f_TSW+f_TSE+f_TNW+f_BNE+f_BSW+f_BSE+f_BNW;
+              vx1_NEB  = (((f_TNE-f_BSW)+(f_TSE-f_BNW)+(f_BNE-f_TSW)+(f_BSE-f_TNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W))/(c1o1 + drho_NEB);
+              vx2_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S))/(c1o1 + drho_NEB);
+              vx3_NEB  = (((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSE-f_BNW)+(f_TSW-f_BNE)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B))/(c1o1 + drho_NEB);
+
+              kxyFromfcNEQ_NEB    = -c3o1*omega*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx2_NEB)));
+              kyzFromfcNEQ_NEB    = -c3o1*omega*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho_NEB) - ((vx2_NEB*vx3_NEB)));
+              kxzFromfcNEQ_NEB    = -c3o1*omega*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx3_NEB)));
+              kxxMyyFromfcNEQ_NEB = -c3o2*omega *((f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx2_NEB*vx2_NEB)));
+              kxxMzzFromfcNEQ_NEB = -c3o2*omega *((f_SW+f_W+f_NW-f_BS-f_TS-f_B-f_T-f_BN-f_TN+f_SE+f_E+f_NE             ) / (c1o1 + drho_NEB) - ((vx1_NEB*vx1_NEB-vx3_NEB*vx3_NEB)));
+
+              //////////////////////////////////////////////////////////////////////////
+              //interpolate
+              //////////////////////////////////////////////////////////////////////////
+              a0 = (-kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
+                 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT - 
+                 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+                 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+                 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET - c2o1*kxyFromfcNEQ_NWB - c2o1*kxyFromfcNEQ_NWT + 
+                 c2o1*kxyFromfcNEQ_SEB + c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+                 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB - c2o1*kxzFromfcNEQ_NWT + 
+                 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB - c2o1*kxzFromfcNEQ_SWT + 
+                 c8o1*vx1_NEB + c8o1*vx1_NET + c8o1*vx1_NWB + c8o1*vx1_NWT + c8o1*vx1_SEB + 
+                 c8o1*vx1_SET + c8o1*vx1_SWB + c8o1*vx1_SWT + c2o1*vx2_NEB + c2o1*vx2_NET - 
+                 c2o1*vx2_NWB - c2o1*vx2_NWT - c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + 
+                 c2o1*vx2_SWT - c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+                 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+              b0 = (c2o1*kxxMyyFromfcNEQ_NEB + c2o1*kxxMyyFromfcNEQ_NET + c2o1*kxxMyyFromfcNEQ_NWB + c2o1*kxxMyyFromfcNEQ_NWT - 
+                 c2o1*kxxMyyFromfcNEQ_SEB - c2o1*kxxMyyFromfcNEQ_SET - c2o1*kxxMyyFromfcNEQ_SWB - c2o1*kxxMyyFromfcNEQ_SWT - 
+                 kxxMzzFromfcNEQ_NEB - kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+                 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET + kxxMzzFromfcNEQ_SWB + kxxMzzFromfcNEQ_SWT - 
+                 c2o1*kxyFromfcNEQ_NEB - c2o1*kxyFromfcNEQ_NET + c2o1*kxyFromfcNEQ_NWB + c2o1*kxyFromfcNEQ_NWT - 
+                 c2o1*kxyFromfcNEQ_SEB - c2o1*kxyFromfcNEQ_SET + c2o1*kxyFromfcNEQ_SWB + c2o1*kxyFromfcNEQ_SWT + 
+                 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET + c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+                 c2o1*kyzFromfcNEQ_SEB - c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB - c2o1*kyzFromfcNEQ_SWT + 
+                 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+                 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT + 
+                 c8o1*vx2_NEB + c8o1*vx2_NET + c8o1*vx2_NWB + c8o1*vx2_NWT + 
+                 c8o1*vx2_SEB + c8o1*vx2_SET + c8o1*vx2_SWB + c8o1*vx2_SWT - 
+                 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+                 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c64o1;
+
+              //b0 = ((eight*vx2_NEB + eight*vx2_SWT) + (eight*vx2_NET + eight*vx2_SWB) + (eight*vx2_NWB + eight*vx2_SET) + (eight*vx2_NWT + eight*vx2_SEB))/sixtyfour;
+
+              c0 = (kxxMyyFromfcNEQ_NEB - kxxMyyFromfcNEQ_NET + kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
+                 kxxMyyFromfcNEQ_SEB - kxxMyyFromfcNEQ_SET + kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT - 
+                 c2o1*kxxMzzFromfcNEQ_NEB + c2o1*kxxMzzFromfcNEQ_NET - c2o1*kxxMzzFromfcNEQ_NWB + c2o1*kxxMzzFromfcNEQ_NWT - 
+                 c2o1*kxxMzzFromfcNEQ_SEB + c2o1*kxxMzzFromfcNEQ_SET - c2o1*kxxMzzFromfcNEQ_SWB + c2o1*kxxMzzFromfcNEQ_SWT - 
+                 c2o1*kxzFromfcNEQ_NEB - c2o1*kxzFromfcNEQ_NET + c2o1*kxzFromfcNEQ_NWB + c2o1*kxzFromfcNEQ_NWT - 
+                 c2o1*kxzFromfcNEQ_SEB - c2o1*kxzFromfcNEQ_SET + c2o1*kxzFromfcNEQ_SWB + c2o1*kxzFromfcNEQ_SWT - 
+                 c2o1*kyzFromfcNEQ_NEB - c2o1*kyzFromfcNEQ_NET - c2o1*kyzFromfcNEQ_NWB - c2o1*kyzFromfcNEQ_NWT + 
+                 c2o1*kyzFromfcNEQ_SEB + c2o1*kyzFromfcNEQ_SET + c2o1*kyzFromfcNEQ_SWB + c2o1*kyzFromfcNEQ_SWT - 
+                 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+                 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+                 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+                 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT + 
+                 c8o1*vx3_NEB + c8o1*vx3_NET + c8o1*vx3_NWB + c8o1*vx3_NWT + 
+                 c8o1*vx3_SEB + c8o1*vx3_SET + c8o1*vx3_SWB + c8o1*vx3_SWT)/c64o1;
+              ax = (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT + vx1_SEB + vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
+              bx = (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT + vx2_SEB + vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
+              //bx = ((vx2_NEB - vx2_SWT) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_SEB - vx2_NWT))/four;
+              cx = (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT + vx3_SEB + vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
+              axx= (kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB - kxxMyyFromfcNEQ_NWT + 
+                 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB - kxxMyyFromfcNEQ_SWT + 
+                 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET - kxxMzzFromfcNEQ_NWB - kxxMzzFromfcNEQ_NWT + 
+                 kxxMzzFromfcNEQ_SEB + kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+                 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB - c2o1*vx2_NWT - 
+                 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB + c2o1*vx2_SWT - 
+                 c2o1*vx3_NEB + c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+                 c2o1*vx3_SEB + c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+              bxx= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET - kxyFromfcNEQ_NWB - kxyFromfcNEQ_NWT + 
+                 kxyFromfcNEQ_SEB + kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+                 c2o1*vx1_NEB - c2o1*vx1_NET + c2o1*vx1_NWB + c2o1*vx1_NWT + 
+                 c2o1*vx1_SEB + c2o1*vx1_SET - c2o1*vx1_SWB - c2o1*vx1_SWT)/c8o1;
+              cxx= (kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB - kxzFromfcNEQ_NWT + 
+                 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB - kxzFromfcNEQ_SWT + 
+                 c2o1*vx1_NEB - c2o1*vx1_NET - c2o1*vx1_NWB + c2o1*vx1_NWT + 
+                 c2o1*vx1_SEB - c2o1*vx1_SET - c2o1*vx1_SWB + c2o1*vx1_SWT)/c8o1;
+              ay = (vx1_NEB + vx1_NET + vx1_NWB + vx1_NWT - vx1_SEB - vx1_SET - vx1_SWB - vx1_SWT)/c4o1;
+              by = (vx2_NEB + vx2_NET + vx2_NWB + vx2_NWT - vx2_SEB - vx2_SET - vx2_SWB - vx2_SWT)/c4o1;
+              cy = (vx3_NEB + vx3_NET + vx3_NWB + vx3_NWT - vx3_SEB - vx3_SET - vx3_SWB - vx3_SWT)/c4o1;
+              ayy= (kxyFromfcNEQ_NEB + kxyFromfcNEQ_NET + kxyFromfcNEQ_NWB + kxyFromfcNEQ_NWT - 
+                 kxyFromfcNEQ_SEB - kxyFromfcNEQ_SET - kxyFromfcNEQ_SWB - kxyFromfcNEQ_SWT - 
+                 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB + c2o1*vx2_NWT + 
+                 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB - c2o1*vx2_SWT)/c8o1;
+              byy= (-c2o1*kxxMyyFromfcNEQ_NEB - c2o1*kxxMyyFromfcNEQ_NET - c2o1*kxxMyyFromfcNEQ_NWB - c2o1*kxxMyyFromfcNEQ_NWT + 
+                 c2o1*kxxMyyFromfcNEQ_SEB + c2o1*kxxMyyFromfcNEQ_SET + c2o1*kxxMyyFromfcNEQ_SWB + c2o1*kxxMyyFromfcNEQ_SWT + 
+                 kxxMzzFromfcNEQ_NEB + kxxMzzFromfcNEQ_NET + kxxMzzFromfcNEQ_NWB + kxxMzzFromfcNEQ_NWT - 
+                 kxxMzzFromfcNEQ_SEB - kxxMzzFromfcNEQ_SET - kxxMzzFromfcNEQ_SWB - kxxMzzFromfcNEQ_SWT + 
+                 c2o1*vx1_NEB + c2o1*vx1_NET - c2o1*vx1_NWB - c2o1*vx1_NWT - 
+                 c2o1*vx1_SEB - c2o1*vx1_SET + c2o1*vx1_SWB + c2o1*vx1_SWT - 
+                 c2o1*vx3_NEB + c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+                 c2o1*vx3_SEB - c2o1*vx3_SET + c2o1*vx3_SWB - c2o1*vx3_SWT)/c16o1;
+              cyy= (kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET + kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
+                 kyzFromfcNEQ_SEB - kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB - kyzFromfcNEQ_SWT + 
+                 c2o1*vx2_NEB - c2o1*vx2_NET + c2o1*vx2_NWB - c2o1*vx2_NWT - 
+                 c2o1*vx2_SEB + c2o1*vx2_SET - c2o1*vx2_SWB + c2o1*vx2_SWT)/c8o1;
+              az = (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT - vx1_SEB + vx1_SET - vx1_SWB + vx1_SWT)/c4o1;
+              //bz = (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT - vx2_SEB + vx2_SET - vx2_SWB + vx2_SWT)/four;
+              bz = ((vx2_SWT - vx2_NEB) + (vx2_NET - vx2_SWB) + (vx2_SET - vx2_NWB) + (vx2_NWT - vx2_SEB))/c4o1;
+              cz = (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT - vx3_SEB + vx3_SET - vx3_SWB + vx3_SWT)/c4o1;
+              azz= (-kxzFromfcNEQ_NEB + kxzFromfcNEQ_NET - kxzFromfcNEQ_NWB + kxzFromfcNEQ_NWT - 
+                 kxzFromfcNEQ_SEB + kxzFromfcNEQ_SET - kxzFromfcNEQ_SWB + kxzFromfcNEQ_SWT + 
+                 c2o1*vx3_NEB - c2o1*vx3_NET - c2o1*vx3_NWB + c2o1*vx3_NWT + 
+                 c2o1*vx3_SEB - c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+              bzz= (-kyzFromfcNEQ_NEB + kyzFromfcNEQ_NET - kyzFromfcNEQ_NWB + kyzFromfcNEQ_NWT - 
+                 kyzFromfcNEQ_SEB + kyzFromfcNEQ_SET - kyzFromfcNEQ_SWB + kyzFromfcNEQ_SWT + 
+                 c2o1*vx3_NEB - c2o1*vx3_NET + c2o1*vx3_NWB - c2o1*vx3_NWT - 
+                 c2o1*vx3_SEB + c2o1*vx3_SET - c2o1*vx3_SWB + c2o1*vx3_SWT)/c8o1;
+              czz= (-kxxMyyFromfcNEQ_NEB + kxxMyyFromfcNEQ_NET - kxxMyyFromfcNEQ_NWB + kxxMyyFromfcNEQ_NWT - 
+                 kxxMyyFromfcNEQ_SEB + kxxMyyFromfcNEQ_SET - kxxMyyFromfcNEQ_SWB + kxxMyyFromfcNEQ_SWT + 
+                 c2o1*kxxMzzFromfcNEQ_NEB - c2o1*kxxMzzFromfcNEQ_NET + c2o1*kxxMzzFromfcNEQ_NWB - c2o1*kxxMzzFromfcNEQ_NWT + 
+                 c2o1*kxxMzzFromfcNEQ_SEB - c2o1*kxxMzzFromfcNEQ_SET + c2o1*kxxMzzFromfcNEQ_SWB - c2o1*kxxMzzFromfcNEQ_SWT - 
+                 c2o1*vx1_NEB + c2o1*vx1_NET + c2o1*vx1_NWB - c2o1*vx1_NWT - 
+                 c2o1*vx1_SEB + c2o1*vx1_SET + c2o1*vx1_SWB - c2o1*vx1_SWT - 
+                 c2o1*vx2_NEB + c2o1*vx2_NET - c2o1*vx2_NWB + c2o1*vx2_NWT + 
+                 c2o1*vx2_SEB - c2o1*vx2_SET + c2o1*vx2_SWB - c2o1*vx2_SWT)/c16o1;
+              axy= (vx1_NEB + vx1_NET - vx1_NWB - vx1_NWT - vx1_SEB - vx1_SET + vx1_SWB + vx1_SWT)/c2o1;
+              bxy= (vx2_NEB + vx2_NET - vx2_NWB - vx2_NWT - vx2_SEB - vx2_SET + vx2_SWB + vx2_SWT)/c2o1;
+              cxy= (vx3_NEB + vx3_NET - vx3_NWB - vx3_NWT - vx3_SEB - vx3_SET + vx3_SWB + vx3_SWT)/c2o1;
+              axz= (-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT - vx1_SEB + vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
+              bxz= (-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT - vx2_SEB + vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
+              cxz= (-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT - vx3_SEB + vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
+              ayz= (-vx1_NEB + vx1_NET - vx1_NWB + vx1_NWT + vx1_SEB - vx1_SET + vx1_SWB - vx1_SWT)/c2o1;
+              byz= (-vx2_NEB + vx2_NET - vx2_NWB + vx2_NWT + vx2_SEB - vx2_SET + vx2_SWB - vx2_SWT)/c2o1;
+              cyz= (-vx3_NEB + vx3_NET - vx3_NWB + vx3_NWT + vx3_SEB - vx3_SET + vx3_SWB - vx3_SWT)/c2o1;
+              axyz=-vx1_NEB + vx1_NET + vx1_NWB - vx1_NWT + vx1_SEB - vx1_SET - vx1_SWB + vx1_SWT;
+              bxyz=-vx2_NEB + vx2_NET + vx2_NWB - vx2_NWT + vx2_SEB - vx2_SET - vx2_SWB + vx2_SWT;
+              cxyz=-vx3_NEB + vx3_NET + vx3_NWB - vx3_NWT + vx3_SEB - vx3_SET - vx3_SWB + vx3_SWT;
+              //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              //drho
+            //   d0   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT + drho_SEB + drho_SET + drho_SWB + drho_SWT) * c1o8;
+            //   dx   = ( drho_NEB + drho_NET - drho_NWB - drho_NWT + drho_SEB + drho_SET - drho_SWB - drho_SWT) * c1o4;
+            //   dy   = ( drho_NEB + drho_NET + drho_NWB + drho_NWT - drho_SEB - drho_SET - drho_SWB - drho_SWT) * c1o4;
+            //   dz   = (-drho_NEB + drho_NET - drho_NWB + drho_NWT - drho_SEB + drho_SET - drho_SWB + drho_SWT) * c1o4;
+            //   dxy  = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2;
+            //   dxz  = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2;
+            //   dyz  = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2;
+            //   dxyz =  -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT;
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              unsigned int kTimeStepOld = kTimeStep - numberOfParticles;
+              real localX = coordParticleXlocal[kTimeStepOld];
+              real localY = coordParticleYlocal[kTimeStepOld];
+              real localZ = coordParticleZlocal[kTimeStepOld];
+
+              x = (localX * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
               y = (localY * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
               z = (localZ * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  //press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
-			  vx1 = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
-			  vx2 = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
-			  vx3 = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
-
-			  real veloPreX = veloParticleX[kTimeStepOld];
-			  real veloPreY = veloParticleY[kTimeStepOld];
-			  real veloPreZ = veloParticleZ[kTimeStepOld];
-
-			  real veloPostX = (veloPreX + vx1) * c1o2;
-			  real veloPostY = (veloPreY + vx2) * c1o2;
-			  real veloPostZ = (veloPreZ + vx3) * c1o2;
-
-			  //real veloPostX = vx1;
-			  //real veloPostY = vx2;
-			  //real veloPostZ = vx3;
-
-			  veloParticleX[kTimeStep] = veloPostX;
-			  veloParticleY[kTimeStep] = veloPostY;
-			  veloParticleZ[kTimeStep] = veloPostZ;
-			  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  x = x + veloPostX;
-			  //x = x + c1o3;
-			  y = y + veloPostY;
-			  z = z + veloPostZ;
-
-			  unsigned int cbID = cellBaseID[k];
-			  bool negativeDirection = false;
-
-			  if (x >  c1o2)
-			  {
-				  cbID = neighborX[cbID]; 
-				  x = x - c1o1;
-			  }
-			  if (y >  c1o2)
-  			  {
-				  cbID = neighborY[cbID]; 
-				  y = y - c1o1;
-			  }
-			  if (z >  c1o2)
-			  {
-				  cbID = neighborZ[cbID]; 
-				  z = z - c1o1;
-			  }
-
-			  real tempX = x;
-			  real tempY = y;
-			  real tempZ = z;
-
-			  if ((x < -c1o2) || (y < -c1o2) || (z < -c1o2))
-			  {
-				  cbID = neighborWSB[cbID];
-				  negativeDirection = true;
-				  tempX = x + c1o1;
-				  tempY = y + c1o1;
-				  tempZ = z + c1o1;
-			  }
-			  if ((x >= -c1o2) && (negativeDirection == true))
-			  {
-				  cbID = neighborX[cbID]; 
-				  tempX = x;
-			  }
-			  if ((y >= -c1o2) && (negativeDirection == true))
-			  {
-				  cbID = neighborY[cbID]; 
-				  tempY = y;
-			  }
-			  if ((z >= -c1o2) && (negativeDirection == true))
-			  { 
-				  cbID = neighborZ[cbID]; 
-				  tempZ = z;
-			  }
-
-			  x = tempX;
-			  y = tempY;
-			  z = tempZ;
-
-			  localX                         = (x + c1o2) / (real)(pow((double)c2o1, (double)level));
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              //press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
+              vx1 = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
+              vx2 = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz);
+              vx3 = (c0 + x*cx + y*cy + z*cz + x*x*cxx + y*y*cyy + z*z*czz + x*y*cxy + x*z*cxz + y*z*cyz + x*y*z*cxyz);
+
+              real veloPreX = veloParticleX[kTimeStepOld];
+              real veloPreY = veloParticleY[kTimeStepOld];
+              real veloPreZ = veloParticleZ[kTimeStepOld];
+
+              real veloPostX = (veloPreX + vx1) * c1o2;
+              real veloPostY = (veloPreY + vx2) * c1o2;
+              real veloPostZ = (veloPreZ + vx3) * c1o2;
+
+              //real veloPostX = vx1;
+              //real veloPostY = vx2;
+              //real veloPostZ = vx3;
+
+              veloParticleX[kTimeStep] = veloPostX;
+              veloParticleY[kTimeStep] = veloPostY;
+              veloParticleZ[kTimeStep] = veloPostZ;
+              ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              x = x + veloPostX;
+              //x = x + c1o3;
+              y = y + veloPostY;
+              z = z + veloPostZ;
+
+              unsigned int cbID = cellBaseID[k];
+              bool negativeDirection = false;
+
+              if (x >  c1o2)
+              {
+                  cbID = neighborX[cbID]; 
+                  x = x - c1o1;
+              }
+              if (y >  c1o2)
+                {
+                  cbID = neighborY[cbID]; 
+                  y = y - c1o1;
+              }
+              if (z >  c1o2)
+              {
+                  cbID = neighborZ[cbID]; 
+                  z = z - c1o1;
+              }
+
+              real tempX = x;
+              real tempY = y;
+              real tempZ = z;
+
+              if ((x < -c1o2) || (y < -c1o2) || (z < -c1o2))
+              {
+                  cbID = neighborWSB[cbID];
+                  negativeDirection = true;
+                  tempX = x + c1o1;
+                  tempY = y + c1o1;
+                  tempZ = z + c1o1;
+              }
+              if ((x >= -c1o2) && (negativeDirection == true))
+              {
+                  cbID = neighborX[cbID]; 
+                  tempX = x;
+              }
+              if ((y >= -c1o2) && (negativeDirection == true))
+              {
+                  cbID = neighborY[cbID]; 
+                  tempY = y;
+              }
+              if ((z >= -c1o2) && (negativeDirection == true))
+              { 
+                  cbID = neighborZ[cbID]; 
+                  tempZ = z;
+              }
+
+              x = tempX;
+              y = tempY;
+              z = tempZ;
+
+              localX                         = (x + c1o2) / (real)(pow((double)c2o1, (double)level));
               localY                         = (y + c1o2) / (real)(pow((double)c2o1, (double)level));
               localZ                         = (z + c1o2) / (real)(pow((double)c2o1, (double)level));
-			  coordParticleXlocal[kTimeStep] = localX;
-			  coordParticleYlocal[kTimeStep] = localY;
-			  coordParticleZlocal[kTimeStep] = localZ;
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  real globalX = localX + coordX[cbID];
-			  real globalY = localY + coordY[cbID];
-			  real globalZ = localZ + coordZ[cbID];
-			  coordParticleXglobal[kTimeStep] = globalX;
-			  coordParticleYglobal[kTimeStep] = globalY;
-			  coordParticleZglobal[kTimeStep] = globalZ;
-			  //coordParticleXglobal[kTimeStep] = coordParticleXglobal[kTimeStepOld];
-			  //coordParticleYglobal[kTimeStep] = coordParticleYglobal[kTimeStepOld];
-			  //coordParticleZglobal[kTimeStep] = coordParticleZglobal[kTimeStepOld];
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			  cellBaseID[k] = cbID;
-			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	  
-		}
+              coordParticleXlocal[kTimeStep] = localX;
+              coordParticleYlocal[kTimeStep] = localY;
+              coordParticleZlocal[kTimeStep] = localZ;
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              real globalX = localX + coordX[cbID];
+              real globalY = localY + coordY[cbID];
+              real globalZ = localZ + coordZ[cbID];
+              coordParticleXglobal[kTimeStep] = globalX;
+              coordParticleYglobal[kTimeStep] = globalY;
+              coordParticleZglobal[kTimeStep] = globalZ;
+              //coordParticleXglobal[kTimeStep] = coordParticleXglobal[kTimeStepOld];
+              //coordParticleYglobal[kTimeStep] = coordParticleYglobal[kTimeStepOld];
+              //coordParticleZglobal[kTimeStep] = coordParticleZglobal[kTimeStepOld];
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+              cellBaseID[k] = cbID;
+              ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////      
+        }
    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1897,42 +1897,42 @@ __global__ void MoveParticlesWithoutBCs(   real* coordX,
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void ParticleNoSlipDeviceComp27(real* coordX,
-													  real* coordY,
-													  real* coordZ, 
-													  real* coordParticleXlocal,
-													  real* coordParticleYlocal,
-													  real* coordParticleZlocal,
-													  real* coordParticleXglobal,
-													  real* coordParticleYglobal,
-													  real* coordParticleZglobal,
-													  real* veloParticleX,
-													  real* veloParticleY,
-													  real* veloParticleZ,
-													  real* randArray,
-													  real* DD,
-													  real  omega,
-													  unsigned int* particleID,
-													  unsigned int* cellBaseID,
-													  unsigned int* bcMatD,
-													  unsigned int* neighborX,
-													  unsigned int* neighborY,
-													  unsigned int* neighborZ,
-													  unsigned int* neighborWSB,
-													  int level,
-													  unsigned int numberOfTimesteps, 
-													  unsigned int timestep, 
-													  unsigned int numberOfParticles, 
-													  int* k_Q, 
-													  real* QQ,
-													  unsigned int  numberOfBCnodes,
-													  real* NormalX,
-													  real* NormalY,
-													  real* NormalZ,
-													  unsigned long long numberOfLBnodes, 
-													  bool isEvenTimestep)
+                                                      real* coordY,
+                                                      real* coordZ, 
+                                                      real* coordParticleXlocal,
+                                                      real* coordParticleYlocal,
+                                                      real* coordParticleZlocal,
+                                                      real* coordParticleXglobal,
+                                                      real* coordParticleYglobal,
+                                                      real* coordParticleZglobal,
+                                                      real* veloParticleX,
+                                                      real* veloParticleY,
+                                                      real* veloParticleZ,
+                                                      real* randArray,
+                                                      real* DD,
+                                                      real  omega,
+                                                      unsigned int* particleID,
+                                                      unsigned int* cellBaseID,
+                                                      unsigned int* bcMatD,
+                                                      unsigned int* neighborX,
+                                                      unsigned int* neighborY,
+                                                      unsigned int* neighborZ,
+                                                      unsigned int* neighborWSB,
+                                                      int level,
+                                                      unsigned int numberOfTimesteps, 
+                                                      unsigned int timestep, 
+                                                      unsigned int numberOfParticles, 
+                                                      int* k_Q, 
+                                                      real* QQ,
+                                                      unsigned int  numberOfBCnodes,
+                                                      real* NormalX,
+                                                      real* NormalY,
+                                                      real* NormalZ,
+                                                      unsigned long long numberOfLBnodes, 
+                                                      bool isEvenTimestep)
 {
 
-	//TODO: What is this function for???
+    //TODO: What is this function for???
 
    //Distributions27 D;
    //if (isEvenTimestep==true)
@@ -2138,26 +2138,26 @@ __global__ void ParticleNoSlipDeviceComp27(real* coordX,
    // //   nz_dirBSE = &NormalZ[dPMM * numberOfBCnodes];
    // //   nz_dirBNW = &NormalZ[dMPM * numberOfBCnodes];
    //   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //bool changeCell = false;
+      //bool changeCell = false;
    //   unsigned int KQK  = k_Q[k];
    //   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //if( q_dirW[k] > c0o1 || q_dirS[k] > c0o1 || q_dirB[k] > c0o1 ) {
-		 // KQK = neighborWSB[KQK];
-		 // changeCell = true;
-	  //}
-	  //if( q_dirW[k] == c0o1 && changeCell == true ) {
-		 // KQK = neighborX[KQK];
-	  //}
-	  //if( q_dirS[k] == c0o1 && changeCell == true ) {
-		 // KQK = neighborY[KQK];
-	  //}
-	  //if( q_dirB[k] == c0o1 && changeCell == true ) {
-		 // KQK = neighborZ[KQK];
-	  //}
-
-	  ////for(int i = 0; i < numberOfParticles; i++){
-		 //// //push back?
-	  ////}
+      //if( q_dirW[k] > c0o1 || q_dirS[k] > c0o1 || q_dirB[k] > c0o1 ) {
+         // KQK = neighborWSB[KQK];
+         // changeCell = true;
+      //}
+      //if( q_dirW[k] == c0o1 && changeCell == true ) {
+         // KQK = neighborX[KQK];
+      //}
+      //if( q_dirS[k] == c0o1 && changeCell == true ) {
+         // KQK = neighborY[KQK];
+      //}
+      //if( q_dirB[k] == c0o1 && changeCell == true ) {
+         // KQK = neighborZ[KQK];
+      //}
+
+      ////for(int i = 0; i < numberOfParticles; i++){
+         //// //push back?
+      ////}
 
    //   ////////////////////////////////////////////////////////////////////////////////
    //   //index
diff --git a/src/gpu/core/GPU/PressBCs27.cu b/src/gpu/core/GPU/PressBCs27.cu
index 9ccd5a496b7bb233a2c322e8f2564079d610f7b6..2c2a4f0380d8d8b7e6856292894d298c228ada28 100644
--- a/src/gpu/core/GPU/PressBCs27.cu
+++ b/src/gpu/core/GPU/PressBCs27.cu
@@ -3518,31 +3518,31 @@ __global__ void QPressDeviceOld27(
       __syncthreads();
 
       (D.f[dP00])[ke   ] = f1_W   -c2o27*drho1;   //  c1o100;  // zero;  //
-      (D.f[dM00])[kw   ] = f1_E   -c2o27*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0P0])[kn   ] = f1_S   -c2o27*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0M0])[ks   ] = f1_N   -c2o27*drho1;	//  c1o100;  // zero;  //
-      (D.f[d00P])[kt   ] = f1_B   -c2o27*drho1;	//  c1o100;  // zero;  //
-      (D.f[d00M])[kb   ] = f1_T   -c2o27*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPP0])[kne  ] = f1_SW  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMM0])[ksw  ] = f1_NE  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPM0])[kse  ] = f1_NW  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMP0])[knw  ] = f1_SE  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dP0P])[kte  ] = f1_BW  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dM0M])[kbw  ] = f1_TE  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dP0M])[kbe  ] = f1_TW  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dM0P])[ktw  ] = f1_BE  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0PP])[ktn  ] = f1_BS  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0MM])[kbs  ] = f1_TN  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0PM])[kbn  ] = f1_TS  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0MP])[kts  ] = f1_BN  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d000])[kzero] = f1_ZERO-c8o27*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPPP])[ktne ] = f1_BSW -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMMP])[ktsw ] = f1_BNE -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPMP])[ktse ] = f1_BNW -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMPP])[ktnw ] = f1_BSE -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPPM])[kbne ] = f1_TSW -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMMM])[kbsw ] = f1_TNE -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPMM])[kbse ] = f1_TNW -c1o216*drho1;	//  c1o100;  // zero;  //
+      (D.f[dM00])[kw   ] = f1_E   -c2o27*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0P0])[kn   ] = f1_S   -c2o27*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0M0])[ks   ] = f1_N   -c2o27*drho1;    //  c1o100;  // zero;  //
+      (D.f[d00P])[kt   ] = f1_B   -c2o27*drho1;    //  c1o100;  // zero;  //
+      (D.f[d00M])[kb   ] = f1_T   -c2o27*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPP0])[kne  ] = f1_SW  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMM0])[ksw  ] = f1_NE  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPM0])[kse  ] = f1_NW  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMP0])[knw  ] = f1_SE  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dP0P])[kte  ] = f1_BW  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dM0M])[kbw  ] = f1_TE  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dP0M])[kbe  ] = f1_TW  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dM0P])[ktw  ] = f1_BE  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0PP])[ktn  ] = f1_BS  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0MM])[kbs  ] = f1_TN  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0PM])[kbn  ] = f1_TS  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0MP])[kts  ] = f1_BN  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d000])[kzero] = f1_ZERO-c8o27*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPPP])[ktne ] = f1_BSW -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMMP])[ktsw ] = f1_BNE -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPMP])[ktse ] = f1_BNW -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMPP])[ktnw ] = f1_BSE -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPPM])[kbne ] = f1_TSW -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMMM])[kbsw ] = f1_TNE -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPMM])[kbse ] = f1_TNW -c1o216*drho1;    //  c1o100;  // zero;  //
       (D.f[dMPM])[kbnw ] = f1_TSE -c1o216*drho1;  //  c1o100;  // zero;  //
    }
 }
@@ -4013,8 +4013,8 @@ __global__ void QPressDeviceEQZ27(
          //real mfaca = (D.f[dMPM])[kbnw ];
          ////////////////////////////////////////////////////////////////////////////////////
          //real rho   = (((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) +
-         //				(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-         //				((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb) + one;//!!!!Achtung + one
+         //                (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+         //                ((mfabb+mfcbb) + (mfbab+mfbcb)) + (mfbba+mfbbc)) + mfbbb) + one;//!!!!Achtung + one
          ////////////////////////////////////////////////////////////////////////////////////
          real rho = rhoBC[k];
          ////////////////////////////////////////////////////////////////////////////////////
@@ -4037,61 +4037,61 @@ __global__ void QPressDeviceEQZ27(
          ////////////////////////////////////////////////////////////////////////////////////////
          ////round off error test
          //if(vvx!=zero){
-         //	(kDistTest.f[dP00])[k] = mfabb;
-         //	(kDistTest.f[dM00])[k] = mfcbb;
-         //	(kDistTest.f[d0P0])[k] = mfbab;
-         //	(kDistTest.f[d0M0])[k] = mfbcb;
-         //	(kDistTest.f[d00P])[k] = mfbba;
-         //	(kDistTest.f[d00M])[k] = mfbbc;
-         //	(kDistTest.f[dPP0])[k] = mfaab;
-         //	(kDistTest.f[dMM0])[k] = mfccb;
-         //	(kDistTest.f[dPM0])[k] = mfacb;
-         //	(kDistTest.f[dMP0])[k] = mfcab;
-         //	(kDistTest.f[dP0P])[k] = mfaba;
-         //	(kDistTest.f[dM0M])[k] = mfcbc;
-         //	(kDistTest.f[dP0M])[k] = mfabc;
-         //	(kDistTest.f[dM0P])[k] = mfcba;
-         //	(kDistTest.f[d0PP])[k] = mfbaa;
-         //	(kDistTest.f[d0MM])[k] = mfbcc;
-         //	(kDistTest.f[d0PM])[k] = mfbac;
-         //	(kDistTest.f[d0MP])[k] = mfbca;
-         //	(kDistTest.f[d000])[k] = KQK;
-         //	(kDistTest.f[dPPP])[k] = mfaaa;
-         //	(kDistTest.f[dMMP])[k] = mfcca;
-         //	(kDistTest.f[dPMP])[k] = mfaca;
-         //	(kDistTest.f[dMPP])[k] = mfcaa;
-         //	(kDistTest.f[dPPM])[k] = mfaac;
-         //	(kDistTest.f[dMMM])[k] = mfccc;
-         //	(kDistTest.f[dPMM])[k] = mfacc;
-         //	(kDistTest.f[dMPM])[k] = mfcac;
+         //    (kDistTest.f[dP00])[k] = mfabb;
+         //    (kDistTest.f[dM00])[k] = mfcbb;
+         //    (kDistTest.f[d0P0])[k] = mfbab;
+         //    (kDistTest.f[d0M0])[k] = mfbcb;
+         //    (kDistTest.f[d00P])[k] = mfbba;
+         //    (kDistTest.f[d00M])[k] = mfbbc;
+         //    (kDistTest.f[dPP0])[k] = mfaab;
+         //    (kDistTest.f[dMM0])[k] = mfccb;
+         //    (kDistTest.f[dPM0])[k] = mfacb;
+         //    (kDistTest.f[dMP0])[k] = mfcab;
+         //    (kDistTest.f[dP0P])[k] = mfaba;
+         //    (kDistTest.f[dM0M])[k] = mfcbc;
+         //    (kDistTest.f[dP0M])[k] = mfabc;
+         //    (kDistTest.f[dM0P])[k] = mfcba;
+         //    (kDistTest.f[d0PP])[k] = mfbaa;
+         //    (kDistTest.f[d0MM])[k] = mfbcc;
+         //    (kDistTest.f[d0PM])[k] = mfbac;
+         //    (kDistTest.f[d0MP])[k] = mfbca;
+         //    (kDistTest.f[d000])[k] = KQK;
+         //    (kDistTest.f[dPPP])[k] = mfaaa;
+         //    (kDistTest.f[dMMP])[k] = mfcca;
+         //    (kDistTest.f[dPMP])[k] = mfaca;
+         //    (kDistTest.f[dMPP])[k] = mfcaa;
+         //    (kDistTest.f[dPPM])[k] = mfaac;
+         //    (kDistTest.f[dMMM])[k] = mfccc;
+         //    (kDistTest.f[dPMM])[k] = mfacc;
+         //    (kDistTest.f[dMPM])[k] = mfcac;
          //}else{
-         //	(kDistTest.f[dP00])[k] = zero;
-         //	(kDistTest.f[dM00])[k] = zero;
-         //	(kDistTest.f[d0P0])[k] = zero;
-         //	(kDistTest.f[d0M0])[k] = zero;
-         //	(kDistTest.f[d00P])[k] = zero;
-         //	(kDistTest.f[d00M])[k] = zero;
-         //	(kDistTest.f[dPP0])[k] = zero;
-         //	(kDistTest.f[dMM0])[k] = zero;
-         //	(kDistTest.f[dPM0])[k] = zero;
-         //	(kDistTest.f[dMP0])[k] = zero;
-         //	(kDistTest.f[dP0P])[k] = zero;
-         //	(kDistTest.f[dM0M])[k] = zero;
-         //	(kDistTest.f[dP0M])[k] = zero;
-         //	(kDistTest.f[dM0P])[k] = zero;
-         //	(kDistTest.f[d0PP])[k] = zero;
-         //	(kDistTest.f[d0MM])[k] = zero;
-         //	(kDistTest.f[d0PM])[k] = zero;
-         //	(kDistTest.f[d0MP])[k] = zero;
-         //	(kDistTest.f[d000])[k] = zero;
-         //	(kDistTest.f[dPPP])[k] = zero;
-         //	(kDistTest.f[dMMP])[k] = zero;
-         //	(kDistTest.f[dPMP])[k] = zero;
-         //	(kDistTest.f[dMPP])[k] = zero;
-         //	(kDistTest.f[dPPM])[k] = zero;
-         //	(kDistTest.f[dMMM])[k] = zero;
-         //	(kDistTest.f[dPMM])[k] = zero;
-         //	(kDistTest.f[dMPM])[k] = zero;
+         //    (kDistTest.f[dP00])[k] = zero;
+         //    (kDistTest.f[dM00])[k] = zero;
+         //    (kDistTest.f[d0P0])[k] = zero;
+         //    (kDistTest.f[d0M0])[k] = zero;
+         //    (kDistTest.f[d00P])[k] = zero;
+         //    (kDistTest.f[d00M])[k] = zero;
+         //    (kDistTest.f[dPP0])[k] = zero;
+         //    (kDistTest.f[dMM0])[k] = zero;
+         //    (kDistTest.f[dPM0])[k] = zero;
+         //    (kDistTest.f[dMP0])[k] = zero;
+         //    (kDistTest.f[dP0P])[k] = zero;
+         //    (kDistTest.f[dM0M])[k] = zero;
+         //    (kDistTest.f[dP0M])[k] = zero;
+         //    (kDistTest.f[dM0P])[k] = zero;
+         //    (kDistTest.f[d0PP])[k] = zero;
+         //    (kDistTest.f[d0MM])[k] = zero;
+         //    (kDistTest.f[d0PM])[k] = zero;
+         //    (kDistTest.f[d0MP])[k] = zero;
+         //    (kDistTest.f[d000])[k] = zero;
+         //    (kDistTest.f[dPPP])[k] = zero;
+         //    (kDistTest.f[dMMP])[k] = zero;
+         //    (kDistTest.f[dPMP])[k] = zero;
+         //    (kDistTest.f[dMPP])[k] = zero;
+         //    (kDistTest.f[dPPM])[k] = zero;
+         //    (kDistTest.f[dMMM])[k] = zero;
+         //    (kDistTest.f[dPMM])[k] = zero;
+         //    (kDistTest.f[dMPM])[k] = zero;
          //}
 
          //////////////////////////////////////////////////////////////////////////////////////
@@ -4100,9 +4100,9 @@ __global__ void QPressDeviceEQZ27(
          //////////////////////////////////////////////////////////////////////////////////////
          ////// second bad fix for negative x velocity
          ////if(vvx > zero){
-         ////	vvx = -vvx;
-         ////	vvy = -vvy;
-         ////	vvz = -vvz;
+         ////    vvx = -vvx;
+         ////    vvy = -vvy;
+         ////    vvz = -vvz;
          ////}
          ////////////////////////////////////////////////////////////////////////////////////
          double vx2    = vvx * vvx;
@@ -4768,26 +4768,26 @@ __global__ void QPressDeviceFake27(
       (D.f[d0M0])[ks   ] = c2o27* (rhoBC[k]+c3o1*(     vx2    )+c9o2*(     vx2    )*(     vx2    )-cu_sq);
       (D.f[d00P])[kt   ] = c2o27* (rhoBC[k]+c3o1*(        -vx3)+c9o2*(        -vx3)*(        -vx3)-cu_sq);
       (D.f[d00M])[kb   ] = c2o27* (rhoBC[k]+c3o1*(         vx3)+c9o2*(         vx3)*(         vx3)-cu_sq);
-      (D.f[dPP0])[kne  ] = f1_SW  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMM0])[ksw  ] = f1_NE  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPM0])[kse  ] = f1_NW  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMP0])[knw  ] = f1_SE  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dP0P])[kte  ] = f1_BW  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dM0M])[kbw  ] = f1_TE  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dP0M])[kbe  ] = f1_TW  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[dM0P])[ktw  ] = f1_BE  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0PP])[ktn  ] = f1_BS  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0MM])[kbs  ] = f1_TN  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0PM])[kbn  ] = f1_TS  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d0MP])[kts  ] = f1_BN  -c1o54*drho1;	//  c1o100;  // zero;  //
-      (D.f[d000])[kzero] = f1_ZERO-c8o27*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPPP])[ktne ] = f1_BSW -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMMP])[ktsw ] = f1_BNE -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPMP])[ktse ] = f1_BNW -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMPP])[ktnw ] = f1_BSE -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPPM])[kbne ] = f1_TSW -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dMMM])[kbsw ] = f1_TNE -c1o216*drho1;	//  c1o100;  // zero;  //
-      (D.f[dPMM])[kbse ] = f1_TNW -c1o216*drho1;	//  c1o100;  // zero;  //
+      (D.f[dPP0])[kne  ] = f1_SW  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMM0])[ksw  ] = f1_NE  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPM0])[kse  ] = f1_NW  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMP0])[knw  ] = f1_SE  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dP0P])[kte  ] = f1_BW  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dM0M])[kbw  ] = f1_TE  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dP0M])[kbe  ] = f1_TW  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[dM0P])[ktw  ] = f1_BE  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0PP])[ktn  ] = f1_BS  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0MM])[kbs  ] = f1_TN  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0PM])[kbn  ] = f1_TS  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d0MP])[kts  ] = f1_BN  -c1o54*drho1;    //  c1o100;  // zero;  //
+      (D.f[d000])[kzero] = f1_ZERO-c8o27*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPPP])[ktne ] = f1_BSW -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMMP])[ktsw ] = f1_BNE -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPMP])[ktse ] = f1_BNW -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMPP])[ktnw ] = f1_BSE -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPPM])[kbne ] = f1_TSW -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dMMM])[kbsw ] = f1_TNE -c1o216*drho1;    //  c1o100;  // zero;  //
+      (D.f[dPMM])[kbse ] = f1_TNW -c1o216*drho1;    //  c1o100;  // zero;  //
       (D.f[dMPM])[kbnw ] = f1_TSE -c1o216*drho1;  //  c1o100;  // zero;  //
    }
 }
diff --git a/src/gpu/core/GPU/Random.cu b/src/gpu/core/GPU/Random.cu
index 2f9417f2404d773b222f1b79f8456adfaf741018..603cd14c42e9afdfa9912883a316742edc31f106 100644
--- a/src/gpu/core/GPU/Random.cu
+++ b/src/gpu/core/GPU/Random.cu
@@ -27,7 +27,7 @@ __global__ void initRandom(curandState* state)
 
    curand_init(k, k, 0, &state[k]);
 
-   //////////////////////////////////////////////////////////////////////////	
+   //////////////////////////////////////////////////////////////////////////    
 }
 //////////////////////////////////////////////////////////////////////////////
 
diff --git a/src/gpu/core/GPU/SetForcing27.cu b/src/gpu/core/GPU/SetForcing27.cu
index d356084fa0d7f1fc7afb94b784c1b45206a9bf98..63e8e95e69cd032a9e89aa12c11980ae429083ae 100644
--- a/src/gpu/core/GPU/SetForcing27.cu
+++ b/src/gpu/core/GPU/SetForcing27.cu
@@ -8,167 +8,167 @@ using namespace vf::lbm::dir;
 
 ////////////////////////////////////////////////////////////////////////////////
 __global__ void GetVeloforForcing27( real* DD, 
-												int* bcIndex, 
-												int nonAtBC, 
-												real* Vx,
-												real* Vy,
-												real* Vz,
-												unsigned int* neighborX,
-												unsigned int* neighborY,
-												unsigned int* neighborZ,
-												unsigned long long numberOfLBnodes, 
-												bool isEvenTimestep)
+                                                int* bcIndex, 
+                                                int nonAtBC, 
+                                                real* Vx,
+                                                real* Vy,
+                                                real* Vz,
+                                                unsigned int* neighborX,
+                                                unsigned int* neighborY,
+                                                unsigned int* neighborZ,
+                                                unsigned long long numberOfLBnodes, 
+                                                bool isEvenTimestep)
 {
-	Distributions27 D;
-	if (isEvenTimestep==false)
-	{
-		D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00P] = &DD[d00P * numberOfLBnodes];
-		D.f[d00M] = &DD[d00M * numberOfLBnodes];
-		D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-		D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-		D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-		D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-		D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-		D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-		D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-		D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-		D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-	} 
-	else
-	{
-		D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00M] = &DD[d00P * numberOfLBnodes];
-		D.f[d00P] = &DD[d00M * numberOfLBnodes];
-		D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-		D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-		D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-		D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-		D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-		D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-		D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-		D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-		D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-	}
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
+    Distributions27 D;
+    if (isEvenTimestep==false)
+    {
+        D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00P] = &DD[d00P * numberOfLBnodes];
+        D.f[d00M] = &DD[d00M * numberOfLBnodes];
+        D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+        D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+        D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+        D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+        D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+        D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+        D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+        D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+        D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+    } 
+    else
+    {
+        D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00M] = &DD[d00P * numberOfLBnodes];
+        D.f[d00P] = &DD[d00M * numberOfLBnodes];
+        D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+        D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+        D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+        D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+        D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+        D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+        D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+        D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+        D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+    }
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
 
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-	if(k < nonAtBC)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		//index
-		unsigned int KQK  = bcIndex[k];
-		unsigned int kzero= KQK;
-		unsigned int ke   = KQK;
-		unsigned int kw   = neighborX[KQK];
-		unsigned int kn   = KQK;
-		unsigned int ks   = neighborY[KQK];
-		unsigned int kt   = KQK;
-		unsigned int kb   = neighborZ[KQK];
-		unsigned int ksw  = neighborY[kw];
-		unsigned int kne  = KQK;
-		unsigned int kse  = ks;
-		unsigned int knw  = kw;
-		unsigned int kbw  = neighborZ[kw];
-		unsigned int kte  = KQK;
-		unsigned int kbe  = kb;
-		unsigned int ktw  = kw;
-		unsigned int kbs  = neighborZ[ks];
-		unsigned int ktn  = KQK;
-		unsigned int kbn  = kb;
-		unsigned int kts  = ks;
-		unsigned int ktse = ks;
-		unsigned int kbnw = kbw;
-		unsigned int ktnw = kw;
-		unsigned int kbse = kbs;
-		unsigned int ktsw = ksw;
-		unsigned int kbne = kb;
-		unsigned int ktne = KQK;
-		unsigned int kbsw = neighborZ[ksw];
-		////////////////////////////////////////////////////////////////////////////////
-		real mfcbb = (D.f[dP00])[ke   ];
-		real mfabb = (D.f[dM00])[kw   ];
-		real mfbcb = (D.f[d0P0])[kn   ];
-		real mfbab = (D.f[d0M0])[ks   ];
-		real mfbbc = (D.f[d00P])[kt   ];
-		real mfbba = (D.f[d00M])[kb   ];
-		real mfccb = (D.f[dPP0])[kne  ];
-		real mfaab = (D.f[dMM0])[ksw  ];
-		real mfcab = (D.f[dPM0])[kse  ];
-		real mfacb = (D.f[dMP0])[knw  ];
-		real mfcbc = (D.f[dP0P])[kte  ];
-		real mfaba = (D.f[dM0M])[kbw  ];
-		real mfcba = (D.f[dP0M])[kbe  ];
-		real mfabc = (D.f[dM0P])[ktw  ];
-		real mfbcc = (D.f[d0PP])[ktn  ];
-		real mfbaa = (D.f[d0MM])[kbs  ];
-		real mfbca = (D.f[d0PM])[kbn  ];
-		real mfbac = (D.f[d0MP])[kts  ];
-		real mfbbb = (D.f[d000])[kzero];
-		real mfccc = (D.f[dPPP])[ktne ];
-		real mfaac = (D.f[dMMP])[ktsw ];
-		real mfcac = (D.f[dPMP])[ktse ];
-		real mfacc = (D.f[dMPP])[ktnw ];
-		real mfcca = (D.f[dPPM])[kbne ];
-		real mfaaa = (D.f[dMMM])[kbsw ];
-		real mfcaa = (D.f[dPMM])[kbse ];
-		real mfaca = (D.f[dMPM])[kbnw ];
-		////////////////////////////////////////////////////////////////////////////////////
-		real rho   = (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-					 	 mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-						 mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb + c1o1);//!!!!Achtung + one
-		////////////////////////////////////////////////////////////////////////////////////
-		real vx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-			         (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-				       (mfcbb-mfabb))/ rho;
-		real vy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-			         (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-			           (mfbcb-mfbab)) / rho;
-		real vz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-			         (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-			           (mfbbc-mfbba)) / rho;
-		////////////////////////////////////////////////////////////////////////////////////
-		Vx[k] = vx;
-		Vy[k] = vy;
-		Vz[k] = vz;
-		////////////////////////////////////////////////////////////////////////////////////
-	}
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+    if(k < nonAtBC)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        //index
+        unsigned int KQK  = bcIndex[k];
+        unsigned int kzero= KQK;
+        unsigned int ke   = KQK;
+        unsigned int kw   = neighborX[KQK];
+        unsigned int kn   = KQK;
+        unsigned int ks   = neighborY[KQK];
+        unsigned int kt   = KQK;
+        unsigned int kb   = neighborZ[KQK];
+        unsigned int ksw  = neighborY[kw];
+        unsigned int kne  = KQK;
+        unsigned int kse  = ks;
+        unsigned int knw  = kw;
+        unsigned int kbw  = neighborZ[kw];
+        unsigned int kte  = KQK;
+        unsigned int kbe  = kb;
+        unsigned int ktw  = kw;
+        unsigned int kbs  = neighborZ[ks];
+        unsigned int ktn  = KQK;
+        unsigned int kbn  = kb;
+        unsigned int kts  = ks;
+        unsigned int ktse = ks;
+        unsigned int kbnw = kbw;
+        unsigned int ktnw = kw;
+        unsigned int kbse = kbs;
+        unsigned int ktsw = ksw;
+        unsigned int kbne = kb;
+        unsigned int ktne = KQK;
+        unsigned int kbsw = neighborZ[ksw];
+        ////////////////////////////////////////////////////////////////////////////////
+        real mfcbb = (D.f[dP00])[ke   ];
+        real mfabb = (D.f[dM00])[kw   ];
+        real mfbcb = (D.f[d0P0])[kn   ];
+        real mfbab = (D.f[d0M0])[ks   ];
+        real mfbbc = (D.f[d00P])[kt   ];
+        real mfbba = (D.f[d00M])[kb   ];
+        real mfccb = (D.f[dPP0])[kne  ];
+        real mfaab = (D.f[dMM0])[ksw  ];
+        real mfcab = (D.f[dPM0])[kse  ];
+        real mfacb = (D.f[dMP0])[knw  ];
+        real mfcbc = (D.f[dP0P])[kte  ];
+        real mfaba = (D.f[dM0M])[kbw  ];
+        real mfcba = (D.f[dP0M])[kbe  ];
+        real mfabc = (D.f[dM0P])[ktw  ];
+        real mfbcc = (D.f[d0PP])[ktn  ];
+        real mfbaa = (D.f[d0MM])[kbs  ];
+        real mfbca = (D.f[d0PM])[kbn  ];
+        real mfbac = (D.f[d0MP])[kts  ];
+        real mfbbb = (D.f[d000])[kzero];
+        real mfccc = (D.f[dPPP])[ktne ];
+        real mfaac = (D.f[dMMP])[ktsw ];
+        real mfcac = (D.f[dPMP])[ktse ];
+        real mfacc = (D.f[dMPP])[ktnw ];
+        real mfcca = (D.f[dPPM])[kbne ];
+        real mfaaa = (D.f[dMMM])[kbsw ];
+        real mfcaa = (D.f[dPMM])[kbse ];
+        real mfaca = (D.f[dMPM])[kbnw ];
+        ////////////////////////////////////////////////////////////////////////////////////
+        real rho   = (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
+                          mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
+                         mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb + c1o1);//!!!!Achtung + one
+        ////////////////////////////////////////////////////////////////////////////////////
+        real vx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                       (mfcbb-mfabb))/ rho;
+        real vy =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                     (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                       (mfbcb-mfbab)) / rho;
+        real vz =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                     (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                       (mfbbc-mfbba)) / rho;
+        ////////////////////////////////////////////////////////////////////////////////////
+        Vx[k] = vx;
+        Vy[k] = vy;
+        Vz[k] = vz;
+        ////////////////////////////////////////////////////////////////////////////////////
+    }
 }
 
diff --git a/src/gpu/core/GPU/SlipBCs27.cu b/src/gpu/core/GPU/SlipBCs27.cu
index 2ef15989422a7eccf15c5eb931115282c8794a64..71d36ffd50cb4eaf010e6fef2f1d7e79f31e5eb2 100644
--- a/src/gpu/core/GPU/SlipBCs27.cu
+++ b/src/gpu/core/GPU/SlipBCs27.cu
@@ -184,21 +184,21 @@ __global__ void QSlipDevice27(
       //Test
       //(D.f[d000])[k]=c1o10;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real fac = c1o1;//c99o100;
-	  real VeloX = fac*vx1;
-	  real VeloY = fac*vx2;
-	  real VeloZ = fac*vx3;
-	  bool x = false;
-	  bool y = false;
-	  bool z = false;
+      real fac = c1o1;//c99o100;
+      real VeloX = fac*vx1;
+      real VeloY = fac*vx2;
+      real VeloZ = fac*vx3;
+      bool x = false;
+      bool y = false;
+      bool z = false;
 
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = c0o1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 x = true;
+         VeloX = c0o1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         x = true;
          feq=c2o27* (drho+c3o1*( vx1        )+c9o2*( vx1        )*( vx1        )-cu_sq); 
          (D.f[dM00])[kw]=(c1o1-q)/(c1o1+q)*(f_E-feq*om1)/(c1o1-om1)+(q*(f_E+f_W)-c6o1*c2o27*( VeloX     ))/(c1o1+q);
          //(D.f[dM00])[kw]=zero;
@@ -207,10 +207,10 @@ __global__ void QSlipDevice27(
       q = q_dirW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = c0o1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 x = true;
+         VeloX = c0o1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         x = true;
          feq=c2o27* (drho+c3o1*(-vx1        )+c9o2*(-vx1        )*(-vx1        )-cu_sq); 
          (D.f[dP00])[ke]=(c1o1-q)/(c1o1+q)*(f_W-feq*om1)/(c1o1-om1)+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX     ))/(c1o1+q);
          //(D.f[dP00])[ke]=zero;
@@ -219,10 +219,10 @@ __global__ void QSlipDevice27(
       q = q_dirN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-		 VeloY = c0o1;
-	     VeloZ = fac*vx3;
-		 y = true;
+         VeloX = fac*vx1;
+         VeloY = c0o1;
+         VeloZ = fac*vx3;
+         y = true;
          feq=c2o27* (drho+c3o1*(    vx2     )+c9o2*(     vx2    )*(     vx2    )-cu_sq); 
          (D.f[d0M0])[ks]=(c1o1-q)/(c1o1+q)*(f_N-feq*om1)/(c1o1-om1)+(q*(f_N+f_S)-c6o1*c2o27*( VeloY     ))/(c1o1+q);
          //(D.f[d0M0])[ks]=zero;
@@ -231,10 +231,10 @@ __global__ void QSlipDevice27(
       q = q_dirS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-		 VeloY = c0o1;
-	     VeloZ = fac*vx3;
-		 y = true;
+         VeloX = fac*vx1;
+         VeloY = c0o1;
+         VeloZ = fac*vx3;
+         y = true;
          feq=c2o27* (drho+c3o1*(   -vx2     )+c9o2*(    -vx2    )*(    -vx2    )-cu_sq); 
          (D.f[d0P0])[kn]=(c1o1-q)/(c1o1+q)*(f_S-feq*om1)/(c1o1-om1)+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY     ))/(c1o1+q);
          //(D.f[d0P0])[kn]=zero;
@@ -243,10 +243,10 @@ __global__ void QSlipDevice27(
       q = q_dirT[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-		 VeloZ = c0o1;
-		 z = true;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = c0o1;
+         z = true;
          feq=c2o27* (drho+c3o1*(         vx3)+c9o2*(         vx3)*(         vx3)-cu_sq); 
          (D.f[d00M])[kb]=(c1o1-q)/(c1o1+q)*(f_T-feq*om1)/(c1o1-om1)+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ     ))/(c1o1+q);
          //(D.f[d00M])[kb]=one;
@@ -255,10 +255,10 @@ __global__ void QSlipDevice27(
       q = q_dirB[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-		 VeloZ = c0o1;
-		 z = true;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = c0o1;
+         z = true;
          feq=c2o27* (drho+c3o1*(        -vx3)+c9o2*(        -vx3)*(        -vx3)-cu_sq); 
          (D.f[d00P])[kt]=(c1o1-q)/(c1o1+q)*(f_B-feq*om1)/(c1o1-om1)+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ     ))/(c1o1+q);
          //(D.f[d00P])[kt]=zero;
@@ -267,11 +267,11 @@ __global__ void QSlipDevice27(
       q = q_dirNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
          feq=c1o54* (drho+c3o1*( vx1+vx2    )+c9o2*( vx1+vx2    )*( vx1+vx2    )-cu_sq); 
          (D.f[dMM0])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-feq*om1)/(c1o1-om1)+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q);
          //(D.f[dMM0])[ksw]=zero;
@@ -280,11 +280,11 @@ __global__ void QSlipDevice27(
       q = q_dirSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
          feq=c1o54* (drho+c3o1*(-vx1-vx2    )+c9o2*(-vx1-vx2    )*(-vx1-vx2    )-cu_sq); 
          (D.f[dPP0])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-feq*om1)/(c1o1-om1)+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q);
          //(D.f[dPP0])[kne]=zero;
@@ -293,11 +293,11 @@ __global__ void QSlipDevice27(
       q = q_dirSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
          feq=c1o54* (drho+c3o1*( vx1-vx2    )+c9o2*( vx1-vx2    )*( vx1-vx2    )-cu_sq); 
          (D.f[dMP0])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-feq*om1)/(c1o1-om1)+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q);
          //(D.f[dMP0])[knw]=zero;
@@ -306,11 +306,11 @@ __global__ void QSlipDevice27(
       q = q_dirNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
          feq=c1o54* (drho+c3o1*(-vx1+vx2    )+c9o2*(-vx1+vx2    )*(-vx1+vx2    )-cu_sq); 
          (D.f[dPM0])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-feq*om1)/(c1o1-om1)+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q);
          //(D.f[dPM0])[kse]=zero;
@@ -319,11 +319,11 @@ __global__ void QSlipDevice27(
       q = q_dirTE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o54* (drho+c3o1*( vx1    +vx3)+c9o2*( vx1    +vx3)*( vx1    +vx3)-cu_sq); 
          (D.f[dM0M])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-feq*om1)/(c1o1-om1)+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q);
          //(D.f[dM0M])[kbw]=zero;
@@ -332,11 +332,11 @@ __global__ void QSlipDevice27(
       q = q_dirBW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o54* (drho+c3o1*(-vx1    -vx3)+c9o2*(-vx1    -vx3)*(-vx1    -vx3)-cu_sq); 
          (D.f[dP0P])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-feq*om1)/(c1o1-om1)+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q);
          //(D.f[dP0P])[kte]=zero;
@@ -345,11 +345,11 @@ __global__ void QSlipDevice27(
       q = q_dirBE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o54* (drho+c3o1*( vx1    -vx3)+c9o2*( vx1    -vx3)*( vx1    -vx3)-cu_sq); 
          (D.f[dM0P])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-feq*om1)/(c1o1-om1)+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q);
          //(D.f[dM0P])[ktw]=zero;
@@ -358,11 +358,11 @@ __global__ void QSlipDevice27(
       q = q_dirTW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o54* (drho+c3o1*(-vx1    +vx3)+c9o2*(-vx1    +vx3)*(-vx1    +vx3)-cu_sq); 
          (D.f[dP0M])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-feq*om1)/(c1o1-om1)+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q);
          //(D.f[dP0M])[kbe]=zero;
@@ -371,11 +371,11 @@ __global__ void QSlipDevice27(
       q = q_dirTN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o54* (drho+c3o1*(     vx2+vx3)+c9o2*(     vx2+vx3)*(     vx2+vx3)-cu_sq); 
          (D.f[d0MM])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-feq*om1)/(c1o1-om1)+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q);
          //(D.f[d0MM])[kbs]=zero;
@@ -384,11 +384,11 @@ __global__ void QSlipDevice27(
       q = q_dirBS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o54* (drho+c3o1*(    -vx2-vx3)+c9o2*(    -vx2-vx3)*(    -vx2-vx3)-cu_sq); 
          (D.f[d0PP])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-feq*om1)/(c1o1-om1)+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q);
          //(D.f[d0PP])[ktn]=zero;
@@ -397,11 +397,11 @@ __global__ void QSlipDevice27(
       q = q_dirBN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o54* (drho+c3o1*(     vx2-vx3)+c9o2*(     vx2-vx3)*(     vx2-vx3)-cu_sq); 
          (D.f[d0MP])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-feq*om1)/(c1o1-om1)+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q);
          //(D.f[d0MP])[kts]=zero;
@@ -410,11 +410,11 @@ __global__ void QSlipDevice27(
       q = q_dirTS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o54* (drho+c3o1*(    -vx2+vx3)+c9o2*(    -vx2+vx3)*(    -vx2+vx3)-cu_sq); 
          (D.f[d0PM])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-feq*om1)/(c1o1-om1)+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q);
          //(D.f[d0PM])[kbn]=zero;
@@ -423,12 +423,12 @@ __global__ void QSlipDevice27(
       q = q_dirTNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); 
          (D.f[dMMM])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-feq*om1)/(c1o1-om1)+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q);
          //(D.f[dMMM])[kbsw]=zero;
@@ -437,12 +437,12 @@ __global__ void QSlipDevice27(
       q = q_dirBSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); 
          (D.f[dPPP])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-feq*om1)/(c1o1-om1)+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q);
          //(D.f[dPPP])[ktne]=zero;
@@ -451,12 +451,12 @@ __global__ void QSlipDevice27(
       q = q_dirBNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); 
          (D.f[dMMP])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-feq*om1)/(c1o1-om1)+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q);
          //(D.f[dMMP])[ktsw]=zero;
@@ -465,12 +465,12 @@ __global__ void QSlipDevice27(
       q = q_dirTSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); 
          (D.f[dPPM])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-feq*om1)/(c1o1-om1)+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q);
          //(D.f[dPPM])[kbne]=zero;
@@ -479,12 +479,12 @@ __global__ void QSlipDevice27(
       q = q_dirTSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); 
          (D.f[dMPM])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-feq*om1)/(c1o1-om1)+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q);
          //(D.f[dMPM])[kbnw]=zero;
@@ -493,12 +493,12 @@ __global__ void QSlipDevice27(
       q = q_dirBNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); 
          (D.f[dPMP])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-feq*om1)/(c1o1-om1)+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q);
          //(D.f[dPMP])[ktse]=zero;
@@ -507,12 +507,12 @@ __global__ void QSlipDevice27(
       q = q_dirBSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); 
          (D.f[dMPP])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-feq*om1)/(c1o1-om1)+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q);
          //(D.f[dMPP])[ktnw]=zero;
@@ -521,12 +521,12 @@ __global__ void QSlipDevice27(
       q = q_dirTNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = fac*vx1;
-	     VeloY = fac*vx2;
-	     VeloZ = fac*vx3;
-		 if (x == true) VeloX = c0o1;
-		 if (y == true) VeloY = c0o1;
-		 if (z == true) VeloZ = c0o1;
+         VeloX = fac*vx1;
+         VeloY = fac*vx2;
+         VeloZ = fac*vx3;
+         if (x == true) VeloX = c0o1;
+         if (y == true) VeloY = c0o1;
+         if (z == true) VeloZ = c0o1;
          feq=c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); 
          (D.f[dPMM])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-feq*om1)/(c1o1-om1)+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q);
          //(D.f[dPMM])[kbse]=zero;
@@ -2643,16 +2643,16 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 }
 
 // __global__ void QSlipDeviceComp27TurbViscosity(real* DD, 
-// 											 int* k_Q, 
-// 											 real* QQ,
-// 											 unsigned int numberOfBCnodes,
-// 											 real om1, 
-// 											 unsigned int* neighborX,
-// 											 unsigned int* neighborY,
-// 											 unsigned int* neighborZ,
+//                                              int* k_Q, 
+//                                              real* QQ,
+//                                              unsigned int numberOfBCnodes,
+//                                              real om1, 
+//                                              unsigned int* neighborX,
+//                                              unsigned int* neighborY,
+//                                              unsigned int* neighborZ,
 //                                   real* turbViscosity,
-// 											 unsigned int size_Mat, 
-// 											 bool isEvenTimestep)
+//                                              unsigned int size_Mat, 
+//                                              bool isEvenTimestep)
 // {
 //    Distributions27 D;
 //    if (isEvenTimestep==true)
@@ -2904,23 +2904,23 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       //Test
 //       //(D.f[d000])[k]=c1o10;
 //       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// 	  real om_turb = om1 / (c1o1 + c3o1*om1*max(c0o1, turbViscosity[k_Q[k]]));
+//       real om_turb = om1 / (c1o1 + c3o1*om1*max(c0o1, turbViscosity[k_Q[k]]));
      
 //      real fac = c1o1;//c99o100;
-// 	  real VeloX = fac*vx1;
-// 	  real VeloY = fac*vx2;
-// 	  real VeloZ = fac*vx3;
-// 	  bool x = false;
-// 	  bool y = false;
-// 	  bool z = false;
+//       real VeloX = fac*vx1;
+//       real VeloY = fac*vx2;
+//       real VeloZ = fac*vx3;
+//       bool x = false;
+//       bool y = false;
+//       bool z = false;
 
 //       q = q_dirE[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = c0o1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 x = true;
+//          VeloX = c0o1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          x = true;
 //          feq=c2o27* (drho/*+three*( vx1        )*/+c9o2*( vx1        )*( vx1        ) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dM00])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX     ))/(c1o1+q) - c2o27 * drho;
 //          //feq=c2over27* (drho+three*( vx1        )+c9over2*( vx1        )*( vx1        )-cu_sq); 
@@ -2931,10 +2931,10 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirW[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = c0o1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 x = true;
+//          VeloX = c0o1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          x = true;
 //          feq=c2o27* (drho/*+three*(-vx1        )*/+c9o2*(-vx1        )*(-vx1        ) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dP00])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX     ))/(c1o1+q) - c2o27 * drho;
 //          //feq=c2over27* (drho+three*(-vx1        )+c9over2*(-vx1        )*(-vx1        )-cu_sq); 
@@ -2945,10 +2945,10 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirN[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 		 VeloY = c0o1;
-// 	     VeloZ = fac*vx3;
-// 		 y = true;
+//          VeloX = fac*vx1;
+//          VeloY = c0o1;
+//          VeloZ = fac*vx3;
+//          y = true;
 //          feq=c2o27* (drho/*+three*(    vx2     )*/+c9o2*(     vx2    )*(     vx2    ) * (c1o1 + drho)-cu_sq); 
 //          (D.f[d0M0])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY     ))/(c1o1+q) - c2o27 * drho;
 //          //feq=c2over27* (drho+three*(    vx2     )+c9over2*(     vx2    )*(     vx2    )-cu_sq); 
@@ -2959,10 +2959,10 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirS[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 		 VeloY = c0o1;
-// 	     VeloZ = fac*vx3;
-// 		 y = true;
+//          VeloX = fac*vx1;
+//          VeloY = c0o1;
+//          VeloZ = fac*vx3;
+//          y = true;
 //          feq=c2o27* (drho/*+three*(   -vx2     )*/+c9o2*(    -vx2    )*(    -vx2    ) * (c1o1 + drho)-cu_sq); 
 //          (D.f[d0P0])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY     ))/(c1o1+q) - c2o27 * drho;
 //          //feq=c2over27* (drho+three*(   -vx2     )+c9over2*(    -vx2    )*(    -vx2    )-cu_sq); 
@@ -2973,10 +2973,10 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirT[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 		 VeloZ = c0o1;
-// 		 z = true;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = c0o1;
+//          z = true;
 //          feq=c2o27* (drho/*+three*(         vx3)*/+c9o2*(         vx3)*(         vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[d00M])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ     ))/(c1o1+q) - c2o27 * drho;
 //          //feq=c2over27* (drho+three*(         vx3)+c9over2*(         vx3)*(         vx3)-cu_sq); 
@@ -2987,10 +2987,10 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirB[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 		 VeloZ = c0o1;
-// 		 z = true;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = c0o1;
+//          z = true;
 //          feq=c2o27* (drho/*+three*(        -vx3)*/+c9o2*(        -vx3)*(        -vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[d00P])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ     ))/(c1o1+q) - c2o27 * drho;
 //          //feq=c2over27* (drho+three*(        -vx3)+c9over2*(        -vx3)*(        -vx3)-cu_sq); 
@@ -3001,11 +3001,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirNE[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
 //          feq=c1o54* (drho/*+three*( vx1+vx2    )*/+c9o2*( vx1+vx2    )*( vx1+vx2    ) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dMM0])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*( vx1+vx2    )+c9over2*( vx1+vx2    )*( vx1+vx2    )-cu_sq); 
@@ -3016,11 +3016,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirSW[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
 //          feq=c1o54* (drho/*+three*(-vx1-vx2    )*/+c9o2*(-vx1-vx2    )*(-vx1-vx2    ) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dPP0])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*(-vx1-vx2    )+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cu_sq); 
@@ -3031,11 +3031,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirSE[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
 //          feq=c1o54* (drho/*+three*( vx1-vx2    )*/+c9o2*( vx1-vx2    )*( vx1-vx2    ) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dMP0])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*( vx1-vx2    )+c9over2*( vx1-vx2    )*( vx1-vx2    )-cu_sq); 
@@ -3046,11 +3046,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirNW[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
 //          feq=c1o54* (drho/*+three*(-vx1+vx2    )*/+c9o2*(-vx1+vx2    )*(-vx1+vx2    ) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dPM0])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*(-vx1+vx2    )+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cu_sq); 
@@ -3061,11 +3061,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirTE[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //       //  if (k==10000) printf("AFTER x: %u \t  y: %u \t z: %u \n  VeloX: %f \t VeloY: %f \t VeloZ: %f \n\n", x,y,z, VeloX,VeloY,VeloZ);
 //          feq=c1o54* (drho/*+three*( vx1    +vx3)*/+c9o2*( vx1    +vx3)*( vx1    +vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dM0M])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q) - c1o54 * drho;
@@ -3077,11 +3077,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirBW[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o54* (drho/*+three*(-vx1    -vx3)*/+c9o2*(-vx1    -vx3)*(-vx1    -vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dP0P])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*(-vx1    -vx3)+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cu_sq); 
@@ -3092,11 +3092,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirBE[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o54* (drho/*+three*( vx1    -vx3)*/+c9o2*( vx1    -vx3)*( vx1    -vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dM0P])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*( vx1    -vx3)+c9over2*( vx1    -vx3)*( vx1    -vx3)-cu_sq); 
@@ -3107,11 +3107,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirTW[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o54* (drho/*+three*(-vx1    +vx3)*/+c9o2*(-vx1    +vx3)*(-vx1    +vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dP0M])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*(-vx1    +vx3)+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cu_sq); 
@@ -3122,11 +3122,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirTN[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o54* (drho/*+three*(     vx2+vx3)*/+c9o2*(     vx2+vx3)*(     vx2+vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[d0MM])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*(     vx2+vx3)+c9over2*(     vx2+vx3)*(     vx2+vx3)-cu_sq); 
@@ -3137,11 +3137,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirBS[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o54* (drho/*+three*(    -vx2-vx3)*/+c9o2*(    -vx2-vx3)*(    -vx2-vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[d0PP])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*(    -vx2-vx3)+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cu_sq); 
@@ -3152,11 +3152,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirBN[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o54* (drho/*+three*(     vx2-vx3)*/+c9o2*(     vx2-vx3)*(     vx2-vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[d0MP])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*(     vx2-vx3)+c9over2*(     vx2-vx3)*(     vx2-vx3)-cu_sq); 
@@ -3167,11 +3167,11 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirTS[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o54* (drho/*+three*(    -vx2+vx3)*/+c9o2*(    -vx2+vx3)*(    -vx2+vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[d0PM])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q) - c1o54 * drho;
 //          //feq=c1over54* (drho+three*(    -vx2+vx3)+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cu_sq); 
@@ -3182,12 +3182,12 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirTNE[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dMMM])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho;
 //          //feq=c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); 
@@ -3198,12 +3198,12 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirBSW[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dPPP])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho;
 //          //feq=c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); 
@@ -3214,12 +3214,12 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirBNE[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dMMP])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho;
 //          //feq=c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); 
@@ -3230,12 +3230,12 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirTSW[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dPPM])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho;
 //          //feq=c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); 
@@ -3246,12 +3246,12 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirTSE[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dMPM])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho;
 //          //feq=c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); 
@@ -3262,12 +3262,12 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirBNW[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dPMP])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho;
 //          //feq=c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); 
@@ -3278,12 +3278,12 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirBSE[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dMPP])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho;
 //          //feq=c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); 
@@ -3294,12 +3294,12 @@ __global__ void QSlipPressureDeviceComp27TurbViscosity(
 //       q = q_dirTNW[k];
 //       if (q>=c0o1 && q<=c1o1)
 //       {
-// 		 VeloX = fac*vx1;
-// 	     VeloY = fac*vx2;
-// 	     VeloZ = fac*vx3;
-// 		 if (x == true) VeloX = c0o1;
-// 		 if (y == true) VeloY = c0o1;
-// 		 if (z == true) VeloZ = c0o1;
+//          VeloX = fac*vx1;
+//          VeloY = fac*vx2;
+//          VeloZ = fac*vx3;
+//          if (x == true) VeloX = c0o1;
+//          if (y == true) VeloY = c0o1;
+//          if (z == true) VeloZ = c0o1;
 //          feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); 
 //          (D.f[dPMM])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho;
 //          //feq=c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); 
@@ -3704,42 +3704,42 @@ __global__ void QSlipGeomDeviceComp27(
          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real VeloX = vx1;
-	  real VeloY = vx2;
-	  real VeloZ = vx3;
-	  real fac = c0o1;//0.5;
- 	  real phi = c0o1;
-	  //real alpha = c1o100;
+      real VeloX = vx1;
+      real VeloY = vx2;
+      real VeloZ = vx3;
+      real fac = c0o1;//0.5;
+       real phi = c0o1;
+      //real alpha = c1o100;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       real kxyFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho) - ((vx1*vx2)));
       real kyzFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho) - ((vx2*vx3)));
       real kxzFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho) - ((vx1*vx3)));
 
-	  real kxxFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_E+f_NE+f_SE+f_TE+f_BE+f_W+f_NW+f_SW+f_TW+f_BW+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx1*vx1)));
-	  real kyyFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_N+f_NE+f_NW+f_TN+f_BN+f_S+f_SE+f_SW+f_TS+f_BS+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx2*vx2)));
-	  real kzzFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_T+f_TE+f_TW+f_TN+f_BS+f_B+f_BE+f_BW+f_BN+f_BS+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx3*vx3)));
+      real kxxFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_E+f_NE+f_SE+f_TE+f_BE+f_W+f_NW+f_SW+f_TW+f_BW+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx1*vx1)));
+      real kyyFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_N+f_NE+f_NW+f_TN+f_BN+f_S+f_SE+f_SW+f_TS+f_BS+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx2*vx2)));
+      real kzzFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_T+f_TE+f_TW+f_TN+f_BS+f_B+f_BE+f_BW+f_BN+f_BS+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx3*vx3)));
 
-	  real magS = sqrtf(kxyFromfcNEQ*kxyFromfcNEQ + kyzFromfcNEQ*kyzFromfcNEQ + kxzFromfcNEQ*kxzFromfcNEQ + kxxFromfcNEQ*kxxFromfcNEQ + kyyFromfcNEQ*kyyFromfcNEQ + kzzFromfcNEQ*kzzFromfcNEQ);
+      real magS = sqrtf(kxyFromfcNEQ*kxyFromfcNEQ + kyzFromfcNEQ*kyzFromfcNEQ + kxzFromfcNEQ*kxzFromfcNEQ + kxxFromfcNEQ*kxxFromfcNEQ + kyyFromfcNEQ*kyyFromfcNEQ + kzzFromfcNEQ*kzzFromfcNEQ);
 
-	  //fac = fac * magS / (c1o3 * (one / om1 - c1o2));
+      //fac = fac * magS / (c1o3 * (one / om1 - c1o2));
    //   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real *facAst = &QQ[d000 * numberOfBCnodes];
+      //real *facAst = &QQ[d000 * numberOfBCnodes];
 
-	  //fac = fac * alpha + facAst[k] * (one - alpha);
-	  //facAst[k] = fac;
-	  //(&QQ[d000 * numberOfBCnodes])[KQK] = fac;
+      //fac = fac * alpha + facAst[k] * (one - alpha);
+      //facAst[k] = fac;
+      //(&QQ[d000 * numberOfBCnodes])[KQK] = fac;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////real uk = sqrtf(vx1*vx1 + vx2*vx2 + vx3*vx3);
+      ////real uk = sqrtf(vx1*vx1 + vx2*vx2 + vx3*vx3);
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real phi = expf(magS/0.01f) - one;
-	  //phi = (phi > one) ? one:phi;
+      //real phi = expf(magS/0.01f) - one;
+      //phi = (phi > one) ? one:phi;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real C = five;
-	  //real kappa = 0.41f;
-	  //real phi = (C * kappa * c1o2 * logf(magS / (c1o3 * (one / om1 - c1o2))) - one) / (C * kappa * c1o2 * logf(magS / (c1o3 * (one / om1 - c1o2))));
-	  //phi = (phi < zero) ? zero:phi;
+      //real C = five;
+      //real kappa = 0.41f;
+      //real phi = (C * kappa * c1o2 * logf(magS / (c1o3 * (one / om1 - c1o2))) - one) / (C * kappa * c1o2 * logf(magS / (c1o3 * (one / om1 - c1o2))));
+      //phi = (phi < zero) ? zero:phi;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real sum = zero, count = zero;
+      //real sum = zero, count = zero;
    //   q = q_dirE   [k]; if (q>=zero && q<=one) sum += (q *   nx_dirE[k] ); count += one;
    //   q = q_dirW   [k]; if (q>=zero && q<=one) sum += (q * (-nx_dirW[k])); count += one;
    //   q = q_dirN   [k]; if (q>=zero && q<=one) sum += (q *   nx_dirN[k] ); count += one;
@@ -3766,22 +3766,22 @@ __global__ void QSlipGeomDeviceComp27(
    //   q = q_dirBSW [k]; if (q>=zero && q<=one) sum += (q * ((-nx_dirBSW[k])- ny_dirBSW[k] - nz_dirBSW[k])/(sqrtf(three))); count += one;
    //   q = q_dirBSE [k]; if (q>=zero && q<=one) sum += (q * (  nx_dirBSE[k] - ny_dirBSE[k] - nz_dirBSE[k])/(sqrtf(three))); count += one;
    //   q = q_dirBNW [k]; if (q>=zero && q<=one) sum += (q * ((-nx_dirBNW[k])+ ny_dirBNW[k] - nz_dirBNW[k])/(sqrtf(three))); count += one;
-	  //real qMed = sum/count;
-	  //real phi = fac / (qMed + fac);
-	  //phi = (phi > one) ? one:one;
+      //real qMed = sum/count;
+      //real phi = fac / (qMed + fac);
+      //phi = (phi > one) ? one:one;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real testQ = c2o1;
+      real testQ = c2o1;
 
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirE[k] + vx2 * ny_dirE[k] + vx3 * nz_dirE[k]) * nx_dirE[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nx_dirE[k]) + fac);
-		 VeloX *= phi;
+         VeloX = vx1 - (vx1 * nx_dirE[k] + vx2 * ny_dirE[k] + vx3 * nz_dirE[k]) * nx_dirE[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nx_dirE[k]) + fac);
+         VeloX *= phi;
          feq=c2o27* (drho/*+three*( vx1        )*/+c9o2*( vx1        )*( vx1        ) * (c1o1 + drho)-cu_sq); 
          (D.f[dM00])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX     ))/(c1o1+q) - c2o27 * drho;
       }
@@ -3789,13 +3789,13 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirW[k] + vx2 * ny_dirW[k] + vx3 * nz_dirW[k]) * nx_dirW[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nx_dirW[k]) + fac);
-		 VeloX *= phi;
+         VeloX = vx1 - (vx1 * nx_dirW[k] + vx2 * ny_dirW[k] + vx3 * nz_dirW[k]) * nx_dirW[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nx_dirW[k]) + fac);
+         VeloX *= phi;
          feq=c2o27* (drho/*+three*(-vx1        )*/+c9o2*(-vx1        )*(-vx1        ) * (c1o1 + drho)-cu_sq); 
          (D.f[dP00])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX     ))/(c1o1+q) - c2o27 * drho;
       }
@@ -3803,13 +3803,13 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirN[k] + vx2 * ny_dirN[k] + vx3 * nz_dirN[k]) * ny_dirN[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( ny_dirN[k]) + fac);
-		 VeloY *= phi;
+         VeloY = vx2 - (vx1 * nx_dirN[k] + vx2 * ny_dirN[k] + vx3 * nz_dirN[k]) * ny_dirN[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( ny_dirN[k]) + fac);
+         VeloY *= phi;
          feq=c2o27* (drho/*+three*(    vx2     )*/+c9o2*(     vx2    )*(     vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[d0M0])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY     ))/(c1o1+q) - c2o27 * drho;
       }
@@ -3817,13 +3817,13 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirS[k] + vx2 * ny_dirS[k] + vx3 * nz_dirS[k]) * ny_dirS[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-ny_dirS[k]) + fac);
-		 VeloY *= phi;
+         VeloY = vx2 - (vx1 * nx_dirS[k] + vx2 * ny_dirS[k] + vx3 * nz_dirS[k]) * ny_dirS[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-ny_dirS[k]) + fac);
+         VeloY *= phi;
          feq=c2o27* (drho/*+three*(   -vx2     )*/+c9o2*(    -vx2    )*(    -vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[d0P0])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY     ))/(c1o1+q) - c2o27 * drho;
       }
@@ -3831,13 +3831,13 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirT[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloZ = vx3 - (vx1 * nx_dirT[k] + vx2 * ny_dirT[k] + vx3 * nz_dirT[k]) * nz_dirT[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nz_dirT[k]) + fac);
-		 VeloZ *= phi;
+         VeloZ = vx3 - (vx1 * nx_dirT[k] + vx2 * ny_dirT[k] + vx3 * nz_dirT[k]) * nz_dirT[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nz_dirT[k]) + fac);
+         VeloZ *= phi;
          feq=c2o27* (drho/*+three*(         vx3)*/+c9o2*(         vx3)*(         vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d00M])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ     ))/(c1o1+q) - c2o27 * drho;
       }
@@ -3845,13 +3845,13 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirB[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloZ = vx3 - (vx1 * nx_dirB[k] + vx2 * ny_dirB[k] + vx3 * nz_dirB[k]) * nz_dirB[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nz_dirB[k]) + fac);
-		 VeloZ *= phi;
+         VeloZ = vx3 - (vx1 * nx_dirB[k] + vx2 * ny_dirB[k] + vx3 * nz_dirB[k]) * nz_dirB[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nz_dirB[k]) + fac);
+         VeloZ *= phi;
          feq=c2o27* (drho/*+three*(        -vx3)*/+c9o2*(        -vx3)*(        -vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d00P])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ     ))/(c1o1+q) - c2o27 * drho;
       }
@@ -3859,15 +3859,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * nx_dirNE[k];
-		 VeloY = vx2 - (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * ny_dirNE[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nx_dirNE[k] + ny_dirNE[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
+         VeloX = vx1 - (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * nx_dirNE[k];
+         VeloY = vx2 - (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * ny_dirNE[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nx_dirNE[k] + ny_dirNE[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
          feq=c1o54* (drho/*+three*( vx1+vx2    )*/+c9o2*( vx1+vx2    )*( vx1+vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dMM0])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q) - c1o54 * drho;
       }
@@ -3875,15 +3875,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * nx_dirSW[k];
-		 VeloY = vx2 - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * ny_dirSW[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nx_dirSW[k] - ny_dirSW[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
+         VeloX = vx1 - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * nx_dirSW[k];
+         VeloY = vx2 - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * ny_dirSW[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nx_dirSW[k] - ny_dirSW[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
          feq=c1o54* (drho/*+three*(-vx1-vx2    )*/+c9o2*(-vx1-vx2    )*(-vx1-vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dPP0])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q) - c1o54 * drho;
       }
@@ -3891,15 +3891,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * nx_dirSE[k];
-		 VeloY = vx2 - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * ny_dirSE[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nx_dirSE[k] - ny_dirSE[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
+         VeloX = vx1 - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * nx_dirSE[k];
+         VeloY = vx2 - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * ny_dirSE[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nx_dirSE[k] - ny_dirSE[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
          feq=c1o54* (drho/*+three*( vx1-vx2    )*/+c9o2*( vx1-vx2    )*( vx1-vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dMP0])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q) - c1o54 * drho;
       }
@@ -3907,15 +3907,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * nx_dirNW[k];
-		 VeloY = vx2 - (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * ny_dirNW[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nx_dirNW[k] + ny_dirNW[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
+         VeloX = vx1 - (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * nx_dirNW[k];
+         VeloY = vx2 - (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * ny_dirNW[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nx_dirNW[k] + ny_dirNW[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
          feq=c1o54* (drho/*+three*(-vx1+vx2    )*/+c9o2*(-vx1+vx2    )*(-vx1+vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dPM0])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q) - c1o54 * drho;
       }
@@ -3923,15 +3923,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirTE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nx_dirTE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nz_dirTE[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nx_dirTE[k] + nz_dirTE[k]) + fac);
-		 VeloX *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nx_dirTE[k];
+         VeloZ = vx3 - (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nz_dirTE[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nx_dirTE[k] + nz_dirTE[k]) + fac);
+         VeloX *= phi;
+         VeloZ *= phi;
          feq=c1o54* (drho/*+three*( vx1    +vx3)*/+c9o2*( vx1    +vx3)*( vx1    +vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dM0M])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q) - c1o54 * drho;
       }
@@ -3939,15 +3939,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirBW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nx_dirBW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nz_dirBW[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nx_dirBW[k] - nz_dirBW[k]) + fac);
-		 VeloX *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nx_dirBW[k];
+         VeloZ = vx3 - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nz_dirBW[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nx_dirBW[k] - nz_dirBW[k]) + fac);
+         VeloX *= phi;
+         VeloZ *= phi;
          feq=c1o54* (drho/*+three*(-vx1    -vx3)*/+c9o2*(-vx1    -vx3)*(-vx1    -vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dP0P])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q) - c1o54 * drho;
       }
@@ -3955,15 +3955,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirBE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nx_dirBE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nz_dirBE[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nx_dirBE[k] - nz_dirBE[k]) + fac);
-		 VeloX *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nx_dirBE[k];
+         VeloZ = vx3 - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nz_dirBE[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nx_dirBE[k] - nz_dirBE[k]) + fac);
+         VeloX *= phi;
+         VeloZ *= phi;
          feq=c1o54* (drho/*+three*( vx1    -vx3)*/+c9o2*( vx1    -vx3)*( vx1    -vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dM0P])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q) - c1o54 * drho;
       }
@@ -3971,15 +3971,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirTW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nx_dirTW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nz_dirTW[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nx_dirTW[k] + nz_dirTW[k]) + fac);
-		 VeloX *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nx_dirTW[k];
+         VeloZ = vx3 - (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nz_dirTW[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nx_dirTW[k] + nz_dirTW[k]) + fac);
+         VeloX *= phi;
+         VeloZ *= phi;
          feq=c1o54* (drho/*+three*(-vx1    +vx3)*/+c9o2*(-vx1    +vx3)*(-vx1    +vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dP0M])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q) - c1o54 * drho;
       }
@@ -3987,15 +3987,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirTN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * ny_dirTN[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * nz_dirTN[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( ny_dirTN[k] + nz_dirTN[k]) + fac);
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloY = vx2 - (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * ny_dirTN[k];
+         VeloZ = vx3 - (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * nz_dirTN[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( ny_dirTN[k] + nz_dirTN[k]) + fac);
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o54* (drho/*+three*(     vx2+vx3)*/+c9o2*(     vx2+vx3)*(     vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0MM])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q) - c1o54 * drho;
       }
@@ -4003,15 +4003,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirBS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * ny_dirBS[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * nz_dirBS[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-ny_dirBS[k] - nz_dirBS[k]) + fac);
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloY = vx2 - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * ny_dirBS[k];
+         VeloZ = vx3 - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * nz_dirBS[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-ny_dirBS[k] - nz_dirBS[k]) + fac);
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o54* (drho/*+three*(    -vx2-vx3)*/+c9o2*(    -vx2-vx3)*(    -vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0PP])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q) - c1o54 * drho;
       }
@@ -4019,15 +4019,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirBN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * ny_dirBN[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * nz_dirBN[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( ny_dirBN[k] - nz_dirBN[k]) + fac);
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloY = vx2 - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * ny_dirBN[k];
+         VeloZ = vx3 - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * nz_dirBN[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( ny_dirBN[k] - nz_dirBN[k]) + fac);
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o54* (drho/*+three*(     vx2-vx3)*/+c9o2*(     vx2-vx3)*(     vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0MP])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q) - c1o54 * drho;
       }
@@ -4035,15 +4035,15 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirTS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * ny_dirTS[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * nz_dirTS[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-ny_dirTS[k] + nz_dirTS[k]) + fac);
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloY = vx2 - (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * ny_dirTS[k];
+         VeloZ = vx3 - (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * nz_dirTS[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-ny_dirTS[k] + nz_dirTS[k]) + fac);
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o54* (drho/*+three*(    -vx2+vx3)*/+c9o2*(    -vx2+vx3)*(    -vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0PM])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q) - c1o54 * drho;
       }
@@ -4051,17 +4051,17 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirTNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nx_dirTNE[k];
-		 VeloY = vx2 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * ny_dirTNE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nz_dirTNE[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nx_dirTNE[k] + ny_dirTNE[k] + nz_dirTNE[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nx_dirTNE[k];
+         VeloY = vx2 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * ny_dirTNE[k];
+         VeloZ = vx3 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nz_dirTNE[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nx_dirTNE[k] + ny_dirTNE[k] + nz_dirTNE[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMMM])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho;
       }
@@ -4069,17 +4069,17 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirBSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nx_dirBSW[k];
-		 VeloY = vx2 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * ny_dirBSW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nz_dirBSW[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nx_dirBSW[k] - ny_dirBSW[k] - nz_dirBSW[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nx_dirBSW[k];
+         VeloY = vx2 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * ny_dirBSW[k];
+         VeloZ = vx3 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nz_dirBSW[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nx_dirBSW[k] - ny_dirBSW[k] - nz_dirBSW[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPPP])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho;
       }
@@ -4087,17 +4087,17 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirBNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nx_dirBNE[k];
-		 VeloY = vx2 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * ny_dirBNE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nz_dirBNE[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nx_dirBNE[k] + ny_dirBNE[k] - nz_dirBNE[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nx_dirBNE[k];
+         VeloY = vx2 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * ny_dirBNE[k];
+         VeloZ = vx3 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nz_dirBNE[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nx_dirBNE[k] + ny_dirBNE[k] - nz_dirBNE[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMMP])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho;
       }
@@ -4105,17 +4105,17 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirTSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nx_dirTSW[k];
-		 VeloY = vx2 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * ny_dirTSW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nz_dirTSW[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nx_dirTSW[k] - ny_dirTSW[k] + nz_dirTSW[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nx_dirTSW[k];
+         VeloY = vx2 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * ny_dirTSW[k];
+         VeloZ = vx3 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nz_dirTSW[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nx_dirTSW[k] - ny_dirTSW[k] + nz_dirTSW[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPPM])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho;
       }
@@ -4123,17 +4123,17 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirTSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nx_dirTSE[k];
-		 VeloY = vx2 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * ny_dirTSE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nz_dirTSE[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nx_dirTSE[k] - ny_dirTSE[k] + nz_dirTSE[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nx_dirTSE[k];
+         VeloY = vx2 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * ny_dirTSE[k];
+         VeloZ = vx3 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nz_dirTSE[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nx_dirTSE[k] - ny_dirTSE[k] + nz_dirTSE[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMPM])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho;
       }
@@ -4141,17 +4141,17 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirBNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nx_dirBNW[k];
-		 VeloY = vx2 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * ny_dirBNW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nz_dirBNW[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nx_dirBNW[k] + ny_dirBNW[k] - nz_dirBNW[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nx_dirBNW[k];
+         VeloY = vx2 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * ny_dirBNW[k];
+         VeloZ = vx3 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nz_dirBNW[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nx_dirBNW[k] + ny_dirBNW[k] - nz_dirBNW[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPMP])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho;
       }
@@ -4159,17 +4159,17 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirBSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nx_dirBSE[k];
-		 VeloY = vx2 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * ny_dirBSE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nz_dirBSE[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = (phi > one) ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs( nx_dirBSE[k] - ny_dirBSE[k] - nz_dirBSE[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nx_dirBSE[k];
+         VeloY = vx2 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * ny_dirBSE[k];
+         VeloZ = vx3 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nz_dirBSE[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = (phi > one) ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs( nx_dirBSE[k] - ny_dirBSE[k] - nz_dirBSE[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMPP])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho;
       }
@@ -4177,17 +4177,17 @@ __global__ void QSlipGeomDeviceComp27(
       q = q_dirTNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nx_dirTNW[k];
-		 VeloY = vx2 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * ny_dirTNW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nz_dirTNW[k];
-		 //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
-		 //phi = phi > one ? one:phi;
-		 //phi = fac; //Test
-		 q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
-		 phi = fac / (q * fabs(-nx_dirTNW[k] + ny_dirTNW[k] + nz_dirTNW[k]) + fac);
-		 VeloX *= phi;
-		 VeloY *= phi;
-		 VeloZ *= phi;
+         VeloX = vx1 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nx_dirTNW[k];
+         VeloY = vx2 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * ny_dirTNW[k];
+         VeloZ = vx3 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nz_dirTNW[k];
+         //phi = fac * (one + magS / (c0p0000002+uk) * (one-q));
+         //phi = phi > one ? one:phi;
+         //phi = fac; //Test
+         q = testQ; //AAAAHHHHHH bitte wieder raus nehmen!!!!
+         phi = fac / (q * fabs(-nx_dirTNW[k] + ny_dirTNW[k] + nz_dirTNW[k]) + fac);
+         VeloX *= phi;
+         VeloY *= phi;
+         VeloZ *= phi;
          feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPMM])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho;
       }
@@ -4591,42 +4591,42 @@ __global__ void QSlipNormDeviceComp27(
          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real VeloX = vx1;
-	  real VeloY = vx2;
-	  real VeloZ = vx3;
-	  real fac = c1o100;//0.5;
- 	  //real phi = c0o1;
-	  real alpha = c1o100;
+      real VeloX = vx1;
+      real VeloY = vx2;
+      real VeloZ = vx3;
+      real fac = c1o100;//0.5;
+       //real phi = c0o1;
+      real alpha = c1o100;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       real kxyFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_SW+f_BSW+f_TSW-f_NW-f_BNW-f_TNW-f_SE-f_BSE-f_TSE+f_NE+f_BNE+f_TNE ) / (c1o1 + drho) - ((vx1*vx2)));
       real kyzFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_BS+f_BSE+f_BSW-f_TS-f_TSE-f_TSW-f_BN-f_BNE-f_BNW+f_TN+f_TNE+f_TNW ) / (c1o1 + drho) - ((vx2*vx3)));
       real kxzFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_BW+f_BSW+f_BNW-f_TW-f_TSW-f_TNW-f_BE-f_BSE-f_BNE+f_TE+f_TSE+f_TNE ) / (c1o1 + drho) - ((vx1*vx3)));
 
-	  real kxxFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_E+f_NE+f_SE+f_TE+f_BE+f_W+f_NW+f_SW+f_TW+f_BW+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx1*vx1)));
-	  real kyyFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_N+f_NE+f_NW+f_TN+f_BN+f_S+f_SE+f_SW+f_TS+f_BS+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx2*vx2)));
-	  real kzzFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_T+f_TE+f_TW+f_TN+f_BS+f_B+f_BE+f_BW+f_BN+f_BS+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx3*vx3)));
+      real kxxFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_E+f_NE+f_SE+f_TE+f_BE+f_W+f_NW+f_SW+f_TW+f_BW+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx1*vx1)));
+      real kyyFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_N+f_NE+f_NW+f_TN+f_BN+f_S+f_SE+f_SW+f_TS+f_BS+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx2*vx2)));
+      real kzzFromfcNEQ = -(c3o1 * om1 / (c1o1-om1))*((f_T+f_TE+f_TW+f_TN+f_BS+f_B+f_BE+f_BW+f_BN+f_BS+ f_TNE+f_TSE+f_BNE+f_TNE+ f_TNW+f_TSW+f_BNW+f_TNW ) / (c1o1 + drho) - ((c1o3*drho + vx3*vx3)));
 
-	  real magS = sqrtf(kxyFromfcNEQ*kxyFromfcNEQ + kyzFromfcNEQ*kyzFromfcNEQ + kxzFromfcNEQ*kxzFromfcNEQ + kxxFromfcNEQ*kxxFromfcNEQ + kyyFromfcNEQ*kyyFromfcNEQ + kzzFromfcNEQ*kzzFromfcNEQ);
+      real magS = sqrtf(kxyFromfcNEQ*kxyFromfcNEQ + kyzFromfcNEQ*kyzFromfcNEQ + kxzFromfcNEQ*kxzFromfcNEQ + kxxFromfcNEQ*kxxFromfcNEQ + kyyFromfcNEQ*kyyFromfcNEQ + kzzFromfcNEQ*kzzFromfcNEQ);
 
-	  fac = fac * magS / (c1o3 * (c1o1 / om1 - c1o2));
+      fac = fac * magS / (c1o3 * (c1o1 / om1 - c1o2));
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real *facAst = &QQ[d000 * numberOfBCnodes];
+      real *facAst = &QQ[d000 * numberOfBCnodes];
 
-	  fac = fac * alpha + facAst[k] * (c1o1 - alpha);
-	  facAst[k] = fac;
-	  //(&QQ[d000 * numberOfBCnodes])[KQK] = fac;
+      fac = fac * alpha + facAst[k] * (c1o1 - alpha);
+      facAst[k] = fac;
+      //(&QQ[d000 * numberOfBCnodes])[KQK] = fac;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ////real uk = sqrtf(vx1*vx1 + vx2*vx2 + vx3*vx3);
+      ////real uk = sqrtf(vx1*vx1 + vx2*vx2 + vx3*vx3);
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real phi = expf(magS/0.01f) - one;
-	  //phi = (phi > one) ? one:phi;
+      //real phi = expf(magS/0.01f) - one;
+      //phi = (phi > one) ? one:phi;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real C = five;
-	  //real kappa = 0.41f;
-	  //real phi = (C * kappa * c1o2 * logf(magS / (c1o3 * (one / om1 - c1o2))) - one) / (C * kappa * c1o2 * logf(magS / (c1o3 * (one / om1 - c1o2))));
-	  //phi = (phi < zero) ? zero:phi;
+      //real C = five;
+      //real kappa = 0.41f;
+      //real phi = (C * kappa * c1o2 * logf(magS / (c1o3 * (one / om1 - c1o2))) - one) / (C * kappa * c1o2 * logf(magS / (c1o3 * (one / om1 - c1o2))));
+      //phi = (phi < zero) ? zero:phi;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //real sum = zero, count = zero;
+      //real sum = zero, count = zero;
    //   q = q_dirE   [k]; if (q>=zero && q<=one) sum += (q *   nx_dirE[k] ); count += one;
    //   q = q_dirW   [k]; if (q>=zero && q<=one) sum += (q * (-nx_dirW[k])); count += one;
    //   q = q_dirN   [k]; if (q>=zero && q<=one) sum += (q *   nx_dirN[k] ); count += one;
@@ -4653,28 +4653,28 @@ __global__ void QSlipNormDeviceComp27(
    //   q = q_dirBSW [k]; if (q>=zero && q<=one) sum += (q * ((-nx_dirBSW[k])- ny_dirBSW[k] - nz_dirBSW[k])/(sqrtf(three))); count += one;
    //   q = q_dirBSE [k]; if (q>=zero && q<=one) sum += (q * (  nx_dirBSE[k] - ny_dirBSE[k] - nz_dirBSE[k])/(sqrtf(three))); count += one;
    //   q = q_dirBNW [k]; if (q>=zero && q<=one) sum += (q * ((-nx_dirBNW[k])+ ny_dirBNW[k] - nz_dirBNW[k])/(sqrtf(three))); count += one;
-	  //real qMed = sum/count;
-	  //real phi = fac / (qMed + fac);
-	  //phi = (phi > one) ? one:one;
+      //real qMed = sum/count;
+      //real phi = fac / (qMed + fac);
+      //phi = (phi > one) ? one:one;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real sliplength = 0.9f;//c1o2;
-	  real qSlip = c0o1;
-	  real un = c0o1;
-	  real ut = c0o1;
-	  real tangential = c0o1;
-	  //real cSmallSingle = c0p0000002;
+      real sliplength = 0.9f;//c1o2;
+      real qSlip = c0o1;
+      real un = c0o1;
+      real ut = c0o1;
+      real tangential = c0o1;
+      //real cSmallSingle = c0p0000002;
 
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirE[k] + vx2 * ny_dirE[k] + vx3 * nz_dirE[k]) * nx_dirE[k];
-		 un = fabs((vx1 * nx_dirE[k] + vx2 * ny_dirE[k] + vx3 * nz_dirE[k]) * nx_dirE[k]);
-		 ut = fabs(VeloX);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nx_dirE[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirE[k] + vx2 * ny_dirE[k] + vx3 * nz_dirE[k]) * nx_dirE[k];
+         un = fabs((vx1 * nx_dirE[k] + vx2 * ny_dirE[k] + vx3 * nz_dirE[k]) * nx_dirE[k]);
+         ut = fabs(VeloX);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nx_dirE[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c2o27* (drho/*+three*( vx1        )*/+c9o2*( vx1        )*( vx1        ) * (c1o1 + drho)-cu_sq); 
          (D.f[dM00])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W))/(c1o1+q) - c2o27 * drho;
       }
@@ -4682,14 +4682,14 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirW[k] + vx2 * ny_dirW[k] + vx3 * nz_dirW[k]) * nx_dirW[k];
-		 un = fabs(-(vx1 * nx_dirW[k] + vx2 * ny_dirW[k] + vx3 * nz_dirW[k]) * nx_dirW[k]);
-		 ut = fabs(-VeloX);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nx_dirW[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirW[k] + vx2 * ny_dirW[k] + vx3 * nz_dirW[k]) * nx_dirW[k];
+         un = fabs(-(vx1 * nx_dirW[k] + vx2 * ny_dirW[k] + vx3 * nz_dirW[k]) * nx_dirW[k]);
+         ut = fabs(-VeloX);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nx_dirW[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c2o27* (drho/*+three*(-vx1        )*/+c9o2*(-vx1        )*(-vx1        ) * (c1o1 + drho)-cu_sq); 
          (D.f[dP00])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E))/(c1o1+q) - c2o27 * drho;
       }
@@ -4697,14 +4697,14 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirN[k] + vx2 * ny_dirN[k] + vx3 * nz_dirN[k]) * ny_dirN[k];
-		 un = fabs( (vx1 * nx_dirN[k] + vx2 * ny_dirN[k] + vx3 * nz_dirN[k]) * ny_dirN[k]);
-		 ut = fabs( VeloY);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( ny_dirN[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloY = vx2 - (vx1 * nx_dirN[k] + vx2 * ny_dirN[k] + vx3 * nz_dirN[k]) * ny_dirN[k];
+         un = fabs( (vx1 * nx_dirN[k] + vx2 * ny_dirN[k] + vx3 * nz_dirN[k]) * ny_dirN[k]);
+         ut = fabs( VeloY);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( ny_dirN[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c2o27* (drho/*+three*(    vx2     )*/+c9o2*(     vx2    )*(     vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[d0M0])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S))/(c1o1+q) - c2o27 * drho;
       }
@@ -4712,14 +4712,14 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirS[k] + vx2 * ny_dirS[k] + vx3 * nz_dirS[k]) * ny_dirS[k];
-		 un = fabs(-(vx1 * nx_dirS[k] + vx2 * ny_dirS[k] + vx3 * nz_dirS[k]) * ny_dirS[k]);
-		 ut = fabs(-VeloY);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-ny_dirS[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloY = vx2 - (vx1 * nx_dirS[k] + vx2 * ny_dirS[k] + vx3 * nz_dirS[k]) * ny_dirS[k];
+         un = fabs(-(vx1 * nx_dirS[k] + vx2 * ny_dirS[k] + vx3 * nz_dirS[k]) * ny_dirS[k]);
+         ut = fabs(-VeloY);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-ny_dirS[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c2o27* (drho/*+three*(   -vx2     )*/+c9o2*(    -vx2    )*(    -vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[d0P0])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N))/(c1o1+q) - c2o27 * drho;
       }
@@ -4727,14 +4727,14 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirT[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloZ = vx3 - (vx1 * nx_dirT[k] + vx2 * ny_dirT[k] + vx3 * nz_dirT[k]) * nz_dirT[k];
-		 un = fabs( (vx1 * nx_dirT[k] + vx2 * ny_dirT[k] + vx3 * nz_dirT[k]) * nz_dirT[k]);
-		 ut = fabs( VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nz_dirT[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloZ = vx3 - (vx1 * nx_dirT[k] + vx2 * ny_dirT[k] + vx3 * nz_dirT[k]) * nz_dirT[k];
+         un = fabs( (vx1 * nx_dirT[k] + vx2 * ny_dirT[k] + vx3 * nz_dirT[k]) * nz_dirT[k]);
+         ut = fabs( VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nz_dirT[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c2o27* (drho/*+three*(         vx3)*/+c9o2*(         vx3)*(         vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d00M])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B))/(c1o1+q) - c2o27 * drho;
       }
@@ -4742,14 +4742,14 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirB[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloZ = vx3 - (vx1 * nx_dirB[k] + vx2 * ny_dirB[k] + vx3 * nz_dirB[k]) * nz_dirB[k];
-		 un = fabs(-(vx1 * nx_dirB[k] + vx2 * ny_dirB[k] + vx3 * nz_dirB[k]) * nz_dirB[k]);
-		 ut = fabs(-VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nz_dirB[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloZ = vx3 - (vx1 * nx_dirB[k] + vx2 * ny_dirB[k] + vx3 * nz_dirB[k]) * nz_dirB[k];
+         un = fabs(-(vx1 * nx_dirB[k] + vx2 * ny_dirB[k] + vx3 * nz_dirB[k]) * nz_dirB[k]);
+         ut = fabs(-VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nz_dirB[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c2o27* (drho/*+three*(        -vx3)*/+c9o2*(        -vx3)*(        -vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d00P])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T))/(c1o1+q) - c2o27 * drho;
       }
@@ -4757,15 +4757,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * nx_dirNE[k];
-		 VeloY = vx2 - (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * ny_dirNE[k];
-		 un = fabs( (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * nx_dirNE[k] + (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * ny_dirNE[k]);
-		 ut = fabs( VeloX + VeloY);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nx_dirNE[k]+ny_dirNE[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * nx_dirNE[k];
+         VeloY = vx2 - (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * ny_dirNE[k];
+         un = fabs( (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * nx_dirNE[k] + (vx1 * nx_dirNE[k] + vx2 * ny_dirNE[k] + vx3 * nz_dirNE[k]) * ny_dirNE[k]);
+         ut = fabs( VeloX + VeloY);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nx_dirNE[k]+ny_dirNE[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*( vx1+vx2    )*/+c9o2*( vx1+vx2    )*( vx1+vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dMM0])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW))/(c1o1+q) - c1o54 * drho;
       }
@@ -4773,15 +4773,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * nx_dirSW[k];
-		 VeloY = vx2 - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * ny_dirSW[k];
-		 un = fabs(-(vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * nx_dirSW[k] - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * ny_dirSW[k]);
-		 ut = fabs(-VeloX - VeloY);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nx_dirSW[k]-ny_dirSW[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * nx_dirSW[k];
+         VeloY = vx2 - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * ny_dirSW[k];
+         un = fabs(-(vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * nx_dirSW[k] - (vx1 * nx_dirSW[k] + vx2 * ny_dirSW[k] + vx3 * nz_dirSW[k]) * ny_dirSW[k]);
+         ut = fabs(-VeloX - VeloY);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nx_dirSW[k]-ny_dirSW[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*(-vx1-vx2    )*/+c9o2*(-vx1-vx2    )*(-vx1-vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dPP0])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE))/(c1o1+q) - c1o54 * drho;
       }
@@ -4789,15 +4789,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * nx_dirSE[k];
-		 VeloY = vx2 - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * ny_dirSE[k];
-		 un = fabs( (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * nx_dirSE[k] - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * ny_dirSE[k]);
-		 ut = fabs( VeloX - VeloY);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nx_dirSE[k]-ny_dirSE[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * nx_dirSE[k];
+         VeloY = vx2 - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * ny_dirSE[k];
+         un = fabs( (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * nx_dirSE[k] - (vx1 * nx_dirSE[k] + vx2 * ny_dirSE[k] + vx3 * nz_dirSE[k]) * ny_dirSE[k]);
+         ut = fabs( VeloX - VeloY);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nx_dirSE[k]-ny_dirSE[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*( vx1-vx2    )*/+c9o2*( vx1-vx2    )*( vx1-vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dMP0])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW))/(c1o1+q) - c1o54 * drho;
       }
@@ -4805,15 +4805,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * nx_dirNW[k];
-		 VeloY = vx2 - (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * ny_dirNW[k];
-		 un = fabs(-(vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * nx_dirNW[k] + (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * ny_dirNW[k]);
-		 ut = fabs(-VeloX + VeloY);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nx_dirNW[k]+ny_dirNW[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * nx_dirNW[k];
+         VeloY = vx2 - (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * ny_dirNW[k];
+         un = fabs(-(vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * nx_dirNW[k] + (vx1 * nx_dirNW[k] + vx2 * ny_dirNW[k] + vx3 * nz_dirNW[k]) * ny_dirNW[k]);
+         ut = fabs(-VeloX + VeloY);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nx_dirNW[k]+ny_dirNW[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*(-vx1+vx2    )*/+c9o2*(-vx1+vx2    )*(-vx1+vx2    ) * (c1o1 + drho)-cu_sq); 
          (D.f[dPM0])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE))/(c1o1+q) - c1o54 * drho;
       }
@@ -4821,15 +4821,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirTE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nx_dirTE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nz_dirTE[k];
-		 un = fabs( (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nx_dirTE[k] + (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nz_dirTE[k]);
-		 ut = fabs( VeloX + VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nx_dirTE[k]+nz_dirTE[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nx_dirTE[k];
+         VeloZ = vx3 - (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nz_dirTE[k];
+         un = fabs( (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nx_dirTE[k] + (vx1 * nx_dirTE[k] + vx2 * ny_dirTE[k] + vx3 * nz_dirTE[k]) * nz_dirTE[k]);
+         ut = fabs( VeloX + VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nx_dirTE[k]+nz_dirTE[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*( vx1    +vx3)*/+c9o2*( vx1    +vx3)*( vx1    +vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dM0M])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW))/(c1o1+q) - c1o54 * drho;
       }
@@ -4837,15 +4837,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirBW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nx_dirBW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nz_dirBW[k];
-		 un = fabs(-(vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nx_dirBW[k] - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nz_dirBW[k]);
-		 ut = fabs(-VeloX - VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nx_dirBW[k]-nz_dirBW[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nx_dirBW[k];
+         VeloZ = vx3 - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nz_dirBW[k];
+         un = fabs(-(vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nx_dirBW[k] - (vx1 * nx_dirBW[k] + vx2 * ny_dirBW[k] + vx3 * nz_dirBW[k]) * nz_dirBW[k]);
+         ut = fabs(-VeloX - VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nx_dirBW[k]-nz_dirBW[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*(-vx1    -vx3)*/+c9o2*(-vx1    -vx3)*(-vx1    -vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dP0P])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE))/(c1o1+q) - c1o54 * drho;
       }
@@ -4853,15 +4853,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirBE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nx_dirBE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nz_dirBE[k];
-		 un = fabs( (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nx_dirBE[k] - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nz_dirBE[k]);
-		 ut = fabs( VeloX - VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nx_dirBE[k]-nz_dirBE[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nx_dirBE[k];
+         VeloZ = vx3 - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nz_dirBE[k];
+         un = fabs( (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nx_dirBE[k] - (vx1 * nx_dirBE[k] + vx2 * ny_dirBE[k] + vx3 * nz_dirBE[k]) * nz_dirBE[k]);
+         ut = fabs( VeloX - VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nx_dirBE[k]-nz_dirBE[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*( vx1    -vx3)*/+c9o2*( vx1    -vx3)*( vx1    -vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dM0P])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW))/(c1o1+q) - c1o54 * drho;
       }
@@ -4869,15 +4869,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirTW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nx_dirTW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nz_dirTW[k];
-		 un = fabs(-(vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nx_dirTW[k] + (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nz_dirTW[k]);
-		 ut = fabs(-VeloX + VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nx_dirTW[k]+nz_dirTW[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nx_dirTW[k];
+         VeloZ = vx3 - (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nz_dirTW[k];
+         un = fabs(-(vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nx_dirTW[k] + (vx1 * nx_dirTW[k] + vx2 * ny_dirTW[k] + vx3 * nz_dirTW[k]) * nz_dirTW[k]);
+         ut = fabs(-VeloX + VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nx_dirTW[k]+nz_dirTW[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*(-vx1    +vx3)*/+c9o2*(-vx1    +vx3)*(-vx1    +vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dP0M])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE))/(c1o1+q) - c1o54 * drho;
       }
@@ -4885,15 +4885,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirTN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * ny_dirTN[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * nz_dirTN[k];
-		 un = fabs( (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * ny_dirTN[k] + (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * nz_dirTN[k]);
-		 ut = fabs( VeloY + VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( ny_dirTN[k]+nz_dirTN[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloY = vx2 - (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * ny_dirTN[k];
+         VeloZ = vx3 - (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * nz_dirTN[k];
+         un = fabs( (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * ny_dirTN[k] + (vx1 * nx_dirTN[k] + vx2 * ny_dirTN[k] + vx3 * nz_dirTN[k]) * nz_dirTN[k]);
+         ut = fabs( VeloY + VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( ny_dirTN[k]+nz_dirTN[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*(     vx2+vx3)*/+c9o2*(     vx2+vx3)*(     vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0MM])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS))/(c1o1+q) - c1o54 * drho;
       }
@@ -4901,15 +4901,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirBS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * ny_dirBS[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * nz_dirBS[k];
-		 un = fabs(-(vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * ny_dirBS[k] - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * nz_dirBS[k]);
-		 ut = fabs(-VeloY - VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-ny_dirBS[k]-nz_dirBS[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloY = vx2 - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * ny_dirBS[k];
+         VeloZ = vx3 - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * nz_dirBS[k];
+         un = fabs(-(vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * ny_dirBS[k] - (vx1 * nx_dirBS[k] + vx2 * ny_dirBS[k] + vx3 * nz_dirBS[k]) * nz_dirBS[k]);
+         ut = fabs(-VeloY - VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-ny_dirBS[k]-nz_dirBS[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*(    -vx2-vx3)*/+c9o2*(    -vx2-vx3)*(    -vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0PP])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN))/(c1o1+q) - c1o54 * drho;
       }
@@ -4917,15 +4917,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirBN[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * ny_dirBN[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * nz_dirBN[k];
-		 un = fabs( (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * ny_dirBN[k] - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * nz_dirBN[k]);
-		 ut = fabs( VeloY - VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( ny_dirBN[k]-nz_dirBN[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloY = vx2 - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * ny_dirBN[k];
+         VeloZ = vx3 - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * nz_dirBN[k];
+         un = fabs( (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * ny_dirBN[k] - (vx1 * nx_dirBN[k] + vx2 * ny_dirBN[k] + vx3 * nz_dirBN[k]) * nz_dirBN[k]);
+         ut = fabs( VeloY - VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( ny_dirBN[k]-nz_dirBN[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*(     vx2-vx3)*/+c9o2*(     vx2-vx3)*(     vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0MP])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS))/(c1o1+q) - c1o54 * drho;
       }
@@ -4933,15 +4933,15 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirTS[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloY = vx2 - (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * ny_dirTS[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * nz_dirTS[k];
-		 un = fabs(-(vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * ny_dirTS[k] + (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * nz_dirTS[k]);
-		 ut = fabs(-VeloY + VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-ny_dirTS[k]+nz_dirTS[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloY = vx2 - (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * ny_dirTS[k];
+         VeloZ = vx3 - (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * nz_dirTS[k];
+         un = fabs(-(vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * ny_dirTS[k] + (vx1 * nx_dirTS[k] + vx2 * ny_dirTS[k] + vx3 * nz_dirTS[k]) * nz_dirTS[k]);
+         ut = fabs(-VeloY + VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-ny_dirTS[k]+nz_dirTS[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o54* (drho/*+three*(    -vx2+vx3)*/+c9o2*(    -vx2+vx3)*(    -vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[d0PM])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN))/(c1o1+q) - c1o54 * drho;
       }
@@ -4949,18 +4949,18 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirTNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nx_dirTNE[k];
-		 VeloY = vx2 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * ny_dirTNE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nz_dirTNE[k];
-		 un = fabs( (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nx_dirTNE[k] 
-				   +(vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * ny_dirTNE[k] 
-				   +(vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nz_dirTNE[k]);
-		 ut = fabs( VeloX + VeloY + VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nx_dirTNE[k] + ny_dirTNE[k] + nz_dirTNE[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nx_dirTNE[k];
+         VeloY = vx2 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * ny_dirTNE[k];
+         VeloZ = vx3 - (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nz_dirTNE[k];
+         un = fabs( (vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nx_dirTNE[k] 
+                   +(vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * ny_dirTNE[k] 
+                   +(vx1 * nx_dirTNE[k] + vx2 * ny_dirTNE[k] + vx3 * nz_dirTNE[k]) * nz_dirTNE[k]);
+         ut = fabs( VeloX + VeloY + VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nx_dirTNE[k] + ny_dirTNE[k] + nz_dirTNE[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMMM])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW))/(c1o1+q) - c1o216 * drho;
       }
@@ -4968,18 +4968,18 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirBSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nx_dirBSW[k];
-		 VeloY = vx2 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * ny_dirBSW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nz_dirBSW[k];
-		 un = fabs(-(vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nx_dirBSW[k] 
-				   -(vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * ny_dirBSW[k] 
-				   -(vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nz_dirBSW[k]);
-		 ut = fabs(-VeloX - VeloY - VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nx_dirBSW[k] - ny_dirBSW[k] - nz_dirBSW[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nx_dirBSW[k];
+         VeloY = vx2 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * ny_dirBSW[k];
+         VeloZ = vx3 - (vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nz_dirBSW[k];
+         un = fabs(-(vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nx_dirBSW[k] 
+                   -(vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * ny_dirBSW[k] 
+                   -(vx1 * nx_dirBSW[k] + vx2 * ny_dirBSW[k] + vx3 * nz_dirBSW[k]) * nz_dirBSW[k]);
+         ut = fabs(-VeloX - VeloY - VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nx_dirBSW[k] - ny_dirBSW[k] - nz_dirBSW[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPPP])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE))/(c1o1+q) - c1o216 * drho;
       }
@@ -4987,18 +4987,18 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirBNE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nx_dirBNE[k];
-		 VeloY = vx2 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * ny_dirBNE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nz_dirBNE[k];
-		 un = fabs( (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nx_dirBNE[k] 
-				   +(vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * ny_dirBNE[k] 
-				   -(vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nz_dirBNE[k]);
-		 ut = fabs( VeloX + VeloY - VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nx_dirBNE[k] + ny_dirBNE[k] - nz_dirBNE[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nx_dirBNE[k];
+         VeloY = vx2 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * ny_dirBNE[k];
+         VeloZ = vx3 - (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nz_dirBNE[k];
+         un = fabs( (vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nx_dirBNE[k] 
+                   +(vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * ny_dirBNE[k] 
+                   -(vx1 * nx_dirBNE[k] + vx2 * ny_dirBNE[k] + vx3 * nz_dirBNE[k]) * nz_dirBNE[k]);
+         ut = fabs( VeloX + VeloY - VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nx_dirBNE[k] + ny_dirBNE[k] - nz_dirBNE[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMMP])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW))/(c1o1+q) - c1o216 * drho;
       }
@@ -5006,18 +5006,18 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirTSW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nx_dirTSW[k];
-		 VeloY = vx2 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * ny_dirTSW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nz_dirTSW[k];
-		 un = fabs(-(vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nx_dirTSW[k] 
-				   -(vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * ny_dirTSW[k] 
-				   +(vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nz_dirTSW[k]);
-		 ut = fabs(-VeloX - VeloY + VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nx_dirTSW[k] - ny_dirTSW[k] + nz_dirTSW[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nx_dirTSW[k];
+         VeloY = vx2 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * ny_dirTSW[k];
+         VeloZ = vx3 - (vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nz_dirTSW[k];
+         un = fabs(-(vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nx_dirTSW[k] 
+                   -(vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * ny_dirTSW[k] 
+                   +(vx1 * nx_dirTSW[k] + vx2 * ny_dirTSW[k] + vx3 * nz_dirTSW[k]) * nz_dirTSW[k]);
+         ut = fabs(-VeloX - VeloY + VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nx_dirTSW[k] - ny_dirTSW[k] + nz_dirTSW[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPPM])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE))/(c1o1+q) - c1o216 * drho;
       }
@@ -5025,18 +5025,18 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirTSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nx_dirTSE[k];
-		 VeloY = vx2 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * ny_dirTSE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nz_dirTSE[k];
-		 un = fabs(+(vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nx_dirTSE[k] 
-				   -(vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * ny_dirTSE[k] 
-				   +(vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nz_dirTSE[k]);
-		 ut = fabs(+VeloX - VeloY + VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nx_dirTSE[k] - ny_dirTSE[k] + nz_dirTSE[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nx_dirTSE[k];
+         VeloY = vx2 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * ny_dirTSE[k];
+         VeloZ = vx3 - (vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nz_dirTSE[k];
+         un = fabs(+(vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nx_dirTSE[k] 
+                   -(vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * ny_dirTSE[k] 
+                   +(vx1 * nx_dirTSE[k] + vx2 * ny_dirTSE[k] + vx3 * nz_dirTSE[k]) * nz_dirTSE[k]);
+         ut = fabs(+VeloX - VeloY + VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nx_dirTSE[k] - ny_dirTSE[k] + nz_dirTSE[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMPM])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW))/(c1o1+q) - c1o216 * drho;
       }
@@ -5044,18 +5044,18 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirBNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nx_dirBNW[k];
-		 VeloY = vx2 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * ny_dirBNW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nz_dirBNW[k];
-		 un = fabs(-(vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nx_dirBNW[k] 
-				   +(vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * ny_dirBNW[k] 
-				   -(vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nz_dirBNW[k]);
-		 ut = fabs(-VeloX + VeloY - VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nx_dirBNW[k] + ny_dirBNW[k] - nz_dirBNW[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nx_dirBNW[k];
+         VeloY = vx2 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * ny_dirBNW[k];
+         VeloZ = vx3 - (vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nz_dirBNW[k];
+         un = fabs(-(vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nx_dirBNW[k] 
+                   +(vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * ny_dirBNW[k] 
+                   -(vx1 * nx_dirBNW[k] + vx2 * ny_dirBNW[k] + vx3 * nz_dirBNW[k]) * nz_dirBNW[k]);
+         ut = fabs(-VeloX + VeloY - VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nx_dirBNW[k] + ny_dirBNW[k] - nz_dirBNW[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPMP])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE))/(c1o1+q) - c1o216 * drho;
       }
@@ -5063,18 +5063,18 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirBSE[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nx_dirBSE[k];
-		 VeloY = vx2 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * ny_dirBSE[k];
-		 VeloZ = vx3 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nz_dirBSE[k];
-		 un = fabs( (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nx_dirBSE[k] 
-				   -(vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * ny_dirBSE[k] 
-				   -(vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nz_dirBSE[k]);
-		 ut = fabs( VeloX - VeloY - VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs( nx_dirBSE[k] - ny_dirBSE[k] - nz_dirBSE[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nx_dirBSE[k];
+         VeloY = vx2 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * ny_dirBSE[k];
+         VeloZ = vx3 - (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nz_dirBSE[k];
+         un = fabs( (vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nx_dirBSE[k] 
+                   -(vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * ny_dirBSE[k] 
+                   -(vx1 * nx_dirBSE[k] + vx2 * ny_dirBSE[k] + vx3 * nz_dirBSE[k]) * nz_dirBSE[k]);
+         ut = fabs( VeloX - VeloY - VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs( nx_dirBSE[k] - ny_dirBSE[k] - nz_dirBSE[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dMPP])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW))/(c1o1+q) - c1o216 * drho;
       }
@@ -5082,18 +5082,18 @@ __global__ void QSlipNormDeviceComp27(
       q = q_dirTNW[k];
       if (q>=c0o1 && q<=c1o1)
       {
-		 VeloX = vx1 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nx_dirTNW[k];
-		 VeloY = vx2 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * ny_dirTNW[k];
-		 VeloZ = vx3 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nz_dirTNW[k];
-		 un = fabs(-(vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nx_dirTNW[k] 
-				   +(vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * ny_dirTNW[k] 
-				   +(vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nz_dirTNW[k]);
-		 ut = fabs(-VeloX + VeloY + VeloZ);
-		 tangential = ut / (ut + un + cSmallSingle);
-		 qSlip = sliplength * fabs(-nx_dirTNW[k] + ny_dirTNW[k] + nz_dirTNW[k]);		//sliplength * e_i * n_i
-		 //qSlip = (qSlip < zero) ? zero:qSlip;
-		 //tangential = (tangential > one) ? one:tangential;
-		 q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
+         VeloX = vx1 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nx_dirTNW[k];
+         VeloY = vx2 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * ny_dirTNW[k];
+         VeloZ = vx3 - (vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nz_dirTNW[k];
+         un = fabs(-(vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nx_dirTNW[k] 
+                   +(vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * ny_dirTNW[k] 
+                   +(vx1 * nx_dirTNW[k] + vx2 * ny_dirTNW[k] + vx3 * nz_dirTNW[k]) * nz_dirTNW[k]);
+         ut = fabs(-VeloX + VeloY + VeloZ);
+         tangential = ut / (ut + un + cSmallSingle);
+         qSlip = sliplength * fabs(-nx_dirTNW[k] + ny_dirTNW[k] + nz_dirTNW[k]);        //sliplength * e_i * n_i
+         //qSlip = (qSlip < zero) ? zero:qSlip;
+         //tangential = (tangential > one) ? one:tangential;
+         q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (cSmallSingle + q));
          feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); 
          (D.f[dPMM])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE))/(c1o1+q) - c1o216 * drho;
       }
diff --git a/src/gpu/core/GPU/StressBCs27.cu b/src/gpu/core/GPU/StressBCs27.cu
index b9b538dbc643fee107780f5d34d3f3e91b762ef1..4279a8cec0dd4dd4c2bf50006790c68298050e5f 100644
--- a/src/gpu/core/GPU/StressBCs27.cu
+++ b/src/gpu/core/GPU/StressBCs27.cu
@@ -855,7 +855,7 @@ __global__ void QStressDeviceComp27(
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void BBStressDevice27( real* DD,
-											            int* k_Q,
+                                                        int* k_Q,
                                              int* k_N,
                                              real* QQ,
                                              unsigned int  numberOfBCnodes,
@@ -1486,7 +1486,7 @@ __global__ void BBStressDevice27( real* DD,
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void BBStressPressureDevice27( real* DD,
-											            int* k_Q,
+                                                        int* k_Q,
                                              int* k_N,
                                              real* QQ,
                                              unsigned int  numberOfBCnodes,
diff --git a/src/gpu/core/GPU/ThinWallBCs27.cu b/src/gpu/core/GPU/ThinWallBCs27.cu
index e35782207c90cada824b5c5423a566afa3645573..c3bb6946278660c4e0a145fcd3d58ade32f94fe8 100644
--- a/src/gpu/core/GPU/ThinWallBCs27.cu
+++ b/src/gpu/core/GPU/ThinWallBCs27.cu
@@ -16,19 +16,19 @@ using namespace vf::lbm::dir;
 
 /////////////////////////////////////////////////////////////////////////
 __global__ void QVelDeviceCompThinWallsPartOne27(
-	real* vx,
-	real* vy,
-	real* vz,
-	real* DD, 
-	int* k_Q, 
-	real* QQ,
-	uint numberOfBCnodes, 
-	real om1, 
-	uint* neighborX,
-	uint* neighborY,
-	uint* neighborZ,
-	unsigned long long numberOfLBnodes, 
-	bool isEvenTimestep)
+    real* vx,
+    real* vy,
+    real* vz,
+    real* DD, 
+    int* k_Q, 
+    real* QQ,
+    uint numberOfBCnodes, 
+    real om1, 
+    uint* neighborX,
+    uint* neighborY,
+    uint* neighborZ,
+    unsigned long long numberOfLBnodes, 
+    bool isEvenTimestep)
 {
    Distributions27 D;
    if (isEvenTimestep==true)
@@ -227,42 +227,42 @@ __global__ void QVelDeviceCompThinWallsPartOne27(
       if (q>=c0o1 && q<=c1o1)
       {
          feq=c2o27* (drho + c9o2 * ( vx1        )*( vx1        ) * (c1o1 + drho)-cu_sq);
-		 (D.f[dM00])[kw] = (c1o1 - q) / (c1o1 + q)*(f_E - f_W + (f_E + f_W - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_E + f_W) - c6o1*c2o27*(VeloX)) / (c1o1 + q);
-	  }
-
-	  q = q_dirW[k];
-	  if (q >= c0o1 && q <= c1o1)
-	  {
-		  feq = c2o27* (drho + c9o2 * (-vx1)*(-vx1) * (c1o1 + drho) - cu_sq);
-		  (D.f[dP00])[ke] = (c1o1 - q) / (c1o1 + q)*(f_W - f_E + (f_W + f_E - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_W + f_E) - c6o1*c2o27*(-VeloX)) / (c1o1 + q);
-	  }
-
-	  q = q_dirN[k];
-	  if (q >= c0o1 && q <= c1o1)
-	  {
-		  feq = c2o27* (drho + c9o2 * (vx2)*(vx2) * (c1o1 + drho) - cu_sq);
-		  (D.f[d0M0])[ks] = (c1o1 - q) / (c1o1 + q)*(f_N - f_S + (f_N + f_S - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_N + f_S) - c6o1*c2o27*(VeloY)) / (c1o1 + q);
-	  }
-
-	  q = q_dirS[k];
-	  if (q >= c0o1 && q <= c1o1)
-	  {
-		  feq = c2o27* (drho + c9o2 * (-vx2)*(-vx2) * (c1o1 + drho) - cu_sq);
-		  (D.f[d0P0])[kn] = (c1o1 - q) / (c1o1 + q)*(f_S - f_N + (f_S + f_N - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_S + f_N) - c6o1*c2o27*(-VeloY)) / (c1o1 + q);
-	  }
-
-	  q = q_dirT[k];
-	  if (q >= c0o1 && q <= c1o1)
-	  {
-		  feq = c2o27* (drho + c9o2 * (vx3)*(vx3) * (c1o1 + drho) - cu_sq);
-		  (D.f[d00M])[kb] = (c1o1 - q) / (c1o1 + q)*(f_T - f_B + (f_T + f_B - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_T + f_B) - c6o1*c2o27*(VeloZ)) / (c1o1 + q);
-	  }
-
-	  q = q_dirB[k];
-	  if (q >= c0o1 && q <= c1o1)
-	  {
-		  feq = c2o27* (drho + c9o2 * (-vx3)*(-vx3) * (c1o1 + drho) - cu_sq);
-		  (D.f[d00P])[kt] = (c1o1 - q) / (c1o1 + q)*(f_B - f_T + (f_B + f_T - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_B + f_T) - c6o1*c2o27*(-VeloZ)) / (c1o1 + q);
+         (D.f[dM00])[kw] = (c1o1 - q) / (c1o1 + q)*(f_E - f_W + (f_E + f_W - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_E + f_W) - c6o1*c2o27*(VeloX)) / (c1o1 + q);
+      }
+
+      q = q_dirW[k];
+      if (q >= c0o1 && q <= c1o1)
+      {
+          feq = c2o27* (drho + c9o2 * (-vx1)*(-vx1) * (c1o1 + drho) - cu_sq);
+          (D.f[dP00])[ke] = (c1o1 - q) / (c1o1 + q)*(f_W - f_E + (f_W + f_E - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_W + f_E) - c6o1*c2o27*(-VeloX)) / (c1o1 + q);
+      }
+
+      q = q_dirN[k];
+      if (q >= c0o1 && q <= c1o1)
+      {
+          feq = c2o27* (drho + c9o2 * (vx2)*(vx2) * (c1o1 + drho) - cu_sq);
+          (D.f[d0M0])[ks] = (c1o1 - q) / (c1o1 + q)*(f_N - f_S + (f_N + f_S - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_N + f_S) - c6o1*c2o27*(VeloY)) / (c1o1 + q);
+      }
+
+      q = q_dirS[k];
+      if (q >= c0o1 && q <= c1o1)
+      {
+          feq = c2o27* (drho + c9o2 * (-vx2)*(-vx2) * (c1o1 + drho) - cu_sq);
+          (D.f[d0P0])[kn] = (c1o1 - q) / (c1o1 + q)*(f_S - f_N + (f_S + f_N - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_S + f_N) - c6o1*c2o27*(-VeloY)) / (c1o1 + q);
+      }
+
+      q = q_dirT[k];
+      if (q >= c0o1 && q <= c1o1)
+      {
+          feq = c2o27* (drho + c9o2 * (vx3)*(vx3) * (c1o1 + drho) - cu_sq);
+          (D.f[d00M])[kb] = (c1o1 - q) / (c1o1 + q)*(f_T - f_B + (f_T + f_B - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_T + f_B) - c6o1*c2o27*(VeloZ)) / (c1o1 + q);
+      }
+
+      q = q_dirB[k];
+      if (q >= c0o1 && q <= c1o1)
+      {
+          feq = c2o27* (drho + c9o2 * (-vx3)*(-vx3) * (c1o1 + drho) - cu_sq);
+          (D.f[d00P])[kt] = (c1o1 - q) / (c1o1 + q)*(f_B - f_T + (f_B + f_T - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_B + f_T) - c6o1*c2o27*(-VeloZ)) / (c1o1 + q);
       }
 
       q = q_dirNE[k];
@@ -448,388 +448,388 @@ __global__ void QVelDeviceCompThinWallsPartOne27(
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QDeviceCompThinWallsPartOne27(
-	real* DD,
-	int* k_Q,
-	real* QQ,
-	unsigned int numberOfBCnodes,
-	real om1,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned long long numberOfLBnodes,
-	bool isEvenTimestep)
+    real* DD,
+    int* k_Q,
+    real* QQ,
+    unsigned int numberOfBCnodes,
+    real om1,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned long long numberOfLBnodes,
+    bool isEvenTimestep)
 {
-	Distributions27 D;
-	if (isEvenTimestep == true)
-	{
-		D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00P] = &DD[d00P * numberOfLBnodes];
-		D.f[d00M] = &DD[d00M * numberOfLBnodes];
-		D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-		D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-		D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-		D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-		D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-		D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-		D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-		D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-		D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-	}
-	else
-	{
-		D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00M] = &DD[d00P * numberOfLBnodes];
-		D.f[d00P] = &DD[d00M * numberOfLBnodes];
-		D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-		D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-		D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-		D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-		D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-		D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-		D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-		D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-		D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-	}
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k < numberOfBCnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		real *q_dirE, *q_dirW, *q_dirN, *q_dirS, *q_dirT, *q_dirB,
-			*q_dirNE, *q_dirSW, *q_dirSE, *q_dirNW, *q_dirTE, *q_dirBW,
-			*q_dirBE, *q_dirTW, *q_dirTN, *q_dirBS, *q_dirBN, *q_dirTS,
-			*q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
-			*q_dirBSE, *q_dirBNW;
-		q_dirE = &QQ[dP00 * numberOfBCnodes];
-		q_dirW = &QQ[dM00 * numberOfBCnodes];
-		q_dirN = &QQ[d0P0 * numberOfBCnodes];
-		q_dirS = &QQ[d0M0 * numberOfBCnodes];
-		q_dirT = &QQ[d00P * numberOfBCnodes];
-		q_dirB = &QQ[d00M * numberOfBCnodes];
-		q_dirNE = &QQ[dPP0 * numberOfBCnodes];
-		q_dirSW = &QQ[dMM0 * numberOfBCnodes];
-		q_dirSE = &QQ[dPM0 * numberOfBCnodes];
-		q_dirNW = &QQ[dMP0 * numberOfBCnodes];
-		q_dirTE = &QQ[dP0P * numberOfBCnodes];
-		q_dirBW = &QQ[dM0M * numberOfBCnodes];
-		q_dirBE = &QQ[dP0M * numberOfBCnodes];
-		q_dirTW = &QQ[dM0P * numberOfBCnodes];
-		q_dirTN = &QQ[d0PP * numberOfBCnodes];
-		q_dirBS = &QQ[d0MM * numberOfBCnodes];
-		q_dirBN = &QQ[d0PM * numberOfBCnodes];
-		q_dirTS = &QQ[d0MP * numberOfBCnodes];
-		q_dirTNE = &QQ[dPPP * numberOfBCnodes];
-		q_dirTSW = &QQ[dMMP * numberOfBCnodes];
-		q_dirTSE = &QQ[dPMP * numberOfBCnodes];
-		q_dirTNW = &QQ[dMPP * numberOfBCnodes];
-		q_dirBNE = &QQ[dPPM * numberOfBCnodes];
-		q_dirBSW = &QQ[dMMM * numberOfBCnodes];
-		q_dirBSE = &QQ[dPMM * numberOfBCnodes];
-		q_dirBNW = &QQ[dMPM * numberOfBCnodes];
-		////////////////////////////////////////////////////////////////////////////////
-		//index
-		unsigned int KQK = k_Q[k];
-		unsigned int kzero = KQK;
-		unsigned int ke = KQK;
-		unsigned int kw = neighborX[KQK];
-		unsigned int kn = KQK;
-		unsigned int ks = neighborY[KQK];
-		unsigned int kt = KQK;
-		unsigned int kb = neighborZ[KQK];
-		unsigned int ksw = neighborY[kw];
-		unsigned int kne = KQK;
-		unsigned int kse = ks;
-		unsigned int knw = kw;
-		unsigned int kbw = neighborZ[kw];
-		unsigned int kte = KQK;
-		unsigned int kbe = kb;
-		unsigned int ktw = kw;
-		unsigned int kbs = neighborZ[ks];
-		unsigned int ktn = KQK;
-		unsigned int kbn = kb;
-		unsigned int kts = ks;
-		unsigned int ktse = ks;
-		unsigned int kbnw = kbw;
-		unsigned int ktnw = kw;
-		unsigned int kbse = kbs;
-		unsigned int ktsw = ksw;
-		unsigned int kbne = kb;
-		unsigned int ktne = KQK;
-		unsigned int kbsw = neighborZ[ksw];
-		////////////////////////////////////////////////////////////////////////////////
-		real f_E, f_W, f_N, f_S, f_T, f_B, f_NE, f_SW, f_SE, f_NW, f_TE, f_BW, f_BE,
-			f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
-
-		f_W = (D.f[dP00])[ke];
-		f_E = (D.f[dM00])[kw];
-		f_S = (D.f[d0P0])[kn];
-		f_N = (D.f[d0M0])[ks];
-		f_B = (D.f[d00P])[kt];
-		f_T = (D.f[d00M])[kb];
-		f_SW = (D.f[dPP0])[kne];
-		f_NE = (D.f[dMM0])[ksw];
-		f_NW = (D.f[dPM0])[kse];
-		f_SE = (D.f[dMP0])[knw];
-		f_BW = (D.f[dP0P])[kte];
-		f_TE = (D.f[dM0M])[kbw];
-		f_TW = (D.f[dP0M])[kbe];
-		f_BE = (D.f[dM0P])[ktw];
-		f_BS = (D.f[d0PP])[ktn];
-		f_TN = (D.f[d0MM])[kbs];
-		f_TS = (D.f[d0PM])[kbn];
-		f_BN = (D.f[d0MP])[kts];
-		f_BSW = (D.f[dPPP])[ktne];
-		f_BNE = (D.f[dMMP])[ktsw];
-		f_BNW = (D.f[dPMP])[ktse];
-		f_BSE = (D.f[dMPP])[ktnw];
-		f_TSW = (D.f[dPPM])[kbne];
-		f_TNE = (D.f[dMMM])[kbsw];
-		f_TNW = (D.f[dPMM])[kbse];
-		f_TSE = (D.f[dMPM])[kbnw];
-		////////////////////////////////////////////////////////////////////////////////
-		real vx1, vx2, vx3, drho, feq, q;
-		drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
-			f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW +
-			f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]);
-
-		vx1 = (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
-			((f_BE - f_TW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_NE - f_SW)) +
-			(f_E - f_W)) / (c1o1 + drho);
-
-
-		vx2 = ((-(f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
-			((f_BN - f_TS) + (f_TN - f_BS)) + (-(f_SE - f_NW) + (f_NE - f_SW)) +
-			(f_N - f_S)) / (c1o1 + drho);
-
-		vx3 = (((f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) + (f_TSW - f_BNE)) +
-			(-(f_BN - f_TS) + (f_TN - f_BS)) + ((f_TE - f_BW) - (f_BE - f_TW)) +
-			(f_T - f_B)) / (c1o1 + drho);
-
-		////////////////////////////////////////////////////////////////////////////////
-		real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3) * (c1o1 + drho);
-		////////////////////////////////////////////////////////////////////////////////
-
-		q = q_dirE[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c2o27* (drho + c9o2*(vx1)*(vx1) * (c1o1 + drho) - cu_sq);
-			(D.f[dM00])[kw] = (c1o1 - q) / (c1o1 + q)*(f_E - f_W + (f_E + f_W - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_E + f_W)) / (c1o1 + q);
-		}
-
-		q = q_dirW[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c2o27* (drho + c9o2*(-vx1)*(-vx1) * (c1o1 + drho) - cu_sq);
-			(D.f[dP00])[ke] = (c1o1 - q) / (c1o1 + q)*(f_W - f_E + (f_W + f_E - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_W + f_E)) / (c1o1 + q);
-		}
-
-		q = q_dirN[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c2o27* (drho + c9o2*(vx2)*(vx2) * (c1o1 + drho) - cu_sq);
-			(D.f[d0M0])[ks] = (c1o1 - q) / (c1o1 + q)*(f_N - f_S + (f_N + f_S - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_N + f_S)) / (c1o1 + q);
-		}
-
-		q = q_dirS[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c2o27* (drho + c9o2*(-vx2)*(-vx2) * (c1o1 + drho) - cu_sq);
-			(D.f[d0P0])[kn] = (c1o1 - q) / (c1o1 + q)*(f_S - f_N + (f_S + f_N - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_S + f_N)) / (c1o1 + q);
-		}
-
-		q = q_dirT[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c2o27* (drho + c9o2*(vx3)*(vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[d00M])[kb] = (c1o1 - q) / (c1o1 + q)*(f_T - f_B + (f_T + f_B - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_T + f_B)) / (c1o1 + q);
-		}
-
-		q = q_dirB[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c2o27* (drho + c9o2*(-vx3)*(-vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[d00P])[kt] = (c1o1 - q) / (c1o1 + q)*(f_B - f_T + (f_B + f_T - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_B + f_T)) / (c1o1 + q);
-		}
-
-		q = q_dirNE[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(vx1 + vx2)*(vx1 + vx2) * (c1o1 + drho) - cu_sq);
-			(D.f[dMM0])[ksw] = (c1o1 - q) / (c1o1 + q)*(f_NE - f_SW + (f_NE + f_SW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_NE + f_SW)) / (c1o1 + q);
-		}
-
-		q = q_dirSW[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(-vx1 - vx2)*(-vx1 - vx2) * (c1o1 + drho) - cu_sq);
-			(D.f[dPP0])[kne] = (c1o1 - q) / (c1o1 + q)*(f_SW - f_NE + (f_SW + f_NE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_SW + f_NE)) / (c1o1 + q);
-		}
-
-		q = q_dirSE[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(vx1 - vx2)*(vx1 - vx2) * (c1o1 + drho) - cu_sq);
-			(D.f[dMP0])[knw] = (c1o1 - q) / (c1o1 + q)*(f_SE - f_NW + (f_SE + f_NW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_SE + f_NW)) / (c1o1 + q);
-		}
-
-		q = q_dirNW[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(-vx1 + vx2)*(-vx1 + vx2) * (c1o1 + drho) - cu_sq);
-			(D.f[dPM0])[kse] = (c1o1 - q) / (c1o1 + q)*(f_NW - f_SE + (f_NW + f_SE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_NW + f_SE)) / (c1o1 + q);
-		}
-
-		q = q_dirTE[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(vx1 + vx3)*(vx1 + vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dM0M])[kbw] = (c1o1 - q) / (c1o1 + q)*(f_TE - f_BW + (f_TE + f_BW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TE + f_BW)) / (c1o1 + q);
-		}
-
-		q = q_dirBW[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(-vx1 - vx3)*(-vx1 - vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dP0P])[kte] = (c1o1 - q) / (c1o1 + q)*(f_BW - f_TE + (f_BW + f_TE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BW + f_TE)) / (c1o1 + q);
-		}
-
-		q = q_dirBE[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(vx1 - vx3)*(vx1 - vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dM0P])[ktw] = (c1o1 - q) / (c1o1 + q)*(f_BE - f_TW + (f_BE + f_TW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BE + f_TW)) / (c1o1 + q);
-		}
-
-		q = q_dirTW[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(-vx1 + vx3)*(-vx1 + vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dP0M])[kbe] = (c1o1 - q) / (c1o1 + q)*(f_TW - f_BE + (f_TW + f_BE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TW + f_BE)) / (c1o1 + q);
-		}
-
-		q = q_dirTN[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(vx2 + vx3)*(vx2 + vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[d0MM])[kbs] = (c1o1 - q) / (c1o1 + q)*(f_TN - f_BS + (f_TN + f_BS - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TN + f_BS)) / (c1o1 + q);
-		}
-
-		q = q_dirBS[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(-vx2 - vx3)*(-vx2 - vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[d0PP])[ktn] = (c1o1 - q) / (c1o1 + q)*(f_BS - f_TN + (f_BS + f_TN - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BS + f_TN)) / (c1o1 + q);
-		}
-
-		q = q_dirBN[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(vx2 - vx3)*(vx2 - vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[d0MP])[kts] = (c1o1 - q) / (c1o1 + q)*(f_BN - f_TS + (f_BN + f_TS - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BN + f_TS)) / (c1o1 + q);
-		}
-
-		q = q_dirTS[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o54* (drho + c9o2*(-vx2 + vx3)*(-vx2 + vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[d0PM])[kbn] = (c1o1 - q) / (c1o1 + q)*(f_TS - f_BN + (f_TS + f_BN - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TS + f_BN)) / (c1o1 + q);
-		}
-
-		q = q_dirTNE[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o216*(drho + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dMMM])[kbsw] = (c1o1 - q) / (c1o1 + q)*(f_TNE - f_BSW + (f_TNE + f_BSW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TNE + f_BSW)) / (c1o1 + q);
-		}
-
-		q = q_dirBSW[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o216*(drho + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dPPP])[ktne] = (c1o1 - q) / (c1o1 + q)*(f_BSW - f_TNE + (f_BSW + f_TNE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BSW + f_TNE)) / (c1o1 + q);
-		}
-
-		q = q_dirBNE[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o216*(drho + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dMMP])[ktsw] = (c1o1 - q) / (c1o1 + q)*(f_BNE - f_TSW + (f_BNE + f_TSW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BNE + f_TSW)) / (c1o1 + q);
-		}
-
-		q = q_dirTSW[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o216*(drho + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dPPM])[kbne] = (c1o1 - q) / (c1o1 + q)*(f_TSW - f_BNE + (f_TSW + f_BNE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TSW + f_BNE)) / (c1o1 + q);
-		}
-
-		q = q_dirTSE[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o216*(drho + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dMPM])[kbnw] = (c1o1 - q) / (c1o1 + q)*(f_TSE - f_BNW + (f_TSE + f_BNW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TSE + f_BNW)) / (c1o1 + q);
-		}
-
-		q = q_dirBNW[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o216*(drho + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dPMP])[ktse] = (c1o1 - q) / (c1o1 + q)*(f_BNW - f_TSE + (f_BNW + f_TSE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BNW + f_TSE)) / (c1o1 + q);
-		}
-
-		q = q_dirBSE[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o216*(drho + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dMPP])[ktnw] = (c1o1 - q) / (c1o1 + q)*(f_BSE - f_TNW + (f_BSE + f_TNW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BSE + f_TNW)) / (c1o1 + q);
-		}
-
-		q = q_dirTNW[k];
-		if (q >= c0o1 && q <= c1o1)
-		{
-			feq = c1o216*(drho + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) * (c1o1 + drho) - cu_sq);
-			(D.f[dPMM])[kbse] = (c1o1 - q) / (c1o1 + q)*(f_TNW - f_BSE + (f_TNW + f_BSE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TNW + f_BSE)) / (c1o1 + q);
-		}
-	}
+    Distributions27 D;
+    if (isEvenTimestep == true)
+    {
+        D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00P] = &DD[d00P * numberOfLBnodes];
+        D.f[d00M] = &DD[d00M * numberOfLBnodes];
+        D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+        D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+        D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+        D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+        D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+        D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+        D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+        D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+        D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+    }
+    else
+    {
+        D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00M] = &DD[d00P * numberOfLBnodes];
+        D.f[d00P] = &DD[d00M * numberOfLBnodes];
+        D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+        D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+        D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+        D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+        D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+        D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+        D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+        D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+        D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+    }
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if (k < numberOfBCnodes)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        real *q_dirE, *q_dirW, *q_dirN, *q_dirS, *q_dirT, *q_dirB,
+            *q_dirNE, *q_dirSW, *q_dirSE, *q_dirNW, *q_dirTE, *q_dirBW,
+            *q_dirBE, *q_dirTW, *q_dirTN, *q_dirBS, *q_dirBN, *q_dirTS,
+            *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
+            *q_dirBSE, *q_dirBNW;
+        q_dirE = &QQ[dP00 * numberOfBCnodes];
+        q_dirW = &QQ[dM00 * numberOfBCnodes];
+        q_dirN = &QQ[d0P0 * numberOfBCnodes];
+        q_dirS = &QQ[d0M0 * numberOfBCnodes];
+        q_dirT = &QQ[d00P * numberOfBCnodes];
+        q_dirB = &QQ[d00M * numberOfBCnodes];
+        q_dirNE = &QQ[dPP0 * numberOfBCnodes];
+        q_dirSW = &QQ[dMM0 * numberOfBCnodes];
+        q_dirSE = &QQ[dPM0 * numberOfBCnodes];
+        q_dirNW = &QQ[dMP0 * numberOfBCnodes];
+        q_dirTE = &QQ[dP0P * numberOfBCnodes];
+        q_dirBW = &QQ[dM0M * numberOfBCnodes];
+        q_dirBE = &QQ[dP0M * numberOfBCnodes];
+        q_dirTW = &QQ[dM0P * numberOfBCnodes];
+        q_dirTN = &QQ[d0PP * numberOfBCnodes];
+        q_dirBS = &QQ[d0MM * numberOfBCnodes];
+        q_dirBN = &QQ[d0PM * numberOfBCnodes];
+        q_dirTS = &QQ[d0MP * numberOfBCnodes];
+        q_dirTNE = &QQ[dPPP * numberOfBCnodes];
+        q_dirTSW = &QQ[dMMP * numberOfBCnodes];
+        q_dirTSE = &QQ[dPMP * numberOfBCnodes];
+        q_dirTNW = &QQ[dMPP * numberOfBCnodes];
+        q_dirBNE = &QQ[dPPM * numberOfBCnodes];
+        q_dirBSW = &QQ[dMMM * numberOfBCnodes];
+        q_dirBSE = &QQ[dPMM * numberOfBCnodes];
+        q_dirBNW = &QQ[dMPM * numberOfBCnodes];
+        ////////////////////////////////////////////////////////////////////////////////
+        //index
+        unsigned int KQK = k_Q[k];
+        unsigned int kzero = KQK;
+        unsigned int ke = KQK;
+        unsigned int kw = neighborX[KQK];
+        unsigned int kn = KQK;
+        unsigned int ks = neighborY[KQK];
+        unsigned int kt = KQK;
+        unsigned int kb = neighborZ[KQK];
+        unsigned int ksw = neighborY[kw];
+        unsigned int kne = KQK;
+        unsigned int kse = ks;
+        unsigned int knw = kw;
+        unsigned int kbw = neighborZ[kw];
+        unsigned int kte = KQK;
+        unsigned int kbe = kb;
+        unsigned int ktw = kw;
+        unsigned int kbs = neighborZ[ks];
+        unsigned int ktn = KQK;
+        unsigned int kbn = kb;
+        unsigned int kts = ks;
+        unsigned int ktse = ks;
+        unsigned int kbnw = kbw;
+        unsigned int ktnw = kw;
+        unsigned int kbse = kbs;
+        unsigned int ktsw = ksw;
+        unsigned int kbne = kb;
+        unsigned int ktne = KQK;
+        unsigned int kbsw = neighborZ[ksw];
+        ////////////////////////////////////////////////////////////////////////////////
+        real f_E, f_W, f_N, f_S, f_T, f_B, f_NE, f_SW, f_SE, f_NW, f_TE, f_BW, f_BE,
+            f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
+
+        f_W = (D.f[dP00])[ke];
+        f_E = (D.f[dM00])[kw];
+        f_S = (D.f[d0P0])[kn];
+        f_N = (D.f[d0M0])[ks];
+        f_B = (D.f[d00P])[kt];
+        f_T = (D.f[d00M])[kb];
+        f_SW = (D.f[dPP0])[kne];
+        f_NE = (D.f[dMM0])[ksw];
+        f_NW = (D.f[dPM0])[kse];
+        f_SE = (D.f[dMP0])[knw];
+        f_BW = (D.f[dP0P])[kte];
+        f_TE = (D.f[dM0M])[kbw];
+        f_TW = (D.f[dP0M])[kbe];
+        f_BE = (D.f[dM0P])[ktw];
+        f_BS = (D.f[d0PP])[ktn];
+        f_TN = (D.f[d0MM])[kbs];
+        f_TS = (D.f[d0PM])[kbn];
+        f_BN = (D.f[d0MP])[kts];
+        f_BSW = (D.f[dPPP])[ktne];
+        f_BNE = (D.f[dMMP])[ktsw];
+        f_BNW = (D.f[dPMP])[ktse];
+        f_BSE = (D.f[dMPP])[ktnw];
+        f_TSW = (D.f[dPPM])[kbne];
+        f_TNE = (D.f[dMMM])[kbsw];
+        f_TNW = (D.f[dPMM])[kbse];
+        f_TSE = (D.f[dMPM])[kbnw];
+        ////////////////////////////////////////////////////////////////////////////////
+        real vx1, vx2, vx3, drho, feq, q;
+        drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
+            f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW +
+            f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]);
+
+        vx1 = (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
+            ((f_BE - f_TW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_NE - f_SW)) +
+            (f_E - f_W)) / (c1o1 + drho);
+
+
+        vx2 = ((-(f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
+            ((f_BN - f_TS) + (f_TN - f_BS)) + (-(f_SE - f_NW) + (f_NE - f_SW)) +
+            (f_N - f_S)) / (c1o1 + drho);
+
+        vx3 = (((f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) + (f_TSW - f_BNE)) +
+            (-(f_BN - f_TS) + (f_TN - f_BS)) + ((f_TE - f_BW) - (f_BE - f_TW)) +
+            (f_T - f_B)) / (c1o1 + drho);
+
+        ////////////////////////////////////////////////////////////////////////////////
+        real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3) * (c1o1 + drho);
+        ////////////////////////////////////////////////////////////////////////////////
+
+        q = q_dirE[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c2o27* (drho + c9o2*(vx1)*(vx1) * (c1o1 + drho) - cu_sq);
+            (D.f[dM00])[kw] = (c1o1 - q) / (c1o1 + q)*(f_E - f_W + (f_E + f_W - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_E + f_W)) / (c1o1 + q);
+        }
+
+        q = q_dirW[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c2o27* (drho + c9o2*(-vx1)*(-vx1) * (c1o1 + drho) - cu_sq);
+            (D.f[dP00])[ke] = (c1o1 - q) / (c1o1 + q)*(f_W - f_E + (f_W + f_E - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_W + f_E)) / (c1o1 + q);
+        }
+
+        q = q_dirN[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c2o27* (drho + c9o2*(vx2)*(vx2) * (c1o1 + drho) - cu_sq);
+            (D.f[d0M0])[ks] = (c1o1 - q) / (c1o1 + q)*(f_N - f_S + (f_N + f_S - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_N + f_S)) / (c1o1 + q);
+        }
+
+        q = q_dirS[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c2o27* (drho + c9o2*(-vx2)*(-vx2) * (c1o1 + drho) - cu_sq);
+            (D.f[d0P0])[kn] = (c1o1 - q) / (c1o1 + q)*(f_S - f_N + (f_S + f_N - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_S + f_N)) / (c1o1 + q);
+        }
+
+        q = q_dirT[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c2o27* (drho + c9o2*(vx3)*(vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[d00M])[kb] = (c1o1 - q) / (c1o1 + q)*(f_T - f_B + (f_T + f_B - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_T + f_B)) / (c1o1 + q);
+        }
+
+        q = q_dirB[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c2o27* (drho + c9o2*(-vx3)*(-vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[d00P])[kt] = (c1o1 - q) / (c1o1 + q)*(f_B - f_T + (f_B + f_T - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_B + f_T)) / (c1o1 + q);
+        }
+
+        q = q_dirNE[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(vx1 + vx2)*(vx1 + vx2) * (c1o1 + drho) - cu_sq);
+            (D.f[dMM0])[ksw] = (c1o1 - q) / (c1o1 + q)*(f_NE - f_SW + (f_NE + f_SW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_NE + f_SW)) / (c1o1 + q);
+        }
+
+        q = q_dirSW[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(-vx1 - vx2)*(-vx1 - vx2) * (c1o1 + drho) - cu_sq);
+            (D.f[dPP0])[kne] = (c1o1 - q) / (c1o1 + q)*(f_SW - f_NE + (f_SW + f_NE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_SW + f_NE)) / (c1o1 + q);
+        }
+
+        q = q_dirSE[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(vx1 - vx2)*(vx1 - vx2) * (c1o1 + drho) - cu_sq);
+            (D.f[dMP0])[knw] = (c1o1 - q) / (c1o1 + q)*(f_SE - f_NW + (f_SE + f_NW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_SE + f_NW)) / (c1o1 + q);
+        }
+
+        q = q_dirNW[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(-vx1 + vx2)*(-vx1 + vx2) * (c1o1 + drho) - cu_sq);
+            (D.f[dPM0])[kse] = (c1o1 - q) / (c1o1 + q)*(f_NW - f_SE + (f_NW + f_SE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_NW + f_SE)) / (c1o1 + q);
+        }
+
+        q = q_dirTE[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(vx1 + vx3)*(vx1 + vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dM0M])[kbw] = (c1o1 - q) / (c1o1 + q)*(f_TE - f_BW + (f_TE + f_BW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TE + f_BW)) / (c1o1 + q);
+        }
+
+        q = q_dirBW[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(-vx1 - vx3)*(-vx1 - vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dP0P])[kte] = (c1o1 - q) / (c1o1 + q)*(f_BW - f_TE + (f_BW + f_TE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BW + f_TE)) / (c1o1 + q);
+        }
+
+        q = q_dirBE[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(vx1 - vx3)*(vx1 - vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dM0P])[ktw] = (c1o1 - q) / (c1o1 + q)*(f_BE - f_TW + (f_BE + f_TW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BE + f_TW)) / (c1o1 + q);
+        }
+
+        q = q_dirTW[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(-vx1 + vx3)*(-vx1 + vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dP0M])[kbe] = (c1o1 - q) / (c1o1 + q)*(f_TW - f_BE + (f_TW + f_BE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TW + f_BE)) / (c1o1 + q);
+        }
+
+        q = q_dirTN[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(vx2 + vx3)*(vx2 + vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[d0MM])[kbs] = (c1o1 - q) / (c1o1 + q)*(f_TN - f_BS + (f_TN + f_BS - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TN + f_BS)) / (c1o1 + q);
+        }
+
+        q = q_dirBS[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(-vx2 - vx3)*(-vx2 - vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[d0PP])[ktn] = (c1o1 - q) / (c1o1 + q)*(f_BS - f_TN + (f_BS + f_TN - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BS + f_TN)) / (c1o1 + q);
+        }
+
+        q = q_dirBN[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(vx2 - vx3)*(vx2 - vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[d0MP])[kts] = (c1o1 - q) / (c1o1 + q)*(f_BN - f_TS + (f_BN + f_TS - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BN + f_TS)) / (c1o1 + q);
+        }
+
+        q = q_dirTS[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o54* (drho + c9o2*(-vx2 + vx3)*(-vx2 + vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[d0PM])[kbn] = (c1o1 - q) / (c1o1 + q)*(f_TS - f_BN + (f_TS + f_BN - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TS + f_BN)) / (c1o1 + q);
+        }
+
+        q = q_dirTNE[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o216*(drho + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dMMM])[kbsw] = (c1o1 - q) / (c1o1 + q)*(f_TNE - f_BSW + (f_TNE + f_BSW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TNE + f_BSW)) / (c1o1 + q);
+        }
+
+        q = q_dirBSW[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o216*(drho + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dPPP])[ktne] = (c1o1 - q) / (c1o1 + q)*(f_BSW - f_TNE + (f_BSW + f_TNE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BSW + f_TNE)) / (c1o1 + q);
+        }
+
+        q = q_dirBNE[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o216*(drho + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dMMP])[ktsw] = (c1o1 - q) / (c1o1 + q)*(f_BNE - f_TSW + (f_BNE + f_TSW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BNE + f_TSW)) / (c1o1 + q);
+        }
+
+        q = q_dirTSW[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o216*(drho + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dPPM])[kbne] = (c1o1 - q) / (c1o1 + q)*(f_TSW - f_BNE + (f_TSW + f_BNE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TSW + f_BNE)) / (c1o1 + q);
+        }
+
+        q = q_dirTSE[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o216*(drho + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dMPM])[kbnw] = (c1o1 - q) / (c1o1 + q)*(f_TSE - f_BNW + (f_TSE + f_BNW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TSE + f_BNW)) / (c1o1 + q);
+        }
+
+        q = q_dirBNW[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o216*(drho + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dPMP])[ktse] = (c1o1 - q) / (c1o1 + q)*(f_BNW - f_TSE + (f_BNW + f_TSE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BNW + f_TSE)) / (c1o1 + q);
+        }
+
+        q = q_dirBSE[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o216*(drho + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dMPP])[ktnw] = (c1o1 - q) / (c1o1 + q)*(f_BSE - f_TNW + (f_BSE + f_TNW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BSE + f_TNW)) / (c1o1 + q);
+        }
+
+        q = q_dirTNW[k];
+        if (q >= c0o1 && q <= c1o1)
+        {
+            feq = c1o216*(drho + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) * (c1o1 + drho) - cu_sq);
+            (D.f[dPMM])[kbse] = (c1o1 - q) / (c1o1 + q)*(f_TNW - f_BSE + (f_TNW + f_BSE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TNW + f_BSE)) / (c1o1 + q);
+        }
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -873,17 +873,17 @@ __global__ void QDeviceCompThinWallsPartOne27(
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void QThinWallsPartTwo27(
-	real* DD, 
-	int* k_Q, 
-	real* QQ,
-	uint numberOfBCnodes, 
-	uint* geom,
-	uint* neighborX,
-	uint* neighborY,
-	uint* neighborZ,
-	uint* neighborWSB,
-	unsigned long long numberOfLBnodes, 
-	bool isEvenTimestep)
+    real* DD, 
+    int* k_Q, 
+    real* QQ,
+    uint numberOfBCnodes, 
+    uint* geom,
+    uint* neighborX,
+    uint* neighborY,
+    uint* neighborZ,
+    uint* neighborWSB,
+    unsigned long long numberOfLBnodes, 
+    bool isEvenTimestep)
 {
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  x = threadIdx.x;  // Globaler x-Index 
@@ -960,85 +960,85 @@ __global__ void QThinWallsPartTwo27(
       uint kbne = kb;
       uint ktne = KQK;
       uint kbsw = neighborZ[ksw];
-	  ////////////////////////////////////////////////////////////////////////////////
-	  //anti ET intermediate steps
-	  uint kmmm = neighborWSB[KQK]; // -1 -1 -1
-	  uint k0mm = neighborX[kmmm];  //  0 -1 -1
-	  uint km0m = neighborY[kmmm];  // -1  0 -1
-	  uint kmm0 = neighborZ[kmmm];  // -1 -1  0
-	  uint k0m0 = neighborX[kmm0];  //  0 -1  0
-	  uint km00 = neighborY[kmm0];  // -1  0  0
-	  /////////////////////////////////////////////////
-	  //final indices for anti ET
-	  uint kpmm = neighborX[k0mm];  //  1 -1 -1
-	  uint kmpm = neighborY[km0m];  // -1  1 -1
-	  uint kmmp = neighborZ[kmm0];  // -1 -1  1
-	  uint kmp0 = neighborY[km00];  // -1  1  0
-	  uint km0p = neighborZ[km00];  // -1  0  1
-	  uint k0mp = neighborZ[k0m0];  //  0 -1  1
-	  ////////////////////////////////////////////////////////////////////////////////
-	  Distributions27 D, DN;
-	  if (isEvenTimestep == true)
-	  {
-		  D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-		  D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-		  D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-		  D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-		  D.f[d00P] = &DD[d00P * numberOfLBnodes];
-		  D.f[d00M] = &DD[d00M * numberOfLBnodes];
-		  D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-		  D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-		  D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-		  D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-		  D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-		  D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-		  D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-		  D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-		  D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-		  D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-		  D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-		  D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-		  D.f[d000] = &DD[d000 * numberOfLBnodes];
-		  D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-		  D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-		  D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-		  D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-		  D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-		  D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-		  D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-		  D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-	  }
-	  else
-	  {
-		  D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-		  D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-		  D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-		  D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-		  D.f[d00M] = &DD[d00P * numberOfLBnodes];
-		  D.f[d00P] = &DD[d00M * numberOfLBnodes];
-		  D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-		  D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-		  D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-		  D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-		  D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-		  D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-		  D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-		  D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-		  D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-		  D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-		  D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-		  D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-		  D.f[d000] = &DD[d000 * numberOfLBnodes];
-		  D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-		  D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-		  D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-		  D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-		  D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-		  D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-		  D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-		  D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-	  }
-	  if (isEvenTimestep==false)
+      ////////////////////////////////////////////////////////////////////////////////
+      //anti ET intermediate steps
+      uint kmmm = neighborWSB[KQK]; // -1 -1 -1
+      uint k0mm = neighborX[kmmm];  //  0 -1 -1
+      uint km0m = neighborY[kmmm];  // -1  0 -1
+      uint kmm0 = neighborZ[kmmm];  // -1 -1  0
+      uint k0m0 = neighborX[kmm0];  //  0 -1  0
+      uint km00 = neighborY[kmm0];  // -1  0  0
+      /////////////////////////////////////////////////
+      //final indices for anti ET
+      uint kpmm = neighborX[k0mm];  //  1 -1 -1
+      uint kmpm = neighborY[km0m];  // -1  1 -1
+      uint kmmp = neighborZ[kmm0];  // -1 -1  1
+      uint kmp0 = neighborY[km00];  // -1  1  0
+      uint km0p = neighborZ[km00];  // -1  0  1
+      uint k0mp = neighborZ[k0m0];  //  0 -1  1
+      ////////////////////////////////////////////////////////////////////////////////
+      Distributions27 D, DN;
+      if (isEvenTimestep == true)
+      {
+          D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+          D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+          D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+          D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+          D.f[d00P] = &DD[d00P * numberOfLBnodes];
+          D.f[d00M] = &DD[d00M * numberOfLBnodes];
+          D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+          D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+          D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+          D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+          D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+          D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+          D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+          D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+          D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+          D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+          D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+          D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+          D.f[d000] = &DD[d000 * numberOfLBnodes];
+          D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+          D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+          D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+          D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+          D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+          D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+          D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+          D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+      }
+      else
+      {
+          D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+          D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+          D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+          D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+          D.f[d00M] = &DD[d00P * numberOfLBnodes];
+          D.f[d00P] = &DD[d00M * numberOfLBnodes];
+          D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+          D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+          D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+          D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+          D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+          D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+          D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+          D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+          D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+          D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+          D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+          D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+          D.f[d000] = &DD[d000 * numberOfLBnodes];
+          D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+          D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+          D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+          D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+          D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+          D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+          D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+      }
+      if (isEvenTimestep==false)
       {
          DN.f[dP00] = &DD[dP00 * numberOfLBnodes];
          DN.f[dM00] = &DD[dM00 * numberOfLBnodes];
@@ -1099,15 +1099,15 @@ __global__ void QThinWallsPartTwo27(
          DN.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //directions allways exchange
-	  //(-1 -1 -1) (-1  0  0) ( 0 -1  0) ( 0  0 -1) (-1 -1  0) (-1  0 -1) ( 0 -1 -1) ( 1  1 -1) ( 1 -1  1) (-1  1  1) ( 1 -1  0) ( 1  0 -1) ( 0  1 -1)
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //directions exchange if solid neighbor
-	  //( 1  1  1) ( 1  0  0) ( 0  1  0) ( 0  0  1) ( 1  1  0) ( 1  0  1) ( 0  1  1) (-1 -1  1) (-1  1 -1) ( 1 -1 -1) (-1  1  0) (-1  0  1) ( 0 -1  1)
-	  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real q, tmp;
+      //directions allways exchange
+      //(-1 -1 -1) (-1  0  0) ( 0 -1  0) ( 0  0 -1) (-1 -1  0) (-1  0 -1) ( 0 -1 -1) ( 1  1 -1) ( 1 -1  1) (-1  1  1) ( 1 -1  0) ( 1  0 -1) ( 0  1 -1)
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //directions exchange if solid neighbor
+      //( 1  1  1) ( 1  0  0) ( 0  1  0) ( 0  0  1) ( 1  1  0) ( 1  0  1) ( 0  1  1) (-1 -1  1) (-1  1 -1) ( 1 -1 -1) (-1  1  0) (-1  0  1) ( 0 -1  1)
+      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      real q, tmp;
       q = q_dirE[k];   if (q>=c0o1 && q<=c1o1){ if (geom[kw  ] < GEO_FLUID){tmp = (DN.f[dM00])[kw  ]; (DN.f[dM00])[kw  ]=(D.f[dM00])[kw  ]; (D.f[dM00])[kw  ]=tmp;}}
-	  q = q_dirW[k];   if (q>=c0o1 && q<=c1o1){                            {tmp = (DN.f[dP00])[ke  ]; (DN.f[dP00])[ke  ]=(D.f[dP00])[ke  ]; (D.f[dP00])[ke  ]=tmp;}}
+      q = q_dirW[k];   if (q>=c0o1 && q<=c1o1){                            {tmp = (DN.f[dP00])[ke  ]; (DN.f[dP00])[ke  ]=(D.f[dP00])[ke  ]; (D.f[dP00])[ke  ]=tmp;}}
       q = q_dirN[k];   if (q>=c0o1 && q<=c1o1){ if (geom[ks  ] < GEO_FLUID){tmp = (DN.f[d0M0])[ks  ]; (DN.f[d0M0])[ks  ]=(D.f[d0M0])[ks  ]; (D.f[d0M0])[ks  ]=tmp;}}
       q = q_dirS[k];   if (q>=c0o1 && q<=c1o1){                            {tmp = (DN.f[d0P0])[kn  ]; (DN.f[d0P0])[kn  ]=(D.f[d0P0])[kn  ]; (D.f[d0P0])[kn  ]=tmp;}}
       q = q_dirT[k];   if (q>=c0o1 && q<=c1o1){ if (geom[kb  ] < GEO_FLUID){tmp = (DN.f[d00M])[kb  ]; (DN.f[d00M])[kb  ]=(D.f[d00M])[kb  ]; (D.f[d00M])[kb  ]=tmp;}}
diff --git a/src/gpu/core/GPU/VelocityBCs27.cu b/src/gpu/core/GPU/VelocityBCs27.cu
index f7e0a574578afb515b3a5665cfeaafe7bc315661..d1798e84490ffed3e803717e22cc8dbbaccf2222 100644
--- a/src/gpu/core/GPU/VelocityBCs27.cu
+++ b/src/gpu/core/GPU/VelocityBCs27.cu
@@ -129,203 +129,203 @@ __global__ void QVelDeviceCompPlusSlip27(
 
    if (k < numberOfBCnodes)
    {
-	   ////////////////////////////////////////////////////////////////////////////////
-	   real VeloX = vx[k];
-	   real VeloY = vy[k];
-	   real VeloZ = vz[k]; //(16.0*(u0*2.0)*bbx*bby*(grid_nx-bbx)*(grid_ny-bby))/(grid_nx*grid_nx*grid_ny*grid_ny)
-	   ////////////////////////////////////////////////////////////////////////////////
-	   real *q_dirE, *q_dirW, *q_dirN, *q_dirS, *q_dirT, *q_dirB,
-		   *q_dirNE, *q_dirSW, *q_dirSE, *q_dirNW, *q_dirTE, *q_dirBW,
-		   *q_dirBE, *q_dirTW, *q_dirTN, *q_dirBS, *q_dirBN, *q_dirTS,
-		   *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
-		   *q_dirBSE, *q_dirBNW;
-	   q_dirE = &QQ[dP00 * numberOfBCnodes];
-	   q_dirW = &QQ[dM00 * numberOfBCnodes];
-	   q_dirN = &QQ[d0P0 * numberOfBCnodes];
-	   q_dirS = &QQ[d0M0 * numberOfBCnodes];
-	   q_dirT = &QQ[d00P * numberOfBCnodes];
-	   q_dirB = &QQ[d00M * numberOfBCnodes];
-	   q_dirNE = &QQ[dPP0 * numberOfBCnodes];
-	   q_dirSW = &QQ[dMM0 * numberOfBCnodes];
-	   q_dirSE = &QQ[dPM0 * numberOfBCnodes];
-	   q_dirNW = &QQ[dMP0 * numberOfBCnodes];
-	   q_dirTE = &QQ[dP0P * numberOfBCnodes];
-	   q_dirBW = &QQ[dM0M * numberOfBCnodes];
-	   q_dirBE = &QQ[dP0M * numberOfBCnodes];
-	   q_dirTW = &QQ[dM0P * numberOfBCnodes];
-	   q_dirTN = &QQ[d0PP * numberOfBCnodes];
-	   q_dirBS = &QQ[d0MM * numberOfBCnodes];
-	   q_dirBN = &QQ[d0PM * numberOfBCnodes];
-	   q_dirTS = &QQ[d0MP * numberOfBCnodes];
-	   q_dirTNE = &QQ[dPPP * numberOfBCnodes];
-	   q_dirTSW = &QQ[dMMP * numberOfBCnodes];
-	   q_dirTSE = &QQ[dPMP * numberOfBCnodes];
-	   q_dirTNW = &QQ[dMPP * numberOfBCnodes];
-	   q_dirBNE = &QQ[dPPM * numberOfBCnodes];
-	   q_dirBSW = &QQ[dMMM * numberOfBCnodes];
-	   q_dirBSE = &QQ[dPMM * numberOfBCnodes];
-	   q_dirBNW = &QQ[dMPM * numberOfBCnodes];
-	   ////////////////////////////////////////////////////////////////////////////////
-	   //index
-	   unsigned int KQK = k_Q[k];
-	   unsigned int kzero = KQK;
-	   unsigned int ke = KQK;
-	   unsigned int kw = neighborX[KQK];
-	   unsigned int kn = KQK;
-	   unsigned int ks = neighborY[KQK];
-	   unsigned int kt = KQK;
-	   unsigned int kb = neighborZ[KQK];
-	   unsigned int ksw = neighborY[kw];
-	   unsigned int kne = KQK;
-	   unsigned int kse = ks;
-	   unsigned int knw = kw;
-	   unsigned int kbw = neighborZ[kw];
-	   unsigned int kte = KQK;
-	   unsigned int kbe = kb;
-	   unsigned int ktw = kw;
-	   unsigned int kbs = neighborZ[ks];
-	   unsigned int ktn = KQK;
-	   unsigned int kbn = kb;
-	   unsigned int kts = ks;
-	   unsigned int ktse = ks;
-	   unsigned int kbnw = kbw;
-	   unsigned int ktnw = kw;
-	   unsigned int kbse = kbs;
-	   unsigned int ktsw = ksw;
-	   unsigned int kbne = kb;
-	   unsigned int ktne = KQK;
-	   unsigned int kbsw = neighborZ[ksw];
-	   ////////////////////////////////////////////////////////////////////////////////
-	   real f_E, f_W, f_N, f_S, f_T, f_B, f_NE, f_SW, f_SE, f_NW, f_TE, f_BW, f_BE,
-		   f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
-
-	   f_W = (D.f[dP00])[ke];
-	   f_E = (D.f[dM00])[kw];
-	   f_S = (D.f[d0P0])[kn];
-	   f_N = (D.f[d0M0])[ks];
-	   f_B = (D.f[d00P])[kt];
-	   f_T = (D.f[d00M])[kb];
-	   f_SW = (D.f[dPP0])[kne];
-	   f_NE = (D.f[dMM0])[ksw];
-	   f_NW = (D.f[dPM0])[kse];
-	   f_SE = (D.f[dMP0])[knw];
-	   f_BW = (D.f[dP0P])[kte];
-	   f_TE = (D.f[dM0M])[kbw];
-	   f_TW = (D.f[dP0M])[kbe];
-	   f_BE = (D.f[dM0P])[ktw];
-	   f_BS = (D.f[d0PP])[ktn];
-	   f_TN = (D.f[d0MM])[kbs];
-	   f_TS = (D.f[d0PM])[kbn];
-	   f_BN = (D.f[d0MP])[kts];
-	   f_BSW = (D.f[dPPP])[ktne];
-	   f_BNE = (D.f[dMMP])[ktsw];
-	   f_BNW = (D.f[dPMP])[ktse];
-	   f_BSE = (D.f[dMPP])[ktnw];
-	   f_TSW = (D.f[dPPM])[kbne];
-	   f_TNE = (D.f[dMMM])[kbsw];
-	   f_TNW = (D.f[dPMM])[kbse];
-	   f_TSE = (D.f[dMPM])[kbnw];
-	   ////////////////////////////////////////////////////////////////////////////////
-	   real vx1, vx2, vx3, drho, feq, q;
-	   drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
-		   f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW +
-		   f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]);
-
-	   vx1 = (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
-		   ((f_BE - f_TW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_NE - f_SW)) +
-		   (f_E - f_W)) / (c1o1 + drho);
-
-
-	   vx2 = ((-(f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
-		   ((f_BN - f_TS) + (f_TN - f_BS)) + (-(f_SE - f_NW) + (f_NE - f_SW)) +
-		   (f_N - f_S)) / (c1o1 + drho);
-
-	   vx3 = (((f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) + (f_TSW - f_BNE)) +
-		   (-(f_BN - f_TS) + (f_TN - f_BS)) + ((f_TE - f_BW) - (f_BE - f_TW)) +
-		   (f_T - f_B)) / (c1o1 + drho);
-
-	   real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3) * (c1o1 + drho);
-
-	   //////////////////////////////////////////////////////////////////////////
-	   if (isEvenTimestep == false)
-	   {
-		   D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-		   D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-		   D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-		   D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-		   D.f[d00P] = &DD[d00P * numberOfLBnodes];
-		   D.f[d00M] = &DD[d00M * numberOfLBnodes];
-		   D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-		   D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-		   D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-		   D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-		   D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-		   D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-		   D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-		   D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-		   D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-		   D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-		   D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-		   D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-		   D.f[d000] = &DD[d000 * numberOfLBnodes];
-		   D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-		   D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-		   D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-		   D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-		   D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-		   D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-		   D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-		   D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-	   }
-	   else
-	   {
-		   D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-		   D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-		   D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-		   D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-		   D.f[d00M] = &DD[d00P * numberOfLBnodes];
-		   D.f[d00P] = &DD[d00M * numberOfLBnodes];
-		   D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-		   D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-		   D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-		   D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-		   D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-		   D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-		   D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-		   D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-		   D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-		   D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-		   D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-		   D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-		   D.f[d000] = &DD[d000 * numberOfLBnodes];
-		   D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-		   D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-		   D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-		   D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-		   D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-		   D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-		   D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-		   D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-	   }
-	   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	   //Test
-	   //(D.f[d000])[k]=c1o10;
-	   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-	   //ToDo anders Klammern
-
-	   /////To Slip Or Not To Slip?
-	   // We assume slip BC if |vec(V_BC)|=1. To avoid problems we take V_BC*V_BC>0.99 (c99o100)
-	   if (VeloX*VeloX + VeloY*VeloY + VeloZ*VeloZ > c99o100)
-		{
-		   // vt=v-(n \dot v) *n
-		   // n=(VeloX,VeloY,VeloZ) a misuse of the velocity variable!
-		   real normalV = VeloX*vx1 + VeloY*vx2 + VeloZ*vx3;
-		   vx1 = vx1 - normalV*VeloX;
-		   vx2 = vx2 - normalV*VeloY;
-		   vx3 = vx3 - normalV*VeloZ;
-		}
-	  ////////////////
+       ////////////////////////////////////////////////////////////////////////////////
+       real VeloX = vx[k];
+       real VeloY = vy[k];
+       real VeloZ = vz[k]; //(16.0*(u0*2.0)*bbx*bby*(grid_nx-bbx)*(grid_ny-bby))/(grid_nx*grid_nx*grid_ny*grid_ny)
+       ////////////////////////////////////////////////////////////////////////////////
+       real *q_dirE, *q_dirW, *q_dirN, *q_dirS, *q_dirT, *q_dirB,
+           *q_dirNE, *q_dirSW, *q_dirSE, *q_dirNW, *q_dirTE, *q_dirBW,
+           *q_dirBE, *q_dirTW, *q_dirTN, *q_dirBS, *q_dirBN, *q_dirTS,
+           *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
+           *q_dirBSE, *q_dirBNW;
+       q_dirE = &QQ[dP00 * numberOfBCnodes];
+       q_dirW = &QQ[dM00 * numberOfBCnodes];
+       q_dirN = &QQ[d0P0 * numberOfBCnodes];
+       q_dirS = &QQ[d0M0 * numberOfBCnodes];
+       q_dirT = &QQ[d00P * numberOfBCnodes];
+       q_dirB = &QQ[d00M * numberOfBCnodes];
+       q_dirNE = &QQ[dPP0 * numberOfBCnodes];
+       q_dirSW = &QQ[dMM0 * numberOfBCnodes];
+       q_dirSE = &QQ[dPM0 * numberOfBCnodes];
+       q_dirNW = &QQ[dMP0 * numberOfBCnodes];
+       q_dirTE = &QQ[dP0P * numberOfBCnodes];
+       q_dirBW = &QQ[dM0M * numberOfBCnodes];
+       q_dirBE = &QQ[dP0M * numberOfBCnodes];
+       q_dirTW = &QQ[dM0P * numberOfBCnodes];
+       q_dirTN = &QQ[d0PP * numberOfBCnodes];
+       q_dirBS = &QQ[d0MM * numberOfBCnodes];
+       q_dirBN = &QQ[d0PM * numberOfBCnodes];
+       q_dirTS = &QQ[d0MP * numberOfBCnodes];
+       q_dirTNE = &QQ[dPPP * numberOfBCnodes];
+       q_dirTSW = &QQ[dMMP * numberOfBCnodes];
+       q_dirTSE = &QQ[dPMP * numberOfBCnodes];
+       q_dirTNW = &QQ[dMPP * numberOfBCnodes];
+       q_dirBNE = &QQ[dPPM * numberOfBCnodes];
+       q_dirBSW = &QQ[dMMM * numberOfBCnodes];
+       q_dirBSE = &QQ[dPMM * numberOfBCnodes];
+       q_dirBNW = &QQ[dMPM * numberOfBCnodes];
+       ////////////////////////////////////////////////////////////////////////////////
+       //index
+       unsigned int KQK = k_Q[k];
+       unsigned int kzero = KQK;
+       unsigned int ke = KQK;
+       unsigned int kw = neighborX[KQK];
+       unsigned int kn = KQK;
+       unsigned int ks = neighborY[KQK];
+       unsigned int kt = KQK;
+       unsigned int kb = neighborZ[KQK];
+       unsigned int ksw = neighborY[kw];
+       unsigned int kne = KQK;
+       unsigned int kse = ks;
+       unsigned int knw = kw;
+       unsigned int kbw = neighborZ[kw];
+       unsigned int kte = KQK;
+       unsigned int kbe = kb;
+       unsigned int ktw = kw;
+       unsigned int kbs = neighborZ[ks];
+       unsigned int ktn = KQK;
+       unsigned int kbn = kb;
+       unsigned int kts = ks;
+       unsigned int ktse = ks;
+       unsigned int kbnw = kbw;
+       unsigned int ktnw = kw;
+       unsigned int kbse = kbs;
+       unsigned int ktsw = ksw;
+       unsigned int kbne = kb;
+       unsigned int ktne = KQK;
+       unsigned int kbsw = neighborZ[ksw];
+       ////////////////////////////////////////////////////////////////////////////////
+       real f_E, f_W, f_N, f_S, f_T, f_B, f_NE, f_SW, f_SE, f_NW, f_TE, f_BW, f_BE,
+           f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
+
+       f_W = (D.f[dP00])[ke];
+       f_E = (D.f[dM00])[kw];
+       f_S = (D.f[d0P0])[kn];
+       f_N = (D.f[d0M0])[ks];
+       f_B = (D.f[d00P])[kt];
+       f_T = (D.f[d00M])[kb];
+       f_SW = (D.f[dPP0])[kne];
+       f_NE = (D.f[dMM0])[ksw];
+       f_NW = (D.f[dPM0])[kse];
+       f_SE = (D.f[dMP0])[knw];
+       f_BW = (D.f[dP0P])[kte];
+       f_TE = (D.f[dM0M])[kbw];
+       f_TW = (D.f[dP0M])[kbe];
+       f_BE = (D.f[dM0P])[ktw];
+       f_BS = (D.f[d0PP])[ktn];
+       f_TN = (D.f[d0MM])[kbs];
+       f_TS = (D.f[d0PM])[kbn];
+       f_BN = (D.f[d0MP])[kts];
+       f_BSW = (D.f[dPPP])[ktne];
+       f_BNE = (D.f[dMMP])[ktsw];
+       f_BNW = (D.f[dPMP])[ktse];
+       f_BSE = (D.f[dMPP])[ktnw];
+       f_TSW = (D.f[dPPM])[kbne];
+       f_TNE = (D.f[dMMM])[kbsw];
+       f_TNW = (D.f[dPMM])[kbse];
+       f_TSE = (D.f[dMPM])[kbnw];
+       ////////////////////////////////////////////////////////////////////////////////
+       real vx1, vx2, vx3, drho, feq, q;
+       drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
+           f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW +
+           f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]);
+
+       vx1 = (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
+           ((f_BE - f_TW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_NE - f_SW)) +
+           (f_E - f_W)) / (c1o1 + drho);
+
+
+       vx2 = ((-(f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
+           ((f_BN - f_TS) + (f_TN - f_BS)) + (-(f_SE - f_NW) + (f_NE - f_SW)) +
+           (f_N - f_S)) / (c1o1 + drho);
+
+       vx3 = (((f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) + (f_TSW - f_BNE)) +
+           (-(f_BN - f_TS) + (f_TN - f_BS)) + ((f_TE - f_BW) - (f_BE - f_TW)) +
+           (f_T - f_B)) / (c1o1 + drho);
+
+       real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3) * (c1o1 + drho);
+
+       //////////////////////////////////////////////////////////////////////////
+       if (isEvenTimestep == false)
+       {
+           D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+           D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+           D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+           D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+           D.f[d00P] = &DD[d00P * numberOfLBnodes];
+           D.f[d00M] = &DD[d00M * numberOfLBnodes];
+           D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+           D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+           D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+           D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+           D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+           D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+           D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+           D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+           D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+           D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+           D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+           D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+           D.f[d000] = &DD[d000 * numberOfLBnodes];
+           D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+           D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+           D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+           D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+           D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+           D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+           D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+           D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+       }
+       else
+       {
+           D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+           D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+           D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+           D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+           D.f[d00M] = &DD[d00P * numberOfLBnodes];
+           D.f[d00P] = &DD[d00M * numberOfLBnodes];
+           D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+           D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+           D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+           D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+           D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+           D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+           D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+           D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+           D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+           D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+           D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+           D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+           D.f[d000] = &DD[d000 * numberOfLBnodes];
+           D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+           D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+           D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+           D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+           D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+           D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+           D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+           D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+       }
+       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+       //Test
+       //(D.f[d000])[k]=c1o10;
+       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+       //ToDo anders Klammern
+
+       /////To Slip Or Not To Slip?
+       // We assume slip BC if |vec(V_BC)|=1. To avoid problems we take V_BC*V_BC>0.99 (c99o100)
+       if (VeloX*VeloX + VeloY*VeloY + VeloZ*VeloZ > c99o100)
+        {
+           // vt=v-(n \dot v) *n
+           // n=(VeloX,VeloY,VeloZ) a misuse of the velocity variable!
+           real normalV = VeloX*vx1 + VeloY*vx2 + VeloZ*vx3;
+           vx1 = vx1 - normalV*VeloX;
+           vx2 = vx2 - normalV*VeloY;
+           vx3 = vx3 - normalV*VeloZ;
+        }
+      ////////////////
 
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
@@ -697,59 +697,59 @@ __global__ void QVeloDeviceEQ27(
          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
 
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
             // based on BGK Plus Comp
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[ke   ];
-			real mfabb = (D.f[dM00])[kw   ];
-			real mfbcb = (D.f[d0P0])[kn   ];
-			real mfbab = (D.f[d0M0])[ks   ];
-			real mfbbc = (D.f[d00P])[kt   ];
-			real mfbba = (D.f[d00M])[kb   ];
-			real mfccb = (D.f[dPP0])[kne  ];
-			real mfaab = (D.f[dMM0])[ksw  ];
-			real mfcab = (D.f[dPM0])[kse  ];
-			real mfacb = (D.f[dMP0])[knw  ];
-			real mfcbc = (D.f[dP0P])[kte  ];
-			real mfaba = (D.f[dM0M])[kbw  ];
-			real mfcba = (D.f[dP0M])[kbe  ];
-			real mfabc = (D.f[dM0P])[ktw  ];
-			real mfbcc = (D.f[d0PP])[ktn  ];
-			real mfbaa = (D.f[d0MM])[kbs  ];
-			real mfbca = (D.f[d0PM])[kbn  ];
-			real mfbac = (D.f[d0MP])[kts  ];
-			real mfbbb = (D.f[d000])[kzero];
-			real mfccc = (D.f[dPPP])[ktne ];
-			real mfaac = (D.f[dMMP])[ktsw ];
-			real mfcac = (D.f[dPMP])[ktse ];
-			real mfacc = (D.f[dMPP])[ktnw ];
-			real mfcca = (D.f[dPPM])[kbne ];
-			real mfaaa = (D.f[dMMM])[kbsw ];
-			real mfcaa = (D.f[dPMM])[kbse ];
-			real mfaca = (D.f[dMPM])[kbnw ];
-			////////////////////////////////////////////////////////////////////////////////////
-			real rho   = (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-							 mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-							 mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb + c1o1);//!!!!Achtung + one
-			////////////////////////////////////////////////////////////////////////////////////
-			real vvx    = ((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb)) / rho;
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab)) / rho;
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			if(VeloX[k]!=c0o1) vvx = VeloX[k];
-			if(VeloY[k]!=c0o1) vvy = VeloY[k];
-			if(VeloZ[k]!=c0o1) vvz = VeloZ[k];
-			////////////////////////////////////////////////////////////////////////////////////
-			real vx2    = vvx * vvx;
-			real vy2    = vvy * vvy;
-			real vz2    = vvz * vvz;
-			////////////////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real mfcbb = (D.f[dP00])[ke   ];
+            real mfabb = (D.f[dM00])[kw   ];
+            real mfbcb = (D.f[d0P0])[kn   ];
+            real mfbab = (D.f[d0M0])[ks   ];
+            real mfbbc = (D.f[d00P])[kt   ];
+            real mfbba = (D.f[d00M])[kb   ];
+            real mfccb = (D.f[dPP0])[kne  ];
+            real mfaab = (D.f[dMM0])[ksw  ];
+            real mfcab = (D.f[dPM0])[kse  ];
+            real mfacb = (D.f[dMP0])[knw  ];
+            real mfcbc = (D.f[dP0P])[kte  ];
+            real mfaba = (D.f[dM0M])[kbw  ];
+            real mfcba = (D.f[dP0M])[kbe  ];
+            real mfabc = (D.f[dM0P])[ktw  ];
+            real mfbcc = (D.f[d0PP])[ktn  ];
+            real mfbaa = (D.f[d0MM])[kbs  ];
+            real mfbca = (D.f[d0PM])[kbn  ];
+            real mfbac = (D.f[d0MP])[kts  ];
+            real mfbbb = (D.f[d000])[kzero];
+            real mfccc = (D.f[dPPP])[ktne ];
+            real mfaac = (D.f[dMMP])[ktsw ];
+            real mfcac = (D.f[dPMP])[ktse ];
+            real mfacc = (D.f[dMPP])[ktnw ];
+            real mfcca = (D.f[dPPM])[kbne ];
+            real mfaaa = (D.f[dMMM])[kbsw ];
+            real mfcaa = (D.f[dPMM])[kbse ];
+            real mfaca = (D.f[dMPM])[kbnw ];
+            ////////////////////////////////////////////////////////////////////////////////////
+            real rho   = (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
+                             mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
+                             mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb + c1o1);//!!!!Achtung + one
+            ////////////////////////////////////////////////////////////////////////////////////
+            real vvx    = ((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
+                             (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
+                               (mfcbb-mfabb)) / rho;
+            real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
+                             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
+                               (mfbcb-mfbab)) / rho;
+            real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
+                             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
+                               (mfbbc-mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            if(VeloX[k]!=c0o1) vvx = VeloX[k];
+            if(VeloY[k]!=c0o1) vvy = VeloY[k];
+            if(VeloZ[k]!=c0o1) vvz = VeloZ[k];
+            ////////////////////////////////////////////////////////////////////////////////////
+            real vx2    = vvx * vvx;
+            real vy2    = vvy * vvy;
+            real vz2    = vvz * vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
             real XXb    = -c2o3 + vx2;
             real XXc    = -c1o2 * (XXb + c1o1 + vvx);
             real XXa    = XXc + vvx;
@@ -759,62 +759,62 @@ __global__ void QVeloDeviceEQ27(
             real ZZb    = -c2o3 + vz2;
             real ZZc    = -c1o2 * (ZZb + c1o1 + vvz);
             real ZZa    = ZZc + vvz;
-			////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
             mfcbb = -rho * XXc * YYb * ZZb - c2o27 ; 
-			mfabb = -rho * XXa * YYb * ZZb - c2o27 ;
-			mfbcb = -rho * XXb * YYc * ZZb - c2o27 ;
-			mfbab = -rho * XXb * YYa * ZZb - c2o27 ;
-			mfbbc = -rho * XXb * YYb * ZZc - c2o27 ;
-			mfbba = -rho * XXb * YYb * ZZa - c2o27 ;
-			mfccb = -rho * XXc * YYc * ZZb - c1o54 ;
-			mfaab = -rho * XXa * YYa * ZZb - c1o54 ;
-			mfcab = -rho * XXc * YYa * ZZb - c1o54 ;
-			mfacb = -rho * XXa * YYc * ZZb - c1o54 ;
-			mfcbc = -rho * XXc * YYb * ZZc - c1o54 ;
-			mfaba = -rho * XXa * YYb * ZZa - c1o54 ;
-			mfcba = -rho * XXc * YYb * ZZa - c1o54 ;
-			mfabc = -rho * XXa * YYb * ZZc - c1o54 ;
-			mfbcc = -rho * XXb * YYc * ZZc - c1o54 ;
-			mfbaa = -rho * XXb * YYa * ZZa - c1o54 ;
-			mfbca = -rho * XXb * YYc * ZZa - c1o54 ;
-			mfbac = -rho * XXb * YYa * ZZc - c1o54 ;
-			mfbbb = -rho * XXb * YYb * ZZb - c8o27 ;
-			mfccc = -rho * XXc * YYc * ZZc - c1o216;
-			mfaac = -rho * XXa * YYa * ZZc - c1o216;
-			mfcac = -rho * XXc * YYa * ZZc - c1o216;
-			mfacc = -rho * XXa * YYc * ZZc - c1o216;
-			mfcca = -rho * XXc * YYc * ZZa - c1o216;
-			mfaaa = -rho * XXa * YYa * ZZa - c1o216;
-			mfcaa = -rho * XXc * YYa * ZZa - c1o216;
-			mfaca = -rho * XXa * YYc * ZZa - c1o216;
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[ke   ] = mfabb;//mfcbb;
-			(D.f[dM00])[kw   ] = mfcbb;//mfabb;
-			(D.f[d0P0])[kn   ] = mfbab;//mfbcb;
-			(D.f[d0M0])[ks   ] = mfbcb;//mfbab;
-			(D.f[d00P])[kt   ] = mfbba;//mfbbc;
-			(D.f[d00M])[kb   ] = mfbbc;//mfbba;
-			(D.f[dPP0])[kne  ] = mfaab;//mfccb;
-			(D.f[dMM0])[ksw  ] = mfccb;//mfaab;
-			(D.f[dPM0])[kse  ] = mfacb;//mfcab;
-			(D.f[dMP0])[knw  ] = mfcab;//mfacb;
-			(D.f[dP0P])[kte  ] = mfaba;//mfcbc;
-			(D.f[dM0M])[kbw  ] = mfcbc;//mfaba;
-			(D.f[dP0M])[kbe  ] = mfabc;//mfcba;
-			(D.f[dM0P])[ktw  ] = mfcba;//mfabc;
-			(D.f[d0PP])[ktn  ] = mfbaa;//mfbcc;
-			(D.f[d0MM])[kbs  ] = mfbcc;//mfbaa;
-			(D.f[d0PM])[kbn  ] = mfbac;//mfbca;
-			(D.f[d0MP])[kts  ] = mfbca;//mfbac;
-			(D.f[d000])[kzero] = mfbbb;//mfbbb;
-			(D.f[dPPP])[ktne ] = mfaaa;//mfccc;
-			(D.f[dMMP])[ktsw ] = mfcca;//mfaac;
-			(D.f[dPMP])[ktse ] = mfaca;//mfcac;
-			(D.f[dMPP])[ktnw ] = mfcaa;//mfacc;
-			(D.f[dPPM])[kbne ] = mfaac;//mfcca;
-			(D.f[dMMM])[kbsw ] = mfccc;//mfaaa;
-			(D.f[dPMM])[kbse ] = mfacc;//mfcaa;
-			(D.f[dMPM])[kbnw ] = mfcac;//mfaca;
+            mfabb = -rho * XXa * YYb * ZZb - c2o27 ;
+            mfbcb = -rho * XXb * YYc * ZZb - c2o27 ;
+            mfbab = -rho * XXb * YYa * ZZb - c2o27 ;
+            mfbbc = -rho * XXb * YYb * ZZc - c2o27 ;
+            mfbba = -rho * XXb * YYb * ZZa - c2o27 ;
+            mfccb = -rho * XXc * YYc * ZZb - c1o54 ;
+            mfaab = -rho * XXa * YYa * ZZb - c1o54 ;
+            mfcab = -rho * XXc * YYa * ZZb - c1o54 ;
+            mfacb = -rho * XXa * YYc * ZZb - c1o54 ;
+            mfcbc = -rho * XXc * YYb * ZZc - c1o54 ;
+            mfaba = -rho * XXa * YYb * ZZa - c1o54 ;
+            mfcba = -rho * XXc * YYb * ZZa - c1o54 ;
+            mfabc = -rho * XXa * YYb * ZZc - c1o54 ;
+            mfbcc = -rho * XXb * YYc * ZZc - c1o54 ;
+            mfbaa = -rho * XXb * YYa * ZZa - c1o54 ;
+            mfbca = -rho * XXb * YYc * ZZa - c1o54 ;
+            mfbac = -rho * XXb * YYa * ZZc - c1o54 ;
+            mfbbb = -rho * XXb * YYb * ZZb - c8o27 ;
+            mfccc = -rho * XXc * YYc * ZZc - c1o216;
+            mfaac = -rho * XXa * YYa * ZZc - c1o216;
+            mfcac = -rho * XXc * YYa * ZZc - c1o216;
+            mfacc = -rho * XXa * YYc * ZZc - c1o216;
+            mfcca = -rho * XXc * YYc * ZZa - c1o216;
+            mfaaa = -rho * XXa * YYa * ZZa - c1o216;
+            mfcaa = -rho * XXc * YYa * ZZa - c1o216;
+            mfaca = -rho * XXa * YYc * ZZa - c1o216;
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            (D.f[dP00])[ke   ] = mfabb;//mfcbb;
+            (D.f[dM00])[kw   ] = mfcbb;//mfabb;
+            (D.f[d0P0])[kn   ] = mfbab;//mfbcb;
+            (D.f[d0M0])[ks   ] = mfbcb;//mfbab;
+            (D.f[d00P])[kt   ] = mfbba;//mfbbc;
+            (D.f[d00M])[kb   ] = mfbbc;//mfbba;
+            (D.f[dPP0])[kne  ] = mfaab;//mfccb;
+            (D.f[dMM0])[ksw  ] = mfccb;//mfaab;
+            (D.f[dPM0])[kse  ] = mfacb;//mfcab;
+            (D.f[dMP0])[knw  ] = mfcab;//mfacb;
+            (D.f[dP0P])[kte  ] = mfaba;//mfcbc;
+            (D.f[dM0M])[kbw  ] = mfcbc;//mfaba;
+            (D.f[dP0M])[kbe  ] = mfabc;//mfcba;
+            (D.f[dM0P])[ktw  ] = mfcba;//mfabc;
+            (D.f[d0PP])[ktn  ] = mfbaa;//mfbcc;
+            (D.f[d0MM])[kbs  ] = mfbcc;//mfbaa;
+            (D.f[d0PM])[kbn  ] = mfbac;//mfbca;
+            (D.f[d0MP])[kts  ] = mfbca;//mfbac;
+            (D.f[d000])[kzero] = mfbbb;//mfbbb;
+            (D.f[dPPP])[ktne ] = mfaaa;//mfccc;
+            (D.f[dMMP])[ktsw ] = mfcca;//mfaac;
+            (D.f[dPMP])[ktse ] = mfaca;//mfcac;
+            (D.f[dMPP])[ktnw ] = mfcaa;//mfacc;
+            (D.f[dPPM])[kbne ] = mfaac;//mfcca;
+            (D.f[dMMM])[kbsw ] = mfccc;//mfaaa;
+            (D.f[dPMM])[kbse ] = mfacc;//mfcaa;
+            (D.f[dMPM])[kbnw ] = mfcac;//mfaca;
    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1168,7 +1168,7 @@ __global__ void QVelDeviceIncompHighNu27(
       //(D.f[d000])[k]=c1o10;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	  //ToDo anders Klammern
+      //ToDo anders Klammern
 
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
@@ -1692,7 +1692,7 @@ __global__ void QVelDeviceCompHighNu27(
       //(D.f[d000])[k]=c1o10;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	  //ToDo anders Klammern
+      //ToDo anders Klammern
 
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
@@ -2489,20 +2489,20 @@ __global__ void QVelDeviceCompZeroPress1h27(
       //real VeloX = vx[k];
       //real VeloY = vy[k];
       //real VeloZ = vz[k]; //(16.0*(u0*2.0)*bbx*bby*(grid_nx-bbx)*(grid_ny-bby))/(grid_nx*grid_nx*grid_ny*grid_ny)
-		////////////////////////////////////////////////////////////////////////////////
-		real VeloX = cosf(Phi)*vx[k] - sinf(Phi)*vy[k];
-		real VeloY = sinf(Phi)*vx[k] + cosf(Phi)*vy[k];
-		//real VeloZ = vz[k]; //(16.0*(u0*2.0)*bbx*bby*(grid_nx-bbx)*(grid_ny-bby))/(grid_nx*grid_nx*grid_ny*grid_ny)
-		////////////////////////////////////////////////////////////////////////////////////
-		//Ship
-		real coord0X = 281.125f;//7.5f;
-		real coord0Y = 388.125f;//7.5f;
-		real ux = - angularVelocity * (coordY[k_Q[k]] - coord0Y);
-		real uy =   angularVelocity * (coordX[k_Q[k]] - coord0X);
-		real VeloXpur=VeloX;
-		real VeloYpur=VeloY;
-		VeloX-=ux;
-		VeloY-=uy;
+        ////////////////////////////////////////////////////////////////////////////////
+        real VeloX = cosf(Phi)*vx[k] - sinf(Phi)*vy[k];
+        real VeloY = sinf(Phi)*vx[k] + cosf(Phi)*vy[k];
+        //real VeloZ = vz[k]; //(16.0*(u0*2.0)*bbx*bby*(grid_nx-bbx)*(grid_ny-bby))/(grid_nx*grid_nx*grid_ny*grid_ny)
+        ////////////////////////////////////////////////////////////////////////////////////
+        //Ship
+        real coord0X = 281.125f;//7.5f;
+        real coord0Y = 388.125f;//7.5f;
+        real ux = - angularVelocity * (coordY[k_Q[k]] - coord0Y);
+        real uy =   angularVelocity * (coordX[k_Q[k]] - coord0X);
+        real VeloXpur=VeloX;
+        real VeloYpur=VeloY;
+        VeloX-=ux;
+        VeloY-=uy;
       ////////////////////////////////////////////////////////////////////////////////
       real *q_dirE,   *q_dirW,   *q_dirN,   *q_dirS,   *q_dirT,   *q_dirB, 
             *q_dirNE,  *q_dirSW,  *q_dirSE,  *q_dirNW,  *q_dirTE,  *q_dirBW,
@@ -2627,15 +2627,15 @@ __global__ void QVelDeviceCompZeroPress1h27(
          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  real vx1, vx2, vx3, drho, feq, q, cu_sq;
-	  ///////// equilibrium BC
-	  cu_sq=c3o2*(VeloX*VeloX +VeloY*VeloY);
-	  VeloXpur*=-c1o1;
-	  VeloYpur*=-c1o1;
-	  vx1=VeloX;
-	  vx2=VeloY;
-	  vx3=c0o1;
-	  drho=c0o1;
+      real vx1, vx2, vx3, drho, feq, q, cu_sq;
+      ///////// equilibrium BC
+      cu_sq=c3o2*(VeloX*VeloX +VeloY*VeloY);
+      VeloXpur*=-c1o1;
+      VeloYpur*=-c1o1;
+      vx1=VeloX;
+      vx2=VeloY;
+      vx3=c0o1;
+      drho=c0o1;
 
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
@@ -3458,16 +3458,16 @@ __global__ void QVelDevCouette27(
 
    if(k<numberOfBCnodes)
    {
-	  ////////////////////////////////////////////////////////////////////////////////
-	  real VeloX = vx[k];
-	  real VeloY = vy[k];
-	  real VeloZ = vz[k];
+      ////////////////////////////////////////////////////////////////////////////////
+      real VeloX = vx[k];
+      real VeloY = vy[k];
+      real VeloZ = vz[k];
       ////////////////////////////////////////////////////////////////////////////////
       real*q_dirE,   *q_dirW,   *q_dirN,   *q_dirS,   *q_dirT,   *q_dirB, 
-			 *q_dirNE,  *q_dirSW,  *q_dirSE,  *q_dirNW,  *q_dirTE,  *q_dirBW,
-			 *q_dirBE,  *q_dirTW,  *q_dirTN,  *q_dirBS,  *q_dirBN,  *q_dirTS,
-			 *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
-			 *q_dirBSE, *q_dirBNW; 
+             *q_dirNE,  *q_dirSW,  *q_dirSE,  *q_dirNW,  *q_dirTE,  *q_dirBW,
+             *q_dirBE,  *q_dirTW,  *q_dirTN,  *q_dirBS,  *q_dirBN,  *q_dirTS,
+             *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
+             *q_dirBSE, *q_dirBNW; 
       q_dirE   = &QQ[dP00 * numberOfBCnodes];
       q_dirW   = &QQ[dM00 * numberOfBCnodes];
       q_dirN   = &QQ[d0P0 * numberOfBCnodes];
@@ -3553,9 +3553,9 @@ __global__ void QVelDevCouette27(
       real f_TNE  = (D.f[dMMM])[kbsw ];
       real f_TNW  = (D.f[dPMM])[kbse ];
       real f_TSE  = (D.f[dMPM])[kbnw ];
-	  ////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////
 
-	  ////////////////////////////////////////////////////////////////////////////////
+      ////////////////////////////////////////////////////////////////////////////////
       if (isEvenTimestep==false)
       {
          D.f[dP00] = &DD[dP00 * numberOfLBnodes];
@@ -3616,77 +3616,77 @@ __global__ void QVelDevCouette27(
          D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
          D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
       }
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  ///////               FlowDirection Y !!!!!!!!!!                                                           ///////////////////////////////////
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //calculate velocity
-	  //real vx1 = ((f_TNE-f_BSW)+(f_BSE-f_TNW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
-	  real vx2 = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
-	  //real vx3 = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSW-f_BNE)+(f_TSE-f_BNW)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //constant
-	  real on=c0o1;//c1o2;//one;
-	  real ms=-c6o1;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //2nd order moment
-	  real kxxMyyFromfcNEQ = c0o1;//-c3o2 * (f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1*vx1-vx2*vx2));		//all dP00+dM00 minus all d0P0+d0M0 (no combinations of xy left)
-
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	  //set distributions
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      ///////               FlowDirection Y !!!!!!!!!!                                                           ///////////////////////////////////
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //calculate velocity
+      //real vx1 = ((f_TNE-f_BSW)+(f_BSE-f_TNW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W);
+      real vx2 = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S);
+      //real vx3 = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSW-f_BNE)+(f_TSE-f_BNW)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B);
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //constant
+      real on=c0o1;//c1o2;//one;
+      real ms=-c6o1;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //2nd order moment
+      real kxxMyyFromfcNEQ = c0o1;//-c3o2 * (f_BW+f_W+f_TW-f_BS-f_S-f_TS-f_BN-f_N-f_TN+f_BE+f_E+f_TE-(vx1*vx1-vx2*vx2));        //all dP00+dM00 minus all d0P0+d0M0 (no combinations of xy left)
+
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      //set distributions
       real q;
-      q = q_dirE[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dM00])[kw  ]=f_E   + ms*c2o27  * VeloX;	
-      q = q_dirW[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dP00])[ke  ]=f_W   - ms*c2o27  * VeloX;	
-      q = q_dirN[k];	if (q>=c0o1 && q<=c1o1)	(D.f[d0M0])[ks  ]=f_N   + ms*c2o27  * VeloY;	
-      q = q_dirS[k];	if (q>=c0o1 && q<=c1o1)	(D.f[d0P0])[kn  ]=f_S   - ms*c2o27  * VeloY;	
-	  q = q_dirT[k];	if (q>=c0o1 && q<=c1o1)	(D.f[d00M])[kb  ]=f_T   + ms*c2o27  * VeloZ - c3o2*c2o27*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
-      q = q_dirB[k];	if (q>=c0o1 && q<=c1o1)	(D.f[d00P])[kt  ]=f_B   - ms*c2o27  * VeloZ;
-      q = q_dirNE[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dMM0])[ksw ]=f_NE  + ms*c1o54  * VeloX + ms*c1o54  * VeloY;
-	  q = q_dirSW[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dPP0])[kne ]=f_SW  - ms*c1o54  * VeloX - ms*c1o54  * VeloY;
-	  q = q_dirSE[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dMP0])[knw ]=f_SE  + ms*c1o54  * VeloX - ms*c1o54  * VeloY;
-	  q = q_dirNW[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dPM0])[kse ]=f_NW  - ms*c1o54  * VeloX + ms*c1o54  * VeloY;
-	  q = q_dirTE[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dM0M])[kbw ]=f_TE  + ms*c1o54  * VeloX + ms*c1o54  * VeloZ - c3o2*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on-c1o12*kxxMyyFromfcNEQ;
-	  q = q_dirBW[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dP0P])[kte ]=f_BW  - ms*c1o54  * VeloX - ms*c1o54  * VeloZ;
-	  q = q_dirBE[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dM0P])[ktw ]=f_BE  + ms*c1o54  * VeloX - ms*c1o54  * VeloZ;
-	  q = q_dirTW[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dP0M])[kbe ]=f_TW  - ms*c1o54  * VeloX + ms*c1o54  * VeloZ - c3o2*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on-c1o12*kxxMyyFromfcNEQ;
-	  q = q_dirTN[k];	if (q>=c0o1 && q<=c1o1)	(D.f[d0MM])[kbs ]=f_TN  + ms*c1o54  * VeloY + ms*c1o54  * VeloZ + c3o1*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on+c1o12*kxxMyyFromfcNEQ;
-	  q = q_dirBS[k];	if (q>=c0o1 && q<=c1o1)	(D.f[d0PP])[ktn ]=f_BS  - ms*c1o54  * VeloY - ms*c1o54  * VeloZ;
-	  q = q_dirBN[k];	if (q>=c0o1 && q<=c1o1)	(D.f[d0MP])[kts ]=f_BN  + ms*c1o54  * VeloY - ms*c1o54  * VeloZ;
-	  q = q_dirTS[k];	if (q>=c0o1 && q<=c1o1)	(D.f[d0PM])[kbn ]=f_TS  - ms*c1o54  * VeloY + ms*c1o54  * VeloZ + c3o1*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on+c1o12*kxxMyyFromfcNEQ;
-      q = q_dirTNE[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dMMM])[kbsw]=f_TNE + ms*c1o216 * VeloX + ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
-      q = q_dirBSW[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dPPP])[ktne]=f_BSW - ms*c1o216 * VeloX - ms*c1o216 * VeloY - ms*c1o216 * VeloZ;
-      q = q_dirBNE[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dMMP])[ktsw]=f_BNE + ms*c1o216 * VeloX + ms*c1o216 * VeloY - ms*c1o216 * VeloZ;
-      q = q_dirTSW[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dPPM])[kbne]=f_TSW - ms*c1o216 * VeloX - ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
-      q = q_dirTSE[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dMPM])[kbnw]=f_TSE + ms*c1o216 * VeloX - ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
-      q = q_dirBNW[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dPMP])[ktse]=f_BNW - ms*c1o216 * VeloX + ms*c1o216 * VeloY - ms*c1o216 * VeloZ;
-      q = q_dirBSE[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dMPP])[ktnw]=f_BSE + ms*c1o216 * VeloX - ms*c1o216 * VeloY - ms*c1o216 * VeloZ;
-      q = q_dirTNW[k];	if (q>=c0o1 && q<=c1o1)	(D.f[dPMM])[kbse]=f_TNW - ms*c1o216 * VeloX + ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
-      //q = q_dirE[k];	if (q>=zero && q<=one)	(D.f[dM00])[kw  ]=f_E   + ms*c2over27  * VeloX;	
-   //   q = q_dirW[k];	if (q>=zero && q<=one)	(D.f[dP00])[ke  ]=f_W   - ms*c2over27  * VeloX;	
-   //   q = q_dirN[k];	if (q>=zero && q<=one)	(D.f[d0M0])[ks  ]=f_N   + ms*c2over27  * VeloY;	
-   //   q = q_dirS[k];	if (q>=zero && q<=one)	(D.f[d0P0])[kn  ]=f_S   - ms*c2over27  * VeloY;	
-	  //q = q_dirT[k];	if (q>=zero && q<=one)	(D.f[d00M])[kb  ]=f_T   + ms*c2over27  * VeloZ - c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
-   //   q = q_dirB[k];	if (q>=zero && q<=one)	(D.f[d00P])[kt  ]=f_B   - ms*c2over27  * VeloZ;
-   //   q = q_dirNE[k];	if (q>=zero && q<=one)	(D.f[dMM0])[ksw ]=f_NE  + ms*c1over54  * VeloX + ms*c1over54  * VeloY;
-	  //q = q_dirSW[k];	if (q>=zero && q<=one)	(D.f[dPP0])[kne ]=f_SW  - ms*c1over54  * VeloX - ms*c1over54  * VeloY;
-	  //q = q_dirSE[k];	if (q>=zero && q<=one)	(D.f[dMP0])[knw ]=f_SE  + ms*c1over54  * VeloX - ms*c1over54  * VeloY;
-	  //q = q_dirNW[k];	if (q>=zero && q<=one)	(D.f[dPM0])[kse ]=f_NW  - ms*c1over54  * VeloX + ms*c1over54  * VeloY;
-	  //q = q_dirTE[k];	if (q>=zero && q<=one)	(D.f[dM0M])[kbw ]=f_TE  + ms*c1over54  * VeloX + ms*c1over54  * VeloZ - c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
-	  //q = q_dirBW[k];	if (q>=zero && q<=one)	(D.f[dP0P])[kte ]=f_BW  - ms*c1over54  * VeloX - ms*c1over54  * VeloZ;
-	  //q = q_dirBE[k];	if (q>=zero && q<=one)	(D.f[dM0P])[ktw ]=f_BE  + ms*c1over54  * VeloX - ms*c1over54  * VeloZ;
-	  //q = q_dirTW[k];	if (q>=zero && q<=one)	(D.f[dP0M])[kbe ]=f_TW  - ms*c1over54  * VeloX + ms*c1over54  * VeloZ - c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
-	  //q = q_dirTN[k];	if (q>=zero && q<=one)	(D.f[d0MM])[kbs ]=f_TN  + ms*c1over54  * VeloY + ms*c1over54  * VeloZ + c1o2*c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
-	  //q = q_dirBS[k];	if (q>=zero && q<=one)	(D.f[d0PP])[ktn ]=f_BS  - ms*c1over54  * VeloY - ms*c1over54  * VeloZ;
-	  //q = q_dirBN[k];	if (q>=zero && q<=one)	(D.f[d0MP])[kts ]=f_BN  + ms*c1over54  * VeloY - ms*c1over54  * VeloZ;
-	  //q = q_dirTS[k];	if (q>=zero && q<=one)	(D.f[d0PM])[kbn ]=f_TS  - ms*c1over54  * VeloY + ms*c1over54  * VeloZ + c1o2*c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
-   //   q = q_dirTNE[k];	if (q>=zero && q<=one)	(D.f[dMMM])[kbsw]=f_TNE + ms*c1over216 * VeloX + ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
-   //   q = q_dirBSW[k];	if (q>=zero && q<=one)	(D.f[dPPP])[ktne]=f_BSW - ms*c1over216 * VeloX - ms*c1over216 * VeloY - ms*c1over216 * VeloZ;
-   //   q = q_dirBNE[k];	if (q>=zero && q<=one)	(D.f[dMMP])[ktsw]=f_BNE + ms*c1over216 * VeloX + ms*c1over216 * VeloY - ms*c1over216 * VeloZ;
-   //   q = q_dirTSW[k];	if (q>=zero && q<=one)	(D.f[dPPM])[kbne]=f_TSW - ms*c1over216 * VeloX - ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
-   //   q = q_dirTSE[k];	if (q>=zero && q<=one)	(D.f[dMPM])[kbnw]=f_TSE + ms*c1over216 * VeloX - ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
-   //   q = q_dirBNW[k];	if (q>=zero && q<=one)	(D.f[dPMP])[ktse]=f_BNW - ms*c1over216 * VeloX + ms*c1over216 * VeloY - ms*c1over216 * VeloZ;
-   //   q = q_dirBSE[k];	if (q>=zero && q<=one)	(D.f[dMPP])[ktnw]=f_BSE + ms*c1over216 * VeloX - ms*c1over216 * VeloY - ms*c1over216 * VeloZ;
-   //   q = q_dirTNW[k];	if (q>=zero && q<=one)	(D.f[dPMM])[kbse]=f_TNW - ms*c1over216 * VeloX + ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
-	  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+      q = q_dirE[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dM00])[kw  ]=f_E   + ms*c2o27  * VeloX;    
+      q = q_dirW[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dP00])[ke  ]=f_W   - ms*c2o27  * VeloX;    
+      q = q_dirN[k];    if (q>=c0o1 && q<=c1o1)    (D.f[d0M0])[ks  ]=f_N   + ms*c2o27  * VeloY;    
+      q = q_dirS[k];    if (q>=c0o1 && q<=c1o1)    (D.f[d0P0])[kn  ]=f_S   - ms*c2o27  * VeloY;    
+      q = q_dirT[k];    if (q>=c0o1 && q<=c1o1)    (D.f[d00M])[kb  ]=f_T   + ms*c2o27  * VeloZ - c3o2*c2o27*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
+      q = q_dirB[k];    if (q>=c0o1 && q<=c1o1)    (D.f[d00P])[kt  ]=f_B   - ms*c2o27  * VeloZ;
+      q = q_dirNE[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dMM0])[ksw ]=f_NE  + ms*c1o54  * VeloX + ms*c1o54  * VeloY;
+      q = q_dirSW[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dPP0])[kne ]=f_SW  - ms*c1o54  * VeloX - ms*c1o54  * VeloY;
+      q = q_dirSE[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dMP0])[knw ]=f_SE  + ms*c1o54  * VeloX - ms*c1o54  * VeloY;
+      q = q_dirNW[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dPM0])[kse ]=f_NW  - ms*c1o54  * VeloX + ms*c1o54  * VeloY;
+      q = q_dirTE[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dM0M])[kbw ]=f_TE  + ms*c1o54  * VeloX + ms*c1o54  * VeloZ - c3o2*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on-c1o12*kxxMyyFromfcNEQ;
+      q = q_dirBW[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dP0P])[kte ]=f_BW  - ms*c1o54  * VeloX - ms*c1o54  * VeloZ;
+      q = q_dirBE[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dM0P])[ktw ]=f_BE  + ms*c1o54  * VeloX - ms*c1o54  * VeloZ;
+      q = q_dirTW[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dP0M])[kbe ]=f_TW  - ms*c1o54  * VeloX + ms*c1o54  * VeloZ - c3o2*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on-c1o12*kxxMyyFromfcNEQ;
+      q = q_dirTN[k];    if (q>=c0o1 && q<=c1o1)    (D.f[d0MM])[kbs ]=f_TN  + ms*c1o54  * VeloY + ms*c1o54  * VeloZ + c3o1*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on+c1o12*kxxMyyFromfcNEQ;
+      q = q_dirBS[k];    if (q>=c0o1 && q<=c1o1)    (D.f[d0PP])[ktn ]=f_BS  - ms*c1o54  * VeloY - ms*c1o54  * VeloZ;
+      q = q_dirBN[k];    if (q>=c0o1 && q<=c1o1)    (D.f[d0MP])[kts ]=f_BN  + ms*c1o54  * VeloY - ms*c1o54  * VeloZ;
+      q = q_dirTS[k];    if (q>=c0o1 && q<=c1o1)    (D.f[d0PM])[kbn ]=f_TS  - ms*c1o54  * VeloY + ms*c1o54  * VeloZ + c3o1*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on+c1o12*kxxMyyFromfcNEQ;
+      q = q_dirTNE[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dMMM])[kbsw]=f_TNE + ms*c1o216 * VeloX + ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
+      q = q_dirBSW[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dPPP])[ktne]=f_BSW - ms*c1o216 * VeloX - ms*c1o216 * VeloY - ms*c1o216 * VeloZ;
+      q = q_dirBNE[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dMMP])[ktsw]=f_BNE + ms*c1o216 * VeloX + ms*c1o216 * VeloY - ms*c1o216 * VeloZ;
+      q = q_dirTSW[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dPPM])[kbne]=f_TSW - ms*c1o216 * VeloX - ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
+      q = q_dirTSE[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dMPM])[kbnw]=f_TSE + ms*c1o216 * VeloX - ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
+      q = q_dirBNW[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dPMP])[ktse]=f_BNW - ms*c1o216 * VeloX + ms*c1o216 * VeloY - ms*c1o216 * VeloZ;
+      q = q_dirBSE[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dMPP])[ktnw]=f_BSE + ms*c1o216 * VeloX - ms*c1o216 * VeloY - ms*c1o216 * VeloZ;
+      q = q_dirTNW[k];    if (q>=c0o1 && q<=c1o1)    (D.f[dPMM])[kbse]=f_TNW - ms*c1o216 * VeloX + ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on;
+      //q = q_dirE[k];    if (q>=zero && q<=one)    (D.f[dM00])[kw  ]=f_E   + ms*c2over27  * VeloX;    
+   //   q = q_dirW[k];    if (q>=zero && q<=one)    (D.f[dP00])[ke  ]=f_W   - ms*c2over27  * VeloX;    
+   //   q = q_dirN[k];    if (q>=zero && q<=one)    (D.f[d0M0])[ks  ]=f_N   + ms*c2over27  * VeloY;    
+   //   q = q_dirS[k];    if (q>=zero && q<=one)    (D.f[d0P0])[kn  ]=f_S   - ms*c2over27  * VeloY;    
+      //q = q_dirT[k];    if (q>=zero && q<=one)    (D.f[d00M])[kb  ]=f_T   + ms*c2over27  * VeloZ - c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
+   //   q = q_dirB[k];    if (q>=zero && q<=one)    (D.f[d00P])[kt  ]=f_B   - ms*c2over27  * VeloZ;
+   //   q = q_dirNE[k];    if (q>=zero && q<=one)    (D.f[dMM0])[ksw ]=f_NE  + ms*c1over54  * VeloX + ms*c1over54  * VeloY;
+      //q = q_dirSW[k];    if (q>=zero && q<=one)    (D.f[dPP0])[kne ]=f_SW  - ms*c1over54  * VeloX - ms*c1over54  * VeloY;
+      //q = q_dirSE[k];    if (q>=zero && q<=one)    (D.f[dMP0])[knw ]=f_SE  + ms*c1over54  * VeloX - ms*c1over54  * VeloY;
+      //q = q_dirNW[k];    if (q>=zero && q<=one)    (D.f[dPM0])[kse ]=f_NW  - ms*c1over54  * VeloX + ms*c1over54  * VeloY;
+      //q = q_dirTE[k];    if (q>=zero && q<=one)    (D.f[dM0M])[kbw ]=f_TE  + ms*c1over54  * VeloX + ms*c1over54  * VeloZ - c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
+      //q = q_dirBW[k];    if (q>=zero && q<=one)    (D.f[dP0P])[kte ]=f_BW  - ms*c1over54  * VeloX - ms*c1over54  * VeloZ;
+      //q = q_dirBE[k];    if (q>=zero && q<=one)    (D.f[dM0P])[ktw ]=f_BE  + ms*c1over54  * VeloX - ms*c1over54  * VeloZ;
+      //q = q_dirTW[k];    if (q>=zero && q<=one)    (D.f[dP0M])[kbe ]=f_TW  - ms*c1over54  * VeloX + ms*c1over54  * VeloZ - c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
+      //q = q_dirTN[k];    if (q>=zero && q<=one)    (D.f[d0MM])[kbs ]=f_TN  + ms*c1over54  * VeloY + ms*c1over54  * VeloZ + c1o2*c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
+      //q = q_dirBS[k];    if (q>=zero && q<=one)    (D.f[d0PP])[ktn ]=f_BS  - ms*c1over54  * VeloY - ms*c1over54  * VeloZ;
+      //q = q_dirBN[k];    if (q>=zero && q<=one)    (D.f[d0MP])[kts ]=f_BN  + ms*c1over54  * VeloY - ms*c1over54  * VeloZ;
+      //q = q_dirTS[k];    if (q>=zero && q<=one)    (D.f[d0PM])[kbn ]=f_TS  - ms*c1over54  * VeloY + ms*c1over54  * VeloZ + c1o2*c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
+   //   q = q_dirTNE[k];    if (q>=zero && q<=one)    (D.f[dMMM])[kbsw]=f_TNE + ms*c1over216 * VeloX + ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
+   //   q = q_dirBSW[k];    if (q>=zero && q<=one)    (D.f[dPPP])[ktne]=f_BSW - ms*c1over216 * VeloX - ms*c1over216 * VeloY - ms*c1over216 * VeloZ;
+   //   q = q_dirBNE[k];    if (q>=zero && q<=one)    (D.f[dMMP])[ktsw]=f_BNE + ms*c1over216 * VeloX + ms*c1over216 * VeloY - ms*c1over216 * VeloZ;
+   //   q = q_dirTSW[k];    if (q>=zero && q<=one)    (D.f[dPPM])[kbne]=f_TSW - ms*c1over216 * VeloX - ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
+   //   q = q_dirTSE[k];    if (q>=zero && q<=one)    (D.f[dMPM])[kbnw]=f_TSE + ms*c1over216 * VeloX - ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
+   //   q = q_dirBNW[k];    if (q>=zero && q<=one)    (D.f[dPMP])[ktse]=f_BNW - ms*c1over216 * VeloX + ms*c1over216 * VeloY - ms*c1over216 * VeloZ;
+   //   q = q_dirBSE[k];    if (q>=zero && q<=one)    (D.f[dMPP])[ktnw]=f_BSE + ms*c1over216 * VeloX - ms*c1over216 * VeloY - ms*c1over216 * VeloZ;
+   //   q = q_dirTNW[k];    if (q>=zero && q<=one)    (D.f[dPMM])[kbse]=f_TNW - ms*c1over216 * VeloX + ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on;
+      //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -3752,726 +3752,726 @@ __global__ void QVelDev1h27(
     unsigned long long numberOfLBnodes, 
     bool isEvenTimestep)
 {
-	Distributions27 D;
-	if (isEvenTimestep==true)
-	{
-		D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00P] = &DD[d00P * numberOfLBnodes];
-		D.f[d00M] = &DD[d00M * numberOfLBnodes];
-		D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-		D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-		D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-		D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-		D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-		D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-		D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-		D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-		D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-	} 
-	else
-	{
-		D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-		D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-		D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-		D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-		D.f[d00M] = &DD[d00P * numberOfLBnodes];
-		D.f[d00P] = &DD[d00M * numberOfLBnodes];
-		D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-		D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-		D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-		D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-		D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-		D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-		D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-		D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-		D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-		D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-		D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-		D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-		D.f[d000] = &DD[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-		D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-		D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-		D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-		D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-		D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-		D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-		D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-	}
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<numberOfBCnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		real VeloX = cosf(Phi)*vx[k] - sinf(Phi)*vy[k];
-		real VeloY = sinf(Phi)*vx[k] + cosf(Phi)*vy[k];
-		//real VeloZ = vz[k]; //(16.0*(u0*2.0)*bbx*bby*(grid_nx-bbx)*(grid_ny-bby))/(grid_nx*grid_nx*grid_ny*grid_ny)
-		////////////////////////////////////////////////////////////////////////////////////
-		//Ship
-		real coord0X = 281.125f;//7.5f;
-		real coord0Y = 388.125f;//7.5f;
-		real ux = - angularVelocity * (coordY[k_Q[k]] - coord0Y);
-		real uy =   angularVelocity * (coordX[k_Q[k]] - coord0X);
-		real VeloXpur=VeloX;
-		real VeloYpur=VeloY;
-		VeloX-=ux;
-		VeloY-=uy;
-		////////////////////////////////////////////////////////////////////////////////
-		real *q_dirE,   *q_dirW,   *q_dirN,   *q_dirS,   *q_dirT,   *q_dirB, 
-			*q_dirNE,  *q_dirSW,  *q_dirSE,  *q_dirNW,  *q_dirTE,  *q_dirBW,
-			*q_dirBE,  *q_dirTW,  *q_dirTN,  *q_dirBS,  *q_dirBN,  *q_dirTS,
-			*q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
-			*q_dirBSE, *q_dirBNW; 
-		q_dirE   = &QQ[dP00 * numberOfBCnodes];
-		q_dirW   = &QQ[dM00 * numberOfBCnodes];
-		q_dirN   = &QQ[d0P0 * numberOfBCnodes];
-		q_dirS   = &QQ[d0M0 * numberOfBCnodes];
-		q_dirT   = &QQ[d00P * numberOfBCnodes];
-		q_dirB   = &QQ[d00M * numberOfBCnodes];
-		q_dirNE  = &QQ[dPP0 * numberOfBCnodes];
-		q_dirSW  = &QQ[dMM0 * numberOfBCnodes];
-		q_dirSE  = &QQ[dPM0 * numberOfBCnodes];
-		q_dirNW  = &QQ[dMP0 * numberOfBCnodes];
-		q_dirTE  = &QQ[dP0P * numberOfBCnodes];
-		q_dirBW  = &QQ[dM0M * numberOfBCnodes];
-		q_dirBE  = &QQ[dP0M * numberOfBCnodes];
-		q_dirTW  = &QQ[dM0P * numberOfBCnodes];
-		q_dirTN  = &QQ[d0PP * numberOfBCnodes];
-		q_dirBS  = &QQ[d0MM * numberOfBCnodes];
-		q_dirBN  = &QQ[d0PM * numberOfBCnodes];
-		q_dirTS  = &QQ[d0MP * numberOfBCnodes];
-		q_dirTNE = &QQ[dPPP * numberOfBCnodes];
-		q_dirTSW = &QQ[dMMP * numberOfBCnodes];
-		q_dirTSE = &QQ[dPMP * numberOfBCnodes];
-		q_dirTNW = &QQ[dMPP * numberOfBCnodes];
-		q_dirBNE = &QQ[dPPM * numberOfBCnodes];
-		q_dirBSW = &QQ[dMMM * numberOfBCnodes];
-		q_dirBSE = &QQ[dPMM * numberOfBCnodes];
-		q_dirBNW = &QQ[dMPM * numberOfBCnodes];
-		////////////////////////////////////////////////////////////////////////////////
-		//index
-		unsigned int KQK  = k_Q[k];
-		//unsigned int kzero= KQK;
-		unsigned int ke   = KQK;
-		unsigned int kw   = neighborX[KQK];
-		unsigned int kn   = KQK;
-		unsigned int ks   = neighborY[KQK];
-		unsigned int kt   = KQK;
-		unsigned int kb   = neighborZ[KQK];
-		unsigned int ksw  = neighborY[kw];
-		unsigned int kne  = KQK;
-		unsigned int kse  = ks;
-		unsigned int knw  = kw;
-		unsigned int kbw  = neighborZ[kw];
-		unsigned int kte  = KQK;
-		unsigned int kbe  = kb;
-		unsigned int ktw  = kw;
-		unsigned int kbs  = neighborZ[ks];
-		unsigned int ktn  = KQK;
-		unsigned int kbn  = kb;
-		unsigned int kts  = ks;
-		unsigned int ktse = ks;
-		unsigned int kbnw = kbw;
-		unsigned int ktnw = kw;
-		unsigned int kbse = kbs;
-		unsigned int ktsw = ksw;
-		unsigned int kbne = kb;
-		unsigned int ktne = KQK;
-		unsigned int kbsw = neighborZ[ksw];
-		//unsigned int nxny = nx*ny;
-		//unsigned int kzero= KQK;
-		//unsigned int ke   = KQK;
-		//unsigned int kw   = KQK + 1;
-		//unsigned int kn   = KQK;
-		//unsigned int ks   = KQK + nx;
-		//unsigned int kt   = KQK;
-		//unsigned int kb   = KQK + nxny;
-		//unsigned int ksw  = KQK + nx + 1;
-		//unsigned int kne  = KQK;
-		//unsigned int kse  = KQK + nx;
-		//unsigned int knw  = KQK + 1;
-		//unsigned int kbw  = KQK + nxny + 1;
-		//unsigned int kte  = KQK;
-		//unsigned int kbe  = KQK + nxny;
-		//unsigned int ktw  = KQK + 1;
-		//unsigned int kbs  = KQK + nxny + nx;
-		//unsigned int ktn  = KQK;
-		//unsigned int kbn  = KQK + nxny;
-		//unsigned int kts  = KQK + nx;
-		//unsigned int ktse = KQK + nx;
-		//unsigned int kbnw = KQK + nxny + 1;
-		//unsigned int ktnw = KQK + 1;
-		//unsigned int kbse = KQK + nxny + nx;
-		//unsigned int ktsw = KQK + nx + 1;
-		//unsigned int kbne = KQK + nxny;
-		//unsigned int ktne = KQK;
-		//unsigned int kbsw = KQK + nxny + nx + 1;
-		////////////////////////////////////////////////////////////////////////////////
-		//real f_E,  f_W,  f_N,  f_S,  f_T,  f_B,   f_NE,  f_SW,  f_SE,  f_NW,  f_TE,  f_BW,  f_BE,
-		//	f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
-
-		//f_W    = (D.f[dP00])[ke   ];
-		//f_E    = (D.f[dM00])[kw   ];
-		//f_S    = (D.f[d0P0])[kn   ];
-		//f_N    = (D.f[d0M0])[ks   ];
-		//f_B    = (D.f[d00P])[kt   ];
-		//f_T    = (D.f[d00M])[kb   ];
-		//f_SW   = (D.f[dPP0])[kne  ];
-		//f_NE   = (D.f[dMM0])[ksw  ];
-		//f_NW   = (D.f[dPM0])[kse  ];
-		//f_SE   = (D.f[dMP0])[knw  ];
-		//f_BW   = (D.f[dP0P])[kte  ];
-		//f_TE   = (D.f[dM0M])[kbw  ];
-		//f_TW   = (D.f[dP0M])[kbe  ];
-		//f_BE   = (D.f[dM0P])[ktw  ];
-		//f_BS   = (D.f[d0PP])[ktn  ];
-		//f_TN   = (D.f[d0MM])[kbs  ];
-		//f_TS   = (D.f[d0PM])[kbn  ];
-		//f_BN   = (D.f[d0MP])[kts  ];
-		//f_BSW  = (D.f[dPPP])[ktne ];
-		//f_BNE  = (D.f[dMMP])[ktsw ];
-		//f_BNW  = (D.f[dPMP])[ktse ];
-		//f_BSE  = (D.f[dMPP])[ktnw ];
-		//f_TSW  = (D.f[dPPM])[kbne ];
-		//f_TNE  = (D.f[dMMM])[kbsw ];
-		//f_TNW  = (D.f[dPMM])[kbse ];
-		//f_TSE  = (D.f[dMPM])[kbnw ];
-		////////////////////////////////////////////////////////////////////////////////
-		real /*vx1, vx2,*/ vx3, drho, feq, q, cu_sq;
-		//drho   =  f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
-		//	f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
-		//	f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]); 
-
-		//vx1    =  ((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
-		//	((f_BE - f_TW)   + (f_TE - f_BW))   + ((f_SE - f_NW)   + (f_NE - f_SW)) +
-		//	(f_E - f_W); 
-
-
-		//vx2    =   (-(f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
-		//	((f_BN - f_TS)   + (f_TN - f_BS))    + (-(f_SE - f_NW)  + (f_NE - f_SW)) +
-		//	(f_N - f_S); 
-
-		//vx3    =   ((f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) + (f_TSW - f_BNE)) +
-		//	(-(f_BN - f_TS)  + (f_TN - f_BS))   + ((f_TE - f_BW)   - (f_BE - f_TW)) +
-		//	(f_T - f_B); 
-
-		//cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
-
-		//////////////////////////////////////////////////////////////////////////
-		if (isEvenTimestep==false)
-		{
-			D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-			D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-			D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-			D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-			D.f[d00P] = &DD[d00P * numberOfLBnodes];
-			D.f[d00M] = &DD[d00M * numberOfLBnodes];
-			D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-			D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-			D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-			D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-			D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-			D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-			D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-			D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-			D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-			D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-			D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-			D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-			D.f[d000] = &DD[d000 * numberOfLBnodes];
-			D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-			D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-			D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-			D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-			D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-			D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-			D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-			D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
-		} 
-		else
-		{
-			D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-			D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-			D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-			D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-			D.f[d00M] = &DD[d00P * numberOfLBnodes];
-			D.f[d00P] = &DD[d00M * numberOfLBnodes];
-			D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-			D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-			D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-			D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-			D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-			D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-			D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-			D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-			D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-			D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-			D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-			D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-			D.f[d000] = &DD[d000 * numberOfLBnodes];
-			D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-			D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-			D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
-			D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-			D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-			D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-			D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-			D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-		}
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		//Test
-		//(D.f[d000])[k]=c1o10;
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-		//ToDo anders Klammern
-
-		//q = q_dirE[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c2over27* (drho/*+three*( vx1        )*/+c9over2*( vx1        )*( vx1        )-cu_sq); 
-		//	(D.f[dM00])[kw]=(one-q)/(one+q)*(f_E-f_W+(f_E+f_W-two*feq*om1)/(one-om1))*c1o2+(q*(f_E+f_W)-six*c2over27*( VeloX     ))/(one+q);
-		//	//(D.f[dM00])[kw]=zero;
-		//}
-
-		//q = q_dirW[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c2over27* (drho/*+three*(-vx1        )*/+c9over2*(-vx1        )*(-vx1        )-cu_sq); 
-		//	(D.f[dP00])[ke]=(one-q)/(one+q)*(f_W-f_E+(f_W+f_E-two*feq*om1)/(one-om1))*c1o2+(q*(f_W+f_E)-six*c2over27*(-VeloX     ))/(one+q);
-		//	//(D.f[dP00])[ke]=zero;
-		//}
-
-		//q = q_dirN[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c2over27* (drho/*+three*(    vx2     )*/+c9over2*(     vx2    )*(     vx2    )-cu_sq); 
-		//	(D.f[d0M0])[ks]=(one-q)/(one+q)*(f_N-f_S+(f_N+f_S-two*feq*om1)/(one-om1))*c1o2+(q*(f_N+f_S)-six*c2over27*( VeloY     ))/(one+q);
-		//	//(D.f[d0M0])[ks]=zero;
-		//}
-
-		//q = q_dirS[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c2over27* (drho/*+three*(   -vx2     )*/+c9over2*(    -vx2    )*(    -vx2    )-cu_sq); 
-		//	(D.f[d0P0])[kn]=(one-q)/(one+q)*(f_S-f_N+(f_S+f_N-two*feq*om1)/(one-om1))*c1o2+(q*(f_S+f_N)-six*c2over27*(-VeloY     ))/(one+q);
-		//	//(D.f[d0P0])[kn]=zero;
-		//}
-
-		//q = q_dirT[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c2over27* (drho/*+three*(         vx3)*/+c9over2*(         vx3)*(         vx3)-cu_sq); 
-		//	(D.f[d00M])[kb]=(one-q)/(one+q)*(f_T-f_B+(f_T+f_B-two*feq*om1)/(one-om1))*c1o2+(q*(f_T+f_B)-six*c2over27*( VeloZ     ))/(one+q);
-		//	//(D.f[d00M])[kb]=one;
-		//}
-
-		//q = q_dirB[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c2over27* (drho/*+three*(        -vx3)*/+c9over2*(        -vx3)*(        -vx3)-cu_sq); 
-		//	(D.f[d00P])[kt]=(one-q)/(one+q)*(f_B-f_T+(f_B+f_T-two*feq*om1)/(one-om1))*c1o2+(q*(f_B+f_T)-six*c2over27*(-VeloZ     ))/(one+q);
-		//	//(D.f[d00P])[kt]=zero;
-		//}
-
-		//q = q_dirNE[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*( vx1+vx2    )*/+c9over2*( vx1+vx2    )*( vx1+vx2    )-cu_sq); 
-		//	(D.f[dMM0])[ksw]=(one-q)/(one+q)*(f_NE-f_SW+(f_NE+f_SW-two*feq*om1)/(one-om1))*c1o2+(q*(f_NE+f_SW)-six*c1over54*(VeloX+VeloY))/(one+q);
-		//	//(D.f[dMM0])[ksw]=zero;
-		//}
-
-		//q = q_dirSW[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*(-vx1-vx2    )*/+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cu_sq); 
-		//	(D.f[dPP0])[kne]=(one-q)/(one+q)*(f_SW-f_NE+(f_SW+f_NE-two*feq*om1)/(one-om1))*c1o2+(q*(f_SW+f_NE)-six*c1over54*(-VeloX-VeloY))/(one+q);
-		//	//(D.f[dPP0])[kne]=zero;
-		//}
-
-		//q = q_dirSE[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*( vx1-vx2    )*/+c9over2*( vx1-vx2    )*( vx1-vx2    )-cu_sq); 
-		//	(D.f[dMP0])[knw]=(one-q)/(one+q)*(f_SE-f_NW+(f_SE+f_NW-two*feq*om1)/(one-om1))*c1o2+(q*(f_SE+f_NW)-six*c1over54*( VeloX-VeloY))/(one+q);
-		//	//(D.f[dMP0])[knw]=zero;
-		//}
-
-		//q = q_dirNW[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*(-vx1+vx2    )*/+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cu_sq); 
-		//	(D.f[dPM0])[kse]=(one-q)/(one+q)*(f_NW-f_SE+(f_NW+f_SE-two*feq*om1)/(one-om1))*c1o2+(q*(f_NW+f_SE)-six*c1over54*(-VeloX+VeloY))/(one+q);
-		//	//(D.f[dPM0])[kse]=zero;
-		//}
-
-		//q = q_dirTE[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*( vx1    +vx3)*/+c9over2*( vx1    +vx3)*( vx1    +vx3)-cu_sq); 
-		//	(D.f[dM0M])[kbw]=(one-q)/(one+q)*(f_TE-f_BW+(f_TE+f_BW-two*feq*om1)/(one-om1))*c1o2+(q*(f_TE+f_BW)-six*c1over54*( VeloX+VeloZ))/(one+q);
-		//	//(D.f[dM0M])[kbw]=zero;
-		//}
-
-		//q = q_dirBW[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*(-vx1    -vx3)*/+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cu_sq); 
-		//	(D.f[dP0P])[kte]=(one-q)/(one+q)*(f_BW-f_TE+(f_BW+f_TE-two*feq*om1)/(one-om1))*c1o2+(q*(f_BW+f_TE)-six*c1over54*(-VeloX-VeloZ))/(one+q);
-		//	//(D.f[dP0P])[kte]=zero;
-		//}
-
-		//q = q_dirBE[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*( vx1    -vx3)*/+c9over2*( vx1    -vx3)*( vx1    -vx3)-cu_sq); 
-		//	(D.f[dM0P])[ktw]=(one-q)/(one+q)*(f_BE-f_TW+(f_BE+f_TW-two*feq*om1)/(one-om1))*c1o2+(q*(f_BE+f_TW)-six*c1over54*( VeloX-VeloZ))/(one+q);
-		//	//(D.f[dM0P])[ktw]=zero;
-		//}
-
-		//q = q_dirTW[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*(-vx1    +vx3)*/+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cu_sq); 
-		//	(D.f[dP0M])[kbe]=(one-q)/(one+q)*(f_TW-f_BE+(f_TW+f_BE-two*feq*om1)/(one-om1))*c1o2+(q*(f_TW+f_BE)-six*c1over54*(-VeloX+VeloZ))/(one+q);
-		//	//(D.f[dP0M])[kbe]=zero;
-		//}
-
-		//q = q_dirTN[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*(     vx2+vx3)*/+c9over2*(     vx2+vx3)*(     vx2+vx3)-cu_sq); 
-		//	(D.f[d0MM])[kbs]=(one-q)/(one+q)*(f_TN-f_BS+(f_TN+f_BS-two*feq*om1)/(one-om1))*c1o2+(q*(f_TN+f_BS)-six*c1over54*( VeloY+VeloZ))/(one+q);
-		//	//(D.f[d0MM])[kbs]=zero;
-		//}
-
-		//q = q_dirBS[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*(    -vx2-vx3)*/+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cu_sq); 
-		//	(D.f[d0PP])[ktn]=(one-q)/(one+q)*(f_BS-f_TN+(f_BS+f_TN-two*feq*om1)/(one-om1))*c1o2+(q*(f_BS+f_TN)-six*c1over54*( -VeloY-VeloZ))/(one+q);
-		//	//(D.f[d0PP])[ktn]=zero;
-		//}
-
-		//q = q_dirBN[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*(     vx2-vx3)*/+c9over2*(     vx2-vx3)*(     vx2-vx3)-cu_sq); 
-		//	(D.f[d0MP])[kts]=(one-q)/(one+q)*(f_BN-f_TS+(f_BN+f_TS-two*feq*om1)/(one-om1))*c1o2+(q*(f_BN+f_TS)-six*c1over54*( VeloY-VeloZ))/(one+q);
-		//	//(D.f[d0MP])[kts]=zero;
-		//}
-
-		//q = q_dirTS[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over54* (drho/*+three*(    -vx2+vx3)*/+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cu_sq); 
-		//	(D.f[d0PM])[kbn]=(one-q)/(one+q)*(f_TS-f_BN+(f_TS+f_BN-two*feq*om1)/(one-om1))*c1o2+(q*(f_TS+f_BN)-six*c1over54*( -VeloY+VeloZ))/(one+q);
-		//	//(D.f[d0PM])[kbn]=zero;
-		//}
-
-		//q = q_dirTNE[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over216*(drho/*+three*( vx1+vx2+vx3)*/+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); 
-		//	(D.f[dMMM])[kbsw]=(one-q)/(one+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-two*feq*om1)/(one-om1))*c1o2+(q*(f_TNE+f_BSW)-six*c1over216*( VeloX+VeloY+VeloZ))/(one+q);
-		//	//(D.f[dMMM])[kbsw]=zero;
-		//}
-
-		//q = q_dirBSW[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over216*(drho/*+three*(-vx1-vx2-vx3)*/+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); 
-		//	(D.f[dPPP])[ktne]=(one-q)/(one+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-two*feq*om1)/(one-om1))*c1o2+(q*(f_BSW+f_TNE)-six*c1over216*(-VeloX-VeloY-VeloZ))/(one+q);
-		//	//(D.f[dPPP])[ktne]=zero;
-		//}
-
-		//q = q_dirBNE[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over216*(drho/*+three*( vx1+vx2-vx3)*/+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); 
-		//	(D.f[dMMP])[ktsw]=(one-q)/(one+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-two*feq*om1)/(one-om1))*c1o2+(q*(f_BNE+f_TSW)-six*c1over216*( VeloX+VeloY-VeloZ))/(one+q);
-		//	//(D.f[dMMP])[ktsw]=zero;
-		//}
-
-		//q = q_dirTSW[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over216*(drho/*+three*(-vx1-vx2+vx3)*/+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); 
-		//	(D.f[dPPM])[kbne]=(one-q)/(one+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-two*feq*om1)/(one-om1))*c1o2+(q*(f_TSW+f_BNE)-six*c1over216*(-VeloX-VeloY+VeloZ))/(one+q);
-		//	//(D.f[dPPM])[kbne]=zero;
-		//}
-
-		//q = q_dirTSE[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over216*(drho/*+three*( vx1-vx2+vx3)*/+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); 
-		//	(D.f[dMPM])[kbnw]=(one-q)/(one+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-two*feq*om1)/(one-om1))*c1o2+(q*(f_TSE+f_BNW)-six*c1over216*( VeloX-VeloY+VeloZ))/(one+q);
-		//	//(D.f[dMPM])[kbnw]=zero;
-		//}
-
-		//q = q_dirBNW[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over216*(drho/*+three*(-vx1+vx2-vx3)*/+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); 
-		//	(D.f[dPMP])[ktse]=(one-q)/(one+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-two*feq*om1)/(one-om1))*c1o2+(q*(f_BNW+f_TSE)-six*c1over216*(-VeloX+VeloY-VeloZ))/(one+q);
-		//	//(D.f[dPMP])[ktse]=zero;
-		//}
-
-		//q = q_dirBSE[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over216*(drho/*+three*( vx1-vx2-vx3)*/+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); 
-		//	(D.f[dMPP])[ktnw]=(one-q)/(one+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-two*feq*om1)/(one-om1))*c1o2+(q*(f_BSE+f_TNW)-six*c1over216*( VeloX-VeloY-VeloZ))/(one+q);
-		//	//(D.f[dMPP])[ktnw]=zero;
-		//}
-
-		//q = q_dirTNW[k];
-		//if (q>=zero && q<=one)
-		//{
-		//	feq=c1over216*(drho/*+three*(-vx1+vx2+vx3)*/+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); 
-		//	(D.f[dPMM])[kbse]=(one-q)/(one+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-two*feq*om1)/(one-om1))*c1o2+(q*(f_TNW+f_BSE)-six*c1over216*(-VeloX+VeloY+VeloZ))/(one+q);
-		//	//(D.f[dPMM])[kbse]=zero;
-		//}
-
-		///////// equilibrium BC
-		cu_sq=c3o2*(VeloX*VeloX +VeloY*VeloY);
-		VeloXpur*=-c1o1;
-		VeloYpur*=-c1o1;
-		vx3=c0o1;
-		drho=c0o1;
-		q = q_dirE[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c2o27* (drho+c3o1*( VeloXpur        )+c9o2*( VeloX        )*( VeloX        )-cu_sq); 
-			(D.f[dM00])[kw]=feq;
-			//(D.f[dM00])[kw]=zero;
-		}
-
-		q = q_dirW[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c2o27* (drho+c3o1*(-VeloXpur        )+c9o2*(-VeloX        )*(-VeloX        )-cu_sq); 
-			(D.f[dP00])[ke]=feq;
-			//(D.f[dP00])[ke]=zero;
-		}
-
-		q = q_dirN[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c2o27* (drho+c3o1*(    VeloYpur     )+c9o2*(     VeloY    )*(     VeloY    )-cu_sq); 
-			(D.f[d0M0])[ks]=feq;
-			//(D.f[d0M0])[ks]=zero;
-		}
-
-		q = q_dirS[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c2o27* (drho+c3o1*(   -VeloYpur     )+c9o2*(    -VeloY    )*(    -VeloY    )-cu_sq); 
-			(D.f[d0P0])[kn]=feq;
-			//(D.f[d0P0])[kn]=zero;
-		}
-
-		q = q_dirT[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c2o27* (drho+c3o1*(         vx3)+c9o2*(         vx3)*(         vx3)-cu_sq); 
-			(D.f[d00M])[kb]=feq;
-			//(D.f[d00M])[kb]=one;
-		}
-
-		q = q_dirB[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c2o27* (drho+c3o1*(        -vx3)+c9o2*(        -vx3)*(        -vx3)-cu_sq); 
-			(D.f[d00P])[kt]=feq;
-			//(D.f[d00P])[kt]=zero;
-		}
-
-		q = q_dirNE[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*( VeloXpur+VeloYpur    )+c9o2*( VeloX+VeloY    )*( VeloX+VeloY    )-cu_sq); 
-			(D.f[dMM0])[ksw]=feq;
-			//(D.f[dMM0])[ksw]=zero;
-		}
-
-		q = q_dirSW[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*(-VeloXpur-VeloYpur    )+c9o2*(-VeloX-VeloY    )*(-VeloX-VeloY    )-cu_sq); 
-			(D.f[dPP0])[kne]=feq;
-			//(D.f[dPP0])[kne]=zero;
-		}
-
-		q = q_dirSE[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*( VeloXpur-VeloYpur    )+c9o2*( VeloX-VeloY    )*( VeloX-VeloY    )-cu_sq); 
-			(D.f[dMP0])[knw]=feq;
-			//(D.f[dMP0])[knw]=zero;
-		}
-
-		q = q_dirNW[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*(-VeloXpur+VeloYpur    )+c9o2*(-VeloX+VeloY    )*(-VeloX+VeloY    )-cu_sq); 
-			(D.f[dPM0])[kse]=feq;
-			//(D.f[dPM0])[kse]=zero;
-		}
-
-		q = q_dirTE[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*( VeloXpur    +vx3)+c9o2*( VeloX    +vx3)*( VeloX    +vx3)-cu_sq); 
-			(D.f[dM0M])[kbw]=feq;
-			//(D.f[dM0M])[kbw]=zero;
-		}
-
-		q = q_dirBW[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*(-VeloXpur    -vx3)+c9o2*(-VeloX    -vx3)*(-VeloX    -vx3)-cu_sq); 
-			(D.f[dP0P])[kte]=feq;
-			//(D.f[dP0P])[kte]=zero;
-		}
-
-		q = q_dirBE[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*( VeloXpur    -vx3)+c9o2*( VeloX    -vx3)*( VeloX    -vx3)-cu_sq); 
-			(D.f[dM0P])[ktw]=feq;
-			//(D.f[dM0P])[ktw]=zero;
-		}
-
-		q = q_dirTW[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*(-VeloXpur    +vx3)+c9o2*(-VeloX    +vx3)*(-VeloX    +vx3)-cu_sq); 
-			(D.f[dP0M])[kbe]=feq;
-			//(D.f[dP0M])[kbe]=zero;
-		}
-
-		q = q_dirTN[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*(     VeloYpur+vx3)+c9o2*(     VeloY+vx3)*(     VeloY+vx3)-cu_sq); 
-			(D.f[d0MM])[kbs]=feq;
-			//(D.f[d0MM])[kbs]=zero;
-		}
-
-		q = q_dirBS[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*(    -VeloYpur-vx3)+c9o2*(    -VeloY-vx3)*(    -VeloY-vx3)-cu_sq); 
-			(D.f[d0PP])[ktn]=feq;
-			//(D.f[d0PP])[ktn]=zero;
-		}
-
-		q = q_dirBN[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*(     VeloYpur-vx3)+c9o2*(     VeloY-vx3)*(     VeloY-vx3)-cu_sq); 
-			(D.f[d0MP])[kts]=feq;
-			//(D.f[d0MP])[kts]=zero;
-		}
-
-		q = q_dirTS[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o54* (drho+c3o1*(    -VeloYpur+vx3)+c9o2*(    -VeloY+vx3)*(    -VeloY+vx3)-cu_sq); 
-			(D.f[d0PM])[kbn]=feq;
-			//(D.f[d0PM])[kbn]=zero;
-		}
-
-		q = q_dirTNE[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o216*(drho+c3o1*( VeloXpur+VeloYpur+vx3)+c9o2*( VeloX+VeloY+vx3)*( VeloX+VeloY+vx3)-cu_sq); 
-			(D.f[dMMM])[kbsw]=feq;
-			//(D.f[dMMM])[kbsw]=zero;
-		}
-
-		q = q_dirBSW[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o216*(drho+c3o1*(-VeloXpur-VeloYpur-vx3)+c9o2*(-VeloX-VeloY-vx3)*(-VeloX-VeloY-vx3)-cu_sq); 
-			(D.f[dPPP])[ktne]=feq;
-			//(D.f[dPPP])[ktne]=zero;
-		}
-
-		q = q_dirBNE[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o216*(drho+c3o1*( VeloXpur+VeloYpur-vx3)+c9o2*( VeloX+VeloY-vx3)*( VeloX+VeloY-vx3)-cu_sq); 
-			(D.f[dMMP])[ktsw]=feq;
-			//(D.f[dMMP])[ktsw]=zero;
-		}
-
-		q = q_dirTSW[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o216*(drho+c3o1*(-VeloXpur-VeloYpur+vx3)+c9o2*(-VeloX-VeloY+vx3)*(-VeloX-VeloY+vx3)-cu_sq); 
-			(D.f[dPPM])[kbne]=feq;
-			//(D.f[dPPM])[kbne]=zero;
-		}
-
-		q = q_dirTSE[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o216*(drho+c3o1*( VeloXpur-VeloYpur+vx3)+c9o2*( VeloX-VeloY+vx3)*( VeloX-VeloY+vx3)-cu_sq); 
-			(D.f[dMPM])[kbnw]=feq;
-			//(D.f[dMPM])[kbnw]=zero;
-		}
-
-		q = q_dirBNW[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o216*(drho+c3o1*(-VeloXpur+VeloYpur-vx3)+c9o2*(-VeloX+VeloY-vx3)*(-VeloX+VeloY-vx3)-cu_sq); 
-			(D.f[dPMP])[ktse]=feq;
-			//(D.f[dPMP])[ktse]=zero;
-		}
-
-		q = q_dirBSE[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o216*(drho+c3o1*( VeloXpur-VeloYpur-vx3)+c9o2*( VeloX-VeloY-vx3)*( VeloX-VeloY-vx3)-cu_sq); 
-			(D.f[dMPP])[ktnw]=feq;
-			//(D.f[dMPP])[ktnw]=zero;
-		}
-
-		q = q_dirTNW[k];
-		if (q>=c0o1 && q<=c1o1)
-		{
-			feq=c1o216*(drho+c3o1*(-VeloXpur+VeloYpur+vx3)+c9o2*(-VeloX+VeloY+vx3)*(-VeloX+VeloY+vx3)-cu_sq); 
-			(D.f[dPMM])[kbse]=feq;
-			//(D.f[dPMM])[kbse]=zero;
-		}
-	
-	}
+    Distributions27 D;
+    if (isEvenTimestep==true)
+    {
+        D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00P] = &DD[d00P * numberOfLBnodes];
+        D.f[d00M] = &DD[d00M * numberOfLBnodes];
+        D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+        D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+        D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+        D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+        D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+        D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+        D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+        D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+        D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+    } 
+    else
+    {
+        D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+        D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+        D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+        D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+        D.f[d00M] = &DD[d00P * numberOfLBnodes];
+        D.f[d00P] = &DD[d00M * numberOfLBnodes];
+        D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+        D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+        D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+        D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+        D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+        D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+        D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+        D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+        D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+        D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+        D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+        D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+        D.f[d000] = &DD[d000 * numberOfLBnodes];
+        D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+        D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+        D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+        D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+        D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+        D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+        D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+        D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+    }
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if(k<numberOfBCnodes)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        real VeloX = cosf(Phi)*vx[k] - sinf(Phi)*vy[k];
+        real VeloY = sinf(Phi)*vx[k] + cosf(Phi)*vy[k];
+        //real VeloZ = vz[k]; //(16.0*(u0*2.0)*bbx*bby*(grid_nx-bbx)*(grid_ny-bby))/(grid_nx*grid_nx*grid_ny*grid_ny)
+        ////////////////////////////////////////////////////////////////////////////////////
+        //Ship
+        real coord0X = 281.125f;//7.5f;
+        real coord0Y = 388.125f;//7.5f;
+        real ux = - angularVelocity * (coordY[k_Q[k]] - coord0Y);
+        real uy =   angularVelocity * (coordX[k_Q[k]] - coord0X);
+        real VeloXpur=VeloX;
+        real VeloYpur=VeloY;
+        VeloX-=ux;
+        VeloY-=uy;
+        ////////////////////////////////////////////////////////////////////////////////
+        real *q_dirE,   *q_dirW,   *q_dirN,   *q_dirS,   *q_dirT,   *q_dirB, 
+            *q_dirNE,  *q_dirSW,  *q_dirSE,  *q_dirNW,  *q_dirTE,  *q_dirBW,
+            *q_dirBE,  *q_dirTW,  *q_dirTN,  *q_dirBS,  *q_dirBN,  *q_dirTS,
+            *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW,
+            *q_dirBSE, *q_dirBNW; 
+        q_dirE   = &QQ[dP00 * numberOfBCnodes];
+        q_dirW   = &QQ[dM00 * numberOfBCnodes];
+        q_dirN   = &QQ[d0P0 * numberOfBCnodes];
+        q_dirS   = &QQ[d0M0 * numberOfBCnodes];
+        q_dirT   = &QQ[d00P * numberOfBCnodes];
+        q_dirB   = &QQ[d00M * numberOfBCnodes];
+        q_dirNE  = &QQ[dPP0 * numberOfBCnodes];
+        q_dirSW  = &QQ[dMM0 * numberOfBCnodes];
+        q_dirSE  = &QQ[dPM0 * numberOfBCnodes];
+        q_dirNW  = &QQ[dMP0 * numberOfBCnodes];
+        q_dirTE  = &QQ[dP0P * numberOfBCnodes];
+        q_dirBW  = &QQ[dM0M * numberOfBCnodes];
+        q_dirBE  = &QQ[dP0M * numberOfBCnodes];
+        q_dirTW  = &QQ[dM0P * numberOfBCnodes];
+        q_dirTN  = &QQ[d0PP * numberOfBCnodes];
+        q_dirBS  = &QQ[d0MM * numberOfBCnodes];
+        q_dirBN  = &QQ[d0PM * numberOfBCnodes];
+        q_dirTS  = &QQ[d0MP * numberOfBCnodes];
+        q_dirTNE = &QQ[dPPP * numberOfBCnodes];
+        q_dirTSW = &QQ[dMMP * numberOfBCnodes];
+        q_dirTSE = &QQ[dPMP * numberOfBCnodes];
+        q_dirTNW = &QQ[dMPP * numberOfBCnodes];
+        q_dirBNE = &QQ[dPPM * numberOfBCnodes];
+        q_dirBSW = &QQ[dMMM * numberOfBCnodes];
+        q_dirBSE = &QQ[dPMM * numberOfBCnodes];
+        q_dirBNW = &QQ[dMPM * numberOfBCnodes];
+        ////////////////////////////////////////////////////////////////////////////////
+        //index
+        unsigned int KQK  = k_Q[k];
+        //unsigned int kzero= KQK;
+        unsigned int ke   = KQK;
+        unsigned int kw   = neighborX[KQK];
+        unsigned int kn   = KQK;
+        unsigned int ks   = neighborY[KQK];
+        unsigned int kt   = KQK;
+        unsigned int kb   = neighborZ[KQK];
+        unsigned int ksw  = neighborY[kw];
+        unsigned int kne  = KQK;
+        unsigned int kse  = ks;
+        unsigned int knw  = kw;
+        unsigned int kbw  = neighborZ[kw];
+        unsigned int kte  = KQK;
+        unsigned int kbe  = kb;
+        unsigned int ktw  = kw;
+        unsigned int kbs  = neighborZ[ks];
+        unsigned int ktn  = KQK;
+        unsigned int kbn  = kb;
+        unsigned int kts  = ks;
+        unsigned int ktse = ks;
+        unsigned int kbnw = kbw;
+        unsigned int ktnw = kw;
+        unsigned int kbse = kbs;
+        unsigned int ktsw = ksw;
+        unsigned int kbne = kb;
+        unsigned int ktne = KQK;
+        unsigned int kbsw = neighborZ[ksw];
+        //unsigned int nxny = nx*ny;
+        //unsigned int kzero= KQK;
+        //unsigned int ke   = KQK;
+        //unsigned int kw   = KQK + 1;
+        //unsigned int kn   = KQK;
+        //unsigned int ks   = KQK + nx;
+        //unsigned int kt   = KQK;
+        //unsigned int kb   = KQK + nxny;
+        //unsigned int ksw  = KQK + nx + 1;
+        //unsigned int kne  = KQK;
+        //unsigned int kse  = KQK + nx;
+        //unsigned int knw  = KQK + 1;
+        //unsigned int kbw  = KQK + nxny + 1;
+        //unsigned int kte  = KQK;
+        //unsigned int kbe  = KQK + nxny;
+        //unsigned int ktw  = KQK + 1;
+        //unsigned int kbs  = KQK + nxny + nx;
+        //unsigned int ktn  = KQK;
+        //unsigned int kbn  = KQK + nxny;
+        //unsigned int kts  = KQK + nx;
+        //unsigned int ktse = KQK + nx;
+        //unsigned int kbnw = KQK + nxny + 1;
+        //unsigned int ktnw = KQK + 1;
+        //unsigned int kbse = KQK + nxny + nx;
+        //unsigned int ktsw = KQK + nx + 1;
+        //unsigned int kbne = KQK + nxny;
+        //unsigned int ktne = KQK;
+        //unsigned int kbsw = KQK + nxny + nx + 1;
+        ////////////////////////////////////////////////////////////////////////////////
+        //real f_E,  f_W,  f_N,  f_S,  f_T,  f_B,   f_NE,  f_SW,  f_SE,  f_NW,  f_TE,  f_BW,  f_BE,
+        //    f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW;
+
+        //f_W    = (D.f[dP00])[ke   ];
+        //f_E    = (D.f[dM00])[kw   ];
+        //f_S    = (D.f[d0P0])[kn   ];
+        //f_N    = (D.f[d0M0])[ks   ];
+        //f_B    = (D.f[d00P])[kt   ];
+        //f_T    = (D.f[d00M])[kb   ];
+        //f_SW   = (D.f[dPP0])[kne  ];
+        //f_NE   = (D.f[dMM0])[ksw  ];
+        //f_NW   = (D.f[dPM0])[kse  ];
+        //f_SE   = (D.f[dMP0])[knw  ];
+        //f_BW   = (D.f[dP0P])[kte  ];
+        //f_TE   = (D.f[dM0M])[kbw  ];
+        //f_TW   = (D.f[dP0M])[kbe  ];
+        //f_BE   = (D.f[dM0P])[ktw  ];
+        //f_BS   = (D.f[d0PP])[ktn  ];
+        //f_TN   = (D.f[d0MM])[kbs  ];
+        //f_TS   = (D.f[d0PM])[kbn  ];
+        //f_BN   = (D.f[d0MP])[kts  ];
+        //f_BSW  = (D.f[dPPP])[ktne ];
+        //f_BNE  = (D.f[dMMP])[ktsw ];
+        //f_BNW  = (D.f[dPMP])[ktse ];
+        //f_BSE  = (D.f[dMPP])[ktnw ];
+        //f_TSW  = (D.f[dPPM])[kbne ];
+        //f_TNE  = (D.f[dMMM])[kbsw ];
+        //f_TNW  = (D.f[dPMM])[kbse ];
+        //f_TSE  = (D.f[dMPM])[kbnw ];
+        ////////////////////////////////////////////////////////////////////////////////
+        real /*vx1, vx2,*/ vx3, drho, feq, q, cu_sq;
+        //drho   =  f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
+        //    f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
+        //    f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]); 
+
+        //vx1    =  ((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
+        //    ((f_BE - f_TW)   + (f_TE - f_BW))   + ((f_SE - f_NW)   + (f_NE - f_SW)) +
+        //    (f_E - f_W); 
+
+
+        //vx2    =   (-(f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
+        //    ((f_BN - f_TS)   + (f_TN - f_BS))    + (-(f_SE - f_NW)  + (f_NE - f_SW)) +
+        //    (f_N - f_S); 
+
+        //vx3    =   ((f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) + (f_TSW - f_BNE)) +
+        //    (-(f_BN - f_TS)  + (f_TN - f_BS))   + ((f_TE - f_BW)   - (f_BE - f_TW)) +
+        //    (f_T - f_B); 
+
+        //cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
+
+        //////////////////////////////////////////////////////////////////////////
+        if (isEvenTimestep==false)
+        {
+            D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+            D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+            D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+            D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+            D.f[d00P] = &DD[d00P * numberOfLBnodes];
+            D.f[d00M] = &DD[d00M * numberOfLBnodes];
+            D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+            D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+            D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+            D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+            D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+            D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+            D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+            D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+            D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+            D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+            D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+            D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+            D.f[d000] = &DD[d000 * numberOfLBnodes];
+            D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+            D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+            D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+            D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+            D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+            D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+            D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+            D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+        } 
+        else
+        {
+            D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+            D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+            D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+            D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+            D.f[d00M] = &DD[d00P * numberOfLBnodes];
+            D.f[d00P] = &DD[d00M * numberOfLBnodes];
+            D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+            D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+            D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+            D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+            D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+            D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+            D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+            D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+            D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+            D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+            D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+            D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+            D.f[d000] = &DD[d000 * numberOfLBnodes];
+            D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+            D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+            D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+            D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+            D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+            D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+            D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+            D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+        }
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        //Test
+        //(D.f[d000])[k]=c1o10;
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+        //ToDo anders Klammern
+
+        //q = q_dirE[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c2over27* (drho/*+three*( vx1        )*/+c9over2*( vx1        )*( vx1        )-cu_sq); 
+        //    (D.f[dM00])[kw]=(one-q)/(one+q)*(f_E-f_W+(f_E+f_W-two*feq*om1)/(one-om1))*c1o2+(q*(f_E+f_W)-six*c2over27*( VeloX     ))/(one+q);
+        //    //(D.f[dM00])[kw]=zero;
+        //}
+
+        //q = q_dirW[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c2over27* (drho/*+three*(-vx1        )*/+c9over2*(-vx1        )*(-vx1        )-cu_sq); 
+        //    (D.f[dP00])[ke]=(one-q)/(one+q)*(f_W-f_E+(f_W+f_E-two*feq*om1)/(one-om1))*c1o2+(q*(f_W+f_E)-six*c2over27*(-VeloX     ))/(one+q);
+        //    //(D.f[dP00])[ke]=zero;
+        //}
+
+        //q = q_dirN[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c2over27* (drho/*+three*(    vx2     )*/+c9over2*(     vx2    )*(     vx2    )-cu_sq); 
+        //    (D.f[d0M0])[ks]=(one-q)/(one+q)*(f_N-f_S+(f_N+f_S-two*feq*om1)/(one-om1))*c1o2+(q*(f_N+f_S)-six*c2over27*( VeloY     ))/(one+q);
+        //    //(D.f[d0M0])[ks]=zero;
+        //}
+
+        //q = q_dirS[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c2over27* (drho/*+three*(   -vx2     )*/+c9over2*(    -vx2    )*(    -vx2    )-cu_sq); 
+        //    (D.f[d0P0])[kn]=(one-q)/(one+q)*(f_S-f_N+(f_S+f_N-two*feq*om1)/(one-om1))*c1o2+(q*(f_S+f_N)-six*c2over27*(-VeloY     ))/(one+q);
+        //    //(D.f[d0P0])[kn]=zero;
+        //}
+
+        //q = q_dirT[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c2over27* (drho/*+three*(         vx3)*/+c9over2*(         vx3)*(         vx3)-cu_sq); 
+        //    (D.f[d00M])[kb]=(one-q)/(one+q)*(f_T-f_B+(f_T+f_B-two*feq*om1)/(one-om1))*c1o2+(q*(f_T+f_B)-six*c2over27*( VeloZ     ))/(one+q);
+        //    //(D.f[d00M])[kb]=one;
+        //}
+
+        //q = q_dirB[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c2over27* (drho/*+three*(        -vx3)*/+c9over2*(        -vx3)*(        -vx3)-cu_sq); 
+        //    (D.f[d00P])[kt]=(one-q)/(one+q)*(f_B-f_T+(f_B+f_T-two*feq*om1)/(one-om1))*c1o2+(q*(f_B+f_T)-six*c2over27*(-VeloZ     ))/(one+q);
+        //    //(D.f[d00P])[kt]=zero;
+        //}
+
+        //q = q_dirNE[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*( vx1+vx2    )*/+c9over2*( vx1+vx2    )*( vx1+vx2    )-cu_sq); 
+        //    (D.f[dMM0])[ksw]=(one-q)/(one+q)*(f_NE-f_SW+(f_NE+f_SW-two*feq*om1)/(one-om1))*c1o2+(q*(f_NE+f_SW)-six*c1over54*(VeloX+VeloY))/(one+q);
+        //    //(D.f[dMM0])[ksw]=zero;
+        //}
+
+        //q = q_dirSW[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*(-vx1-vx2    )*/+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cu_sq); 
+        //    (D.f[dPP0])[kne]=(one-q)/(one+q)*(f_SW-f_NE+(f_SW+f_NE-two*feq*om1)/(one-om1))*c1o2+(q*(f_SW+f_NE)-six*c1over54*(-VeloX-VeloY))/(one+q);
+        //    //(D.f[dPP0])[kne]=zero;
+        //}
+
+        //q = q_dirSE[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*( vx1-vx2    )*/+c9over2*( vx1-vx2    )*( vx1-vx2    )-cu_sq); 
+        //    (D.f[dMP0])[knw]=(one-q)/(one+q)*(f_SE-f_NW+(f_SE+f_NW-two*feq*om1)/(one-om1))*c1o2+(q*(f_SE+f_NW)-six*c1over54*( VeloX-VeloY))/(one+q);
+        //    //(D.f[dMP0])[knw]=zero;
+        //}
+
+        //q = q_dirNW[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*(-vx1+vx2    )*/+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cu_sq); 
+        //    (D.f[dPM0])[kse]=(one-q)/(one+q)*(f_NW-f_SE+(f_NW+f_SE-two*feq*om1)/(one-om1))*c1o2+(q*(f_NW+f_SE)-six*c1over54*(-VeloX+VeloY))/(one+q);
+        //    //(D.f[dPM0])[kse]=zero;
+        //}
+
+        //q = q_dirTE[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*( vx1    +vx3)*/+c9over2*( vx1    +vx3)*( vx1    +vx3)-cu_sq); 
+        //    (D.f[dM0M])[kbw]=(one-q)/(one+q)*(f_TE-f_BW+(f_TE+f_BW-two*feq*om1)/(one-om1))*c1o2+(q*(f_TE+f_BW)-six*c1over54*( VeloX+VeloZ))/(one+q);
+        //    //(D.f[dM0M])[kbw]=zero;
+        //}
+
+        //q = q_dirBW[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*(-vx1    -vx3)*/+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cu_sq); 
+        //    (D.f[dP0P])[kte]=(one-q)/(one+q)*(f_BW-f_TE+(f_BW+f_TE-two*feq*om1)/(one-om1))*c1o2+(q*(f_BW+f_TE)-six*c1over54*(-VeloX-VeloZ))/(one+q);
+        //    //(D.f[dP0P])[kte]=zero;
+        //}
+
+        //q = q_dirBE[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*( vx1    -vx3)*/+c9over2*( vx1    -vx3)*( vx1    -vx3)-cu_sq); 
+        //    (D.f[dM0P])[ktw]=(one-q)/(one+q)*(f_BE-f_TW+(f_BE+f_TW-two*feq*om1)/(one-om1))*c1o2+(q*(f_BE+f_TW)-six*c1over54*( VeloX-VeloZ))/(one+q);
+        //    //(D.f[dM0P])[ktw]=zero;
+        //}
+
+        //q = q_dirTW[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*(-vx1    +vx3)*/+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cu_sq); 
+        //    (D.f[dP0M])[kbe]=(one-q)/(one+q)*(f_TW-f_BE+(f_TW+f_BE-two*feq*om1)/(one-om1))*c1o2+(q*(f_TW+f_BE)-six*c1over54*(-VeloX+VeloZ))/(one+q);
+        //    //(D.f[dP0M])[kbe]=zero;
+        //}
+
+        //q = q_dirTN[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*(     vx2+vx3)*/+c9over2*(     vx2+vx3)*(     vx2+vx3)-cu_sq); 
+        //    (D.f[d0MM])[kbs]=(one-q)/(one+q)*(f_TN-f_BS+(f_TN+f_BS-two*feq*om1)/(one-om1))*c1o2+(q*(f_TN+f_BS)-six*c1over54*( VeloY+VeloZ))/(one+q);
+        //    //(D.f[d0MM])[kbs]=zero;
+        //}
+
+        //q = q_dirBS[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*(    -vx2-vx3)*/+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cu_sq); 
+        //    (D.f[d0PP])[ktn]=(one-q)/(one+q)*(f_BS-f_TN+(f_BS+f_TN-two*feq*om1)/(one-om1))*c1o2+(q*(f_BS+f_TN)-six*c1over54*( -VeloY-VeloZ))/(one+q);
+        //    //(D.f[d0PP])[ktn]=zero;
+        //}
+
+        //q = q_dirBN[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*(     vx2-vx3)*/+c9over2*(     vx2-vx3)*(     vx2-vx3)-cu_sq); 
+        //    (D.f[d0MP])[kts]=(one-q)/(one+q)*(f_BN-f_TS+(f_BN+f_TS-two*feq*om1)/(one-om1))*c1o2+(q*(f_BN+f_TS)-six*c1over54*( VeloY-VeloZ))/(one+q);
+        //    //(D.f[d0MP])[kts]=zero;
+        //}
+
+        //q = q_dirTS[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over54* (drho/*+three*(    -vx2+vx3)*/+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cu_sq); 
+        //    (D.f[d0PM])[kbn]=(one-q)/(one+q)*(f_TS-f_BN+(f_TS+f_BN-two*feq*om1)/(one-om1))*c1o2+(q*(f_TS+f_BN)-six*c1over54*( -VeloY+VeloZ))/(one+q);
+        //    //(D.f[d0PM])[kbn]=zero;
+        //}
+
+        //q = q_dirTNE[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over216*(drho/*+three*( vx1+vx2+vx3)*/+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); 
+        //    (D.f[dMMM])[kbsw]=(one-q)/(one+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-two*feq*om1)/(one-om1))*c1o2+(q*(f_TNE+f_BSW)-six*c1over216*( VeloX+VeloY+VeloZ))/(one+q);
+        //    //(D.f[dMMM])[kbsw]=zero;
+        //}
+
+        //q = q_dirBSW[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over216*(drho/*+three*(-vx1-vx2-vx3)*/+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); 
+        //    (D.f[dPPP])[ktne]=(one-q)/(one+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-two*feq*om1)/(one-om1))*c1o2+(q*(f_BSW+f_TNE)-six*c1over216*(-VeloX-VeloY-VeloZ))/(one+q);
+        //    //(D.f[dPPP])[ktne]=zero;
+        //}
+
+        //q = q_dirBNE[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over216*(drho/*+three*( vx1+vx2-vx3)*/+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); 
+        //    (D.f[dMMP])[ktsw]=(one-q)/(one+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-two*feq*om1)/(one-om1))*c1o2+(q*(f_BNE+f_TSW)-six*c1over216*( VeloX+VeloY-VeloZ))/(one+q);
+        //    //(D.f[dMMP])[ktsw]=zero;
+        //}
+
+        //q = q_dirTSW[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over216*(drho/*+three*(-vx1-vx2+vx3)*/+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); 
+        //    (D.f[dPPM])[kbne]=(one-q)/(one+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-two*feq*om1)/(one-om1))*c1o2+(q*(f_TSW+f_BNE)-six*c1over216*(-VeloX-VeloY+VeloZ))/(one+q);
+        //    //(D.f[dPPM])[kbne]=zero;
+        //}
+
+        //q = q_dirTSE[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over216*(drho/*+three*( vx1-vx2+vx3)*/+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); 
+        //    (D.f[dMPM])[kbnw]=(one-q)/(one+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-two*feq*om1)/(one-om1))*c1o2+(q*(f_TSE+f_BNW)-six*c1over216*( VeloX-VeloY+VeloZ))/(one+q);
+        //    //(D.f[dMPM])[kbnw]=zero;
+        //}
+
+        //q = q_dirBNW[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over216*(drho/*+three*(-vx1+vx2-vx3)*/+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); 
+        //    (D.f[dPMP])[ktse]=(one-q)/(one+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-two*feq*om1)/(one-om1))*c1o2+(q*(f_BNW+f_TSE)-six*c1over216*(-VeloX+VeloY-VeloZ))/(one+q);
+        //    //(D.f[dPMP])[ktse]=zero;
+        //}
+
+        //q = q_dirBSE[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over216*(drho/*+three*( vx1-vx2-vx3)*/+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); 
+        //    (D.f[dMPP])[ktnw]=(one-q)/(one+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-two*feq*om1)/(one-om1))*c1o2+(q*(f_BSE+f_TNW)-six*c1over216*( VeloX-VeloY-VeloZ))/(one+q);
+        //    //(D.f[dMPP])[ktnw]=zero;
+        //}
+
+        //q = q_dirTNW[k];
+        //if (q>=zero && q<=one)
+        //{
+        //    feq=c1over216*(drho/*+three*(-vx1+vx2+vx3)*/+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); 
+        //    (D.f[dPMM])[kbse]=(one-q)/(one+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-two*feq*om1)/(one-om1))*c1o2+(q*(f_TNW+f_BSE)-six*c1over216*(-VeloX+VeloY+VeloZ))/(one+q);
+        //    //(D.f[dPMM])[kbse]=zero;
+        //}
+
+        ///////// equilibrium BC
+        cu_sq=c3o2*(VeloX*VeloX +VeloY*VeloY);
+        VeloXpur*=-c1o1;
+        VeloYpur*=-c1o1;
+        vx3=c0o1;
+        drho=c0o1;
+        q = q_dirE[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c2o27* (drho+c3o1*( VeloXpur        )+c9o2*( VeloX        )*( VeloX        )-cu_sq); 
+            (D.f[dM00])[kw]=feq;
+            //(D.f[dM00])[kw]=zero;
+        }
+
+        q = q_dirW[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c2o27* (drho+c3o1*(-VeloXpur        )+c9o2*(-VeloX        )*(-VeloX        )-cu_sq); 
+            (D.f[dP00])[ke]=feq;
+            //(D.f[dP00])[ke]=zero;
+        }
+
+        q = q_dirN[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c2o27* (drho+c3o1*(    VeloYpur     )+c9o2*(     VeloY    )*(     VeloY    )-cu_sq); 
+            (D.f[d0M0])[ks]=feq;
+            //(D.f[d0M0])[ks]=zero;
+        }
+
+        q = q_dirS[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c2o27* (drho+c3o1*(   -VeloYpur     )+c9o2*(    -VeloY    )*(    -VeloY    )-cu_sq); 
+            (D.f[d0P0])[kn]=feq;
+            //(D.f[d0P0])[kn]=zero;
+        }
+
+        q = q_dirT[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c2o27* (drho+c3o1*(         vx3)+c9o2*(         vx3)*(         vx3)-cu_sq); 
+            (D.f[d00M])[kb]=feq;
+            //(D.f[d00M])[kb]=one;
+        }
+
+        q = q_dirB[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c2o27* (drho+c3o1*(        -vx3)+c9o2*(        -vx3)*(        -vx3)-cu_sq); 
+            (D.f[d00P])[kt]=feq;
+            //(D.f[d00P])[kt]=zero;
+        }
+
+        q = q_dirNE[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*( VeloXpur+VeloYpur    )+c9o2*( VeloX+VeloY    )*( VeloX+VeloY    )-cu_sq); 
+            (D.f[dMM0])[ksw]=feq;
+            //(D.f[dMM0])[ksw]=zero;
+        }
+
+        q = q_dirSW[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*(-VeloXpur-VeloYpur    )+c9o2*(-VeloX-VeloY    )*(-VeloX-VeloY    )-cu_sq); 
+            (D.f[dPP0])[kne]=feq;
+            //(D.f[dPP0])[kne]=zero;
+        }
+
+        q = q_dirSE[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*( VeloXpur-VeloYpur    )+c9o2*( VeloX-VeloY    )*( VeloX-VeloY    )-cu_sq); 
+            (D.f[dMP0])[knw]=feq;
+            //(D.f[dMP0])[knw]=zero;
+        }
+
+        q = q_dirNW[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*(-VeloXpur+VeloYpur    )+c9o2*(-VeloX+VeloY    )*(-VeloX+VeloY    )-cu_sq); 
+            (D.f[dPM0])[kse]=feq;
+            //(D.f[dPM0])[kse]=zero;
+        }
+
+        q = q_dirTE[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*( VeloXpur    +vx3)+c9o2*( VeloX    +vx3)*( VeloX    +vx3)-cu_sq); 
+            (D.f[dM0M])[kbw]=feq;
+            //(D.f[dM0M])[kbw]=zero;
+        }
+
+        q = q_dirBW[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*(-VeloXpur    -vx3)+c9o2*(-VeloX    -vx3)*(-VeloX    -vx3)-cu_sq); 
+            (D.f[dP0P])[kte]=feq;
+            //(D.f[dP0P])[kte]=zero;
+        }
+
+        q = q_dirBE[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*( VeloXpur    -vx3)+c9o2*( VeloX    -vx3)*( VeloX    -vx3)-cu_sq); 
+            (D.f[dM0P])[ktw]=feq;
+            //(D.f[dM0P])[ktw]=zero;
+        }
+
+        q = q_dirTW[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*(-VeloXpur    +vx3)+c9o2*(-VeloX    +vx3)*(-VeloX    +vx3)-cu_sq); 
+            (D.f[dP0M])[kbe]=feq;
+            //(D.f[dP0M])[kbe]=zero;
+        }
+
+        q = q_dirTN[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*(     VeloYpur+vx3)+c9o2*(     VeloY+vx3)*(     VeloY+vx3)-cu_sq); 
+            (D.f[d0MM])[kbs]=feq;
+            //(D.f[d0MM])[kbs]=zero;
+        }
+
+        q = q_dirBS[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*(    -VeloYpur-vx3)+c9o2*(    -VeloY-vx3)*(    -VeloY-vx3)-cu_sq); 
+            (D.f[d0PP])[ktn]=feq;
+            //(D.f[d0PP])[ktn]=zero;
+        }
+
+        q = q_dirBN[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*(     VeloYpur-vx3)+c9o2*(     VeloY-vx3)*(     VeloY-vx3)-cu_sq); 
+            (D.f[d0MP])[kts]=feq;
+            //(D.f[d0MP])[kts]=zero;
+        }
+
+        q = q_dirTS[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o54* (drho+c3o1*(    -VeloYpur+vx3)+c9o2*(    -VeloY+vx3)*(    -VeloY+vx3)-cu_sq); 
+            (D.f[d0PM])[kbn]=feq;
+            //(D.f[d0PM])[kbn]=zero;
+        }
+
+        q = q_dirTNE[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o216*(drho+c3o1*( VeloXpur+VeloYpur+vx3)+c9o2*( VeloX+VeloY+vx3)*( VeloX+VeloY+vx3)-cu_sq); 
+            (D.f[dMMM])[kbsw]=feq;
+            //(D.f[dMMM])[kbsw]=zero;
+        }
+
+        q = q_dirBSW[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o216*(drho+c3o1*(-VeloXpur-VeloYpur-vx3)+c9o2*(-VeloX-VeloY-vx3)*(-VeloX-VeloY-vx3)-cu_sq); 
+            (D.f[dPPP])[ktne]=feq;
+            //(D.f[dPPP])[ktne]=zero;
+        }
+
+        q = q_dirBNE[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o216*(drho+c3o1*( VeloXpur+VeloYpur-vx3)+c9o2*( VeloX+VeloY-vx3)*( VeloX+VeloY-vx3)-cu_sq); 
+            (D.f[dMMP])[ktsw]=feq;
+            //(D.f[dMMP])[ktsw]=zero;
+        }
+
+        q = q_dirTSW[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o216*(drho+c3o1*(-VeloXpur-VeloYpur+vx3)+c9o2*(-VeloX-VeloY+vx3)*(-VeloX-VeloY+vx3)-cu_sq); 
+            (D.f[dPPM])[kbne]=feq;
+            //(D.f[dPPM])[kbne]=zero;
+        }
+
+        q = q_dirTSE[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o216*(drho+c3o1*( VeloXpur-VeloYpur+vx3)+c9o2*( VeloX-VeloY+vx3)*( VeloX-VeloY+vx3)-cu_sq); 
+            (D.f[dMPM])[kbnw]=feq;
+            //(D.f[dMPM])[kbnw]=zero;
+        }
+
+        q = q_dirBNW[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o216*(drho+c3o1*(-VeloXpur+VeloYpur-vx3)+c9o2*(-VeloX+VeloY-vx3)*(-VeloX+VeloY-vx3)-cu_sq); 
+            (D.f[dPMP])[ktse]=feq;
+            //(D.f[dPMP])[ktse]=zero;
+        }
+
+        q = q_dirBSE[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o216*(drho+c3o1*( VeloXpur-VeloYpur-vx3)+c9o2*( VeloX-VeloY-vx3)*( VeloX-VeloY-vx3)-cu_sq); 
+            (D.f[dMPP])[ktnw]=feq;
+            //(D.f[dMPP])[ktnw]=zero;
+        }
+
+        q = q_dirTNW[k];
+        if (q>=c0o1 && q<=c1o1)
+        {
+            feq=c1o216*(drho+c3o1*(-VeloXpur+VeloYpur+vx3)+c9o2*(-VeloX+VeloY+vx3)*(-VeloX+VeloY+vx3)-cu_sq); 
+            (D.f[dPMM])[kbse]=feq;
+            //(D.f[dPMM])[kbse]=zero;
+        }
+    
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -5232,7 +5232,7 @@ __global__ void QVelDevice27(
       //(D.f[d000])[k]=c1o10;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	  //ToDo anders Klammern
+      //ToDo anders Klammern
 
       q = q_dirE[k];
       if (q>=c0o1 && q<=c1o1)
@@ -5516,70 +5516,70 @@ __global__ void PropellerBC(
         Distributions27 D;
         if (EvenOrOdd==true)
         {
-			D.f[dP00] = &DD[dP00 * numberOfLBnodes];
-			D.f[dM00] = &DD[dM00 * numberOfLBnodes];
-			D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
-			D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
-			D.f[d00P] = &DD[d00P * numberOfLBnodes];
-			D.f[d00M] = &DD[d00M * numberOfLBnodes];
-			D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
-			D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
-			D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
-			D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
-			D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
-			D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
-			D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
-			D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
-			D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
-			D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
-			D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
-			D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
-			D.f[d000] = &DD[d000 * numberOfLBnodes];
-			D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
-			D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
-			D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
-			D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
-			D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
-			D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
-			D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
-			D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
+            D.f[dP00] = &DD[dP00 * numberOfLBnodes];
+            D.f[dM00] = &DD[dM00 * numberOfLBnodes];
+            D.f[d0P0] = &DD[d0P0 * numberOfLBnodes];
+            D.f[d0M0] = &DD[d0M0 * numberOfLBnodes];
+            D.f[d00P] = &DD[d00P * numberOfLBnodes];
+            D.f[d00M] = &DD[d00M * numberOfLBnodes];
+            D.f[dPP0] = &DD[dPP0 * numberOfLBnodes];
+            D.f[dMM0] = &DD[dMM0 * numberOfLBnodes];
+            D.f[dPM0] = &DD[dPM0 * numberOfLBnodes];
+            D.f[dMP0] = &DD[dMP0 * numberOfLBnodes];
+            D.f[dP0P] = &DD[dP0P * numberOfLBnodes];
+            D.f[dM0M] = &DD[dM0M * numberOfLBnodes];
+            D.f[dP0M] = &DD[dP0M * numberOfLBnodes];
+            D.f[dM0P] = &DD[dM0P * numberOfLBnodes];
+            D.f[d0PP] = &DD[d0PP * numberOfLBnodes];
+            D.f[d0MM] = &DD[d0MM * numberOfLBnodes];
+            D.f[d0PM] = &DD[d0PM * numberOfLBnodes];
+            D.f[d0MP] = &DD[d0MP * numberOfLBnodes];
+            D.f[d000] = &DD[d000 * numberOfLBnodes];
+            D.f[dPPP] = &DD[dPPP * numberOfLBnodes];
+            D.f[dMMP] = &DD[dMMP * numberOfLBnodes];
+            D.f[dPMP] = &DD[dPMP * numberOfLBnodes];
+            D.f[dMPP] = &DD[dMPP * numberOfLBnodes];
+            D.f[dPPM] = &DD[dPPM * numberOfLBnodes];
+            D.f[dMMM] = &DD[dMMM * numberOfLBnodes];
+            D.f[dPMM] = &DD[dPMM * numberOfLBnodes];
+            D.f[dMPM] = &DD[dMPM * numberOfLBnodes];
         }
         else
         {
-			D.f[dM00] = &DD[dP00 * numberOfLBnodes];
-			D.f[dP00] = &DD[dM00 * numberOfLBnodes];
-			D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
-			D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
-			D.f[d00M] = &DD[d00P * numberOfLBnodes];
-			D.f[d00P] = &DD[d00M * numberOfLBnodes];
-			D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
-			D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
-			D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
-			D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
-			D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
-			D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
-			D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
-			D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
-			D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
-			D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
-			D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
-			D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
-			D.f[d000] = &DD[d000 * numberOfLBnodes];
-			D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
-			D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
-			D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
-			D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
-			D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
-			D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
-			D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
-			D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
+            D.f[dM00] = &DD[dP00 * numberOfLBnodes];
+            D.f[dP00] = &DD[dM00 * numberOfLBnodes];
+            D.f[d0M0] = &DD[d0P0 * numberOfLBnodes];
+            D.f[d0P0] = &DD[d0M0 * numberOfLBnodes];
+            D.f[d00M] = &DD[d00P * numberOfLBnodes];
+            D.f[d00P] = &DD[d00M * numberOfLBnodes];
+            D.f[dMM0] = &DD[dPP0 * numberOfLBnodes];
+            D.f[dPP0] = &DD[dMM0 * numberOfLBnodes];
+            D.f[dMP0] = &DD[dPM0 * numberOfLBnodes];
+            D.f[dPM0] = &DD[dMP0 * numberOfLBnodes];
+            D.f[dM0M] = &DD[dP0P * numberOfLBnodes];
+            D.f[dP0P] = &DD[dM0M * numberOfLBnodes];
+            D.f[dM0P] = &DD[dP0M * numberOfLBnodes];
+            D.f[dP0M] = &DD[dM0P * numberOfLBnodes];
+            D.f[d0MM] = &DD[d0PP * numberOfLBnodes];
+            D.f[d0PP] = &DD[d0MM * numberOfLBnodes];
+            D.f[d0MP] = &DD[d0PM * numberOfLBnodes];
+            D.f[d0PM] = &DD[d0MP * numberOfLBnodes];
+            D.f[d000] = &DD[d000 * numberOfLBnodes];
+            D.f[dMMM] = &DD[dPPP * numberOfLBnodes];
+            D.f[dPPM] = &DD[dMMP * numberOfLBnodes];
+            D.f[dMPM] = &DD[dPMP * numberOfLBnodes];
+            D.f[dPMM] = &DD[dMPP * numberOfLBnodes];
+            D.f[dMMP] = &DD[dPPM * numberOfLBnodes];
+            D.f[dPPP] = &DD[dMMM * numberOfLBnodes];
+            D.f[dMPP] = &DD[dPMM * numberOfLBnodes];
+            D.f[dPMP] = &DD[dMPM * numberOfLBnodes];
         }
         //////////////////////////////////////////////////////////////////////////
-		unsigned int KQK = k_Q[k];
-		unsigned int BC  = bcMatD[KQK];
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID))
-		{		
-		//////////////////////////////////////////////////////////////////////////
+        unsigned int KQK = k_Q[k];
+        unsigned int BC  = bcMatD[KQK];
+        if( (BC != GEO_SOLID) && (BC != GEO_VOID))
+        {        
+        //////////////////////////////////////////////////////////////////////////
         real  vx1 = ux[k];
         real  vx2 = uy[k];
         real  vx3 = uz[k];
@@ -5589,114 +5589,114 @@ __global__ void PropellerBC(
         //////////////////////////////////////////////////////////////////////////
         //index
         //////////////////////////////////////////////////////////////////////////
-		unsigned int kzero= KQK;
-		unsigned int ke   = KQK;
-		unsigned int kw   = neighborX[KQK];
-		unsigned int kn   = KQK;
-		unsigned int ks   = neighborY[KQK];
-		unsigned int kt   = KQK;
-		unsigned int kb   = neighborZ[KQK];
-		unsigned int ksw  = neighborY[kw];
-		unsigned int kne  = KQK;
-		unsigned int kse  = ks;
-		unsigned int knw  = kw;
-		unsigned int kbw  = neighborZ[kw];
-		unsigned int kte  = KQK;
-		unsigned int kbe  = kb;
-		unsigned int ktw  = kw;
-		unsigned int kbs  = neighborZ[ks];
-		unsigned int ktn  = KQK;
-		unsigned int kbn  = kb;
-		unsigned int kts  = ks;
-		unsigned int ktse = ks;
-		unsigned int kbnw = kbw;
-		unsigned int ktnw = kw;
-		unsigned int kbse = kbs;
-		unsigned int ktsw = ksw;
-		unsigned int kbne = kb;
-		unsigned int ktne = KQK;
-		unsigned int kbsw = neighborZ[ksw];
+        unsigned int kzero= KQK;
+        unsigned int ke   = KQK;
+        unsigned int kw   = neighborX[KQK];
+        unsigned int kn   = KQK;
+        unsigned int ks   = neighborY[KQK];
+        unsigned int kt   = KQK;
+        unsigned int kb   = neighborZ[KQK];
+        unsigned int ksw  = neighborY[kw];
+        unsigned int kne  = KQK;
+        unsigned int kse  = ks;
+        unsigned int knw  = kw;
+        unsigned int kbw  = neighborZ[kw];
+        unsigned int kte  = KQK;
+        unsigned int kbe  = kb;
+        unsigned int ktw  = kw;
+        unsigned int kbs  = neighborZ[ks];
+        unsigned int ktn  = KQK;
+        unsigned int kbn  = kb;
+        unsigned int kts  = ks;
+        unsigned int ktse = ks;
+        unsigned int kbnw = kbw;
+        unsigned int ktnw = kw;
+        unsigned int kbse = kbs;
+        unsigned int ktsw = ksw;
+        unsigned int kbne = kb;
+        unsigned int ktne = KQK;
+        unsigned int kbsw = neighborZ[ksw];
         //////////////////////////////////////////////////////////////////////////
-		real f_E,  f_W,  f_N,  f_S,  f_T,  f_B,   f_NE,  f_SW,  f_SE,  f_NW,  f_TE,  f_BW,  f_BE,
-		f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW, f_ZERO;
-
-		f_ZERO= (D.f[d000])[kzero];
-		f_E   = (D.f[dP00])[ke   ];
-		f_W   = (D.f[dM00])[kw   ];
-		f_N   = (D.f[d0P0])[kn   ];
-		f_S   = (D.f[d0M0])[ks   ];
-		f_T   = (D.f[d00P])[kt   ];
-		f_B   = (D.f[d00M])[kb   ];
-		f_NE  = (D.f[dPP0])[kne  ];
-		f_SW  = (D.f[dMM0])[ksw  ];
-		f_SE  = (D.f[dPM0])[kse  ];
-		f_NW  = (D.f[dMP0])[knw  ];
-		f_TE  = (D.f[dP0P])[kte  ];
-		f_BW  = (D.f[dM0M])[kbw  ];
-		f_BE  = (D.f[dP0M])[kbe  ];
-		f_TW  = (D.f[dM0P])[ktw  ];
-		f_TN  = (D.f[d0PP])[ktn  ];
-		f_BS  = (D.f[d0MM])[kbs  ];
-		f_BN  = (D.f[d0PM])[kbn  ];
-		f_TS  = (D.f[d0MP])[kts  ];
-		f_TNE = (D.f[dPPP])[ktne ];
-		f_BSW = (D.f[dMMM])[kbsw ];
-		f_BNE = (D.f[dPPM])[kbne ];
-		f_TSW = (D.f[dMMP])[ktsw ];
-		f_TSE = (D.f[dPMP])[ktse ];
-		f_BNW = (D.f[dMPM])[kbnw ];
-		f_BSE = (D.f[dPMM])[kbse ];
-		f_TNW = (D.f[dMPP])[ktnw ];
-		//f_W    = (D.f[dP00])[ke   ];
-		//f_E    = (D.f[dM00])[kw   ];
-		//f_S    = (D.f[d0P0])[kn   ];
-		//f_N    = (D.f[d0M0])[ks   ];
-		//f_B    = (D.f[d00P])[kt   ];
-		//f_T    = (D.f[d00M])[kb   ];
-		//f_SW   = (D.f[dPP0])[kne  ];
-		//f_NE   = (D.f[dMM0])[ksw  ];
-		//f_NW   = (D.f[dPM0])[kse  ];
-		//f_SE   = (D.f[dMP0])[knw  ];
-		//f_BW   = (D.f[dP0P])[kte  ];
-		//f_TE   = (D.f[dM0M])[kbw  ];
-		//f_TW   = (D.f[dP0M])[kbe  ];
-		//f_BE   = (D.f[dM0P])[ktw  ];
-		//f_BS   = (D.f[d0PP])[ktn  ];
-		//f_TN   = (D.f[d0MM])[kbs  ];
-		//f_TS   = (D.f[d0PM])[kbn  ];
-		//f_BN   = (D.f[d0MP])[kts  ];
-		//f_BSW  = (D.f[dPPP])[ktne ];
-		//f_TNE  = (D.f[dMMM])[kbsw ];
-		//f_TSW  = (D.f[dPPM])[kbne ];
-		//f_BNE  = (D.f[dMMP])[ktsw ];
-		//f_BNW  = (D.f[dPMP])[ktse ];
-		//f_TSE  = (D.f[dMPM])[kbnw ];
-		//f_TNW  = (D.f[dPMM])[kbse ];
-		//f_BSE  = (D.f[dMPP])[ktnw ];
-		//////////////////////////////////////////////////////////////////////////////////
-		real vxo1, vxo2, vxo3, drho;
-		drho   =  /*zero;*/f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
-				  f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
-				  f_T + f_B + f_N + f_S + f_E + f_W + f_ZERO; 
-
-		vxo1   =   (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
-					((f_BE - f_TW)   + (f_TE - f_BW))   + ((f_SE - f_NW)   + (f_NE - f_SW)) +
-					(f_E - f_W) )/ (c1o1 + drho); 
+        real f_E,  f_W,  f_N,  f_S,  f_T,  f_B,   f_NE,  f_SW,  f_SE,  f_NW,  f_TE,  f_BW,  f_BE,
+        f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW, f_ZERO;
+
+        f_ZERO= (D.f[d000])[kzero];
+        f_E   = (D.f[dP00])[ke   ];
+        f_W   = (D.f[dM00])[kw   ];
+        f_N   = (D.f[d0P0])[kn   ];
+        f_S   = (D.f[d0M0])[ks   ];
+        f_T   = (D.f[d00P])[kt   ];
+        f_B   = (D.f[d00M])[kb   ];
+        f_NE  = (D.f[dPP0])[kne  ];
+        f_SW  = (D.f[dMM0])[ksw  ];
+        f_SE  = (D.f[dPM0])[kse  ];
+        f_NW  = (D.f[dMP0])[knw  ];
+        f_TE  = (D.f[dP0P])[kte  ];
+        f_BW  = (D.f[dM0M])[kbw  ];
+        f_BE  = (D.f[dP0M])[kbe  ];
+        f_TW  = (D.f[dM0P])[ktw  ];
+        f_TN  = (D.f[d0PP])[ktn  ];
+        f_BS  = (D.f[d0MM])[kbs  ];
+        f_BN  = (D.f[d0PM])[kbn  ];
+        f_TS  = (D.f[d0MP])[kts  ];
+        f_TNE = (D.f[dPPP])[ktne ];
+        f_BSW = (D.f[dMMM])[kbsw ];
+        f_BNE = (D.f[dPPM])[kbne ];
+        f_TSW = (D.f[dMMP])[ktsw ];
+        f_TSE = (D.f[dPMP])[ktse ];
+        f_BNW = (D.f[dMPM])[kbnw ];
+        f_BSE = (D.f[dPMM])[kbse ];
+        f_TNW = (D.f[dMPP])[ktnw ];
+        //f_W    = (D.f[dP00])[ke   ];
+        //f_E    = (D.f[dM00])[kw   ];
+        //f_S    = (D.f[d0P0])[kn   ];
+        //f_N    = (D.f[d0M0])[ks   ];
+        //f_B    = (D.f[d00P])[kt   ];
+        //f_T    = (D.f[d00M])[kb   ];
+        //f_SW   = (D.f[dPP0])[kne  ];
+        //f_NE   = (D.f[dMM0])[ksw  ];
+        //f_NW   = (D.f[dPM0])[kse  ];
+        //f_SE   = (D.f[dMP0])[knw  ];
+        //f_BW   = (D.f[dP0P])[kte  ];
+        //f_TE   = (D.f[dM0M])[kbw  ];
+        //f_TW   = (D.f[dP0M])[kbe  ];
+        //f_BE   = (D.f[dM0P])[ktw  ];
+        //f_BS   = (D.f[d0PP])[ktn  ];
+        //f_TN   = (D.f[d0MM])[kbs  ];
+        //f_TS   = (D.f[d0PM])[kbn  ];
+        //f_BN   = (D.f[d0MP])[kts  ];
+        //f_BSW  = (D.f[dPPP])[ktne ];
+        //f_TNE  = (D.f[dMMM])[kbsw ];
+        //f_TSW  = (D.f[dPPM])[kbne ];
+        //f_BNE  = (D.f[dMMP])[ktsw ];
+        //f_BNW  = (D.f[dPMP])[ktse ];
+        //f_TSE  = (D.f[dMPM])[kbnw ];
+        //f_TNW  = (D.f[dPMM])[kbse ];
+        //f_BSE  = (D.f[dMPP])[ktnw ];
+        //////////////////////////////////////////////////////////////////////////////////
+        real vxo1, vxo2, vxo3, drho;
+        drho   =  /*zero;*/f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW +
+                  f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + 
+                  f_T + f_B + f_N + f_S + f_E + f_W + f_ZERO; 
+
+        vxo1   =   (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
+                    ((f_BE - f_TW)   + (f_TE - f_BW))   + ((f_SE - f_NW)   + (f_NE - f_SW)) +
+                    (f_E - f_W) )/ (c1o1 + drho); 
         
 
-		vxo2   =   ((-(f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
-					((f_BN - f_TS)   + (f_TN - f_BS))    + (-(f_SE - f_NW)  + (f_NE - f_SW)) +
-					(f_N - f_S) )/ (c1o1 + drho); 
+        vxo2   =   ((-(f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) +
+                    ((f_BN - f_TS)   + (f_TN - f_BS))    + (-(f_SE - f_NW)  + (f_NE - f_SW)) +
+                    (f_N - f_S) )/ (c1o1 + drho); 
 
-		vxo3   =   (((f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) + (f_TSW - f_BNE)) +
-		 			(-(f_BN - f_TS)  + (f_TN - f_BS))   + ((f_TE - f_BW)   - (f_BE - f_TW)) +
-					(f_T - f_B) )/ (c1o1 + drho); 
+        vxo3   =   (((f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) + (f_TSW - f_BNE)) +
+                     (-(f_BN - f_TS)  + (f_TN - f_BS))   + ((f_TE - f_BW)   - (f_BE - f_TW)) +
+                    (f_T - f_B) )/ (c1o1 + drho); 
 
-		real cusq=c3o2*(vxo1*vxo1+vxo2*vxo2+vxo3*vxo3);
-		//vx1 = vx1 * two - vxo1;
-		//vx2 = vx2 * two - vxo2;
-		//vx3 = vx3 * two - vxo3;
-		real cusq2=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
+        real cusq=c3o2*(vxo1*vxo1+vxo2*vxo2+vxo3*vxo3);
+        //vx1 = vx1 * two - vxo1;
+        //vx2 = vx2 * two - vxo2;
+        //vx3 = vx3 * two - vxo3;
+        real cusq2=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
 
          //f_ZERO = ((one+drho) * (   c8over27 *(one+(-cusq2)))) - c8over27;
          //f_E    = ((one+drho) * (   c2over27 *(one+three*( vx1        )+c9over2*( vx1        )*( vx1        )-cusq2))) - c2over27 ;
@@ -5725,7 +5725,7 @@ __global__ void PropellerBC(
          //f_BNW  = ((one+drho) * (   c1over216*(one+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq2))) - c1over216;
          //f_BSE  = ((one+drho) * (   c1over216*(one+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq2))) - c1over216;
          //f_TNW  = ((one+drho) * (   c1over216*(one+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq2))) - c1over216;
-         f_ZERO = f_ZERO + ((c1o1+drho) * (-  c8o27* (-cusq)																   +   c8o27* (-cusq2)));
+         f_ZERO = f_ZERO + ((c1o1+drho) * (-  c8o27* (-cusq)                                                                   +   c8o27* (-cusq2)));
          f_E    = f_E    + ((c1o1+drho) * (-  c2o27* (c3o1*( vxo1          )+c9o2*( vxo1          )*( vxo1          )-cusq) +   c2o27* (c3o1*( vx1        )+c9o2*( vx1        )*( vx1        )-cusq2)));
          f_W    = f_W    + ((c1o1+drho) * (-  c2o27* (c3o1*(-vxo1          )+c9o2*(-vxo1          )*(-vxo1          )-cusq) +   c2o27* (c3o1*(-vx1        )+c9o2*(-vx1        )*(-vx1        )-cusq2)));
          f_N    = f_N    + ((c1o1+drho) * (-  c2o27* (c3o1*(      vxo2     )+c9o2*(      vxo2     )*(      vxo2     )-cusq) +   c2o27* (c3o1*(    vx2     )+c9o2*(     vx2    )*(     vx2    )-cusq2)));
@@ -5753,62 +5753,62 @@ __global__ void PropellerBC(
          f_BSE  = f_BSE  + ((c1o1+drho) * (-  c1o216*(c3o1*( vxo1-vxo2-vxo3)+c9o2*( vxo1-vxo2-vxo3)*( vxo1-vxo2-vxo3)-cusq) +   c1o216*(c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq2)));
          f_TNW  = f_TNW  + ((c1o1+drho) * (-  c1o216*(c3o1*(-vxo1+vxo2+vxo3)+c9o2*(-vxo1+vxo2+vxo3)*(-vxo1+vxo2+vxo3)-cusq) +   c1o216*(c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq2)));
 
-		(D.f[d000])[kzero] =  f_ZERO;
-        (D.f[dP00])[ke   ] =  f_E   ;	// f_W   ;//    	
-        (D.f[dM00])[kw   ] =  f_W   ;	// f_E   ;//    	
-        (D.f[d0P0])[kn   ] =  f_N   ;	// f_S   ;//    	
-        (D.f[d0M0])[ks   ] =  f_S   ;	// f_N   ;//    	
-        (D.f[d00P])[kt   ] =  f_T   ;	// f_B   ;//    	
-        (D.f[d00M])[kb   ] =  f_B   ;	// f_T   ;//    	
-        (D.f[dPP0])[kne  ] =  f_NE  ;	// f_SW  ;//    	
-        (D.f[dMM0])[ksw  ] =  f_SW  ;	// f_NE  ;//    	
-        (D.f[dPM0])[kse  ] =  f_SE  ;	// f_NW  ;//    	
-        (D.f[dMP0])[knw  ] =  f_NW  ;	// f_SE  ;//    	
-        (D.f[dP0P])[kte  ] =  f_TE  ;	// f_BW  ;//    	
-        (D.f[dM0M])[kbw  ] =  f_BW  ;	// f_TE  ;//    	
-        (D.f[dP0M])[kbe  ] =  f_BE  ;	// f_TW  ;//    	
-        (D.f[dM0P])[ktw  ] =  f_TW  ;	// f_BE  ;//    	
-        (D.f[d0PP])[ktn  ] =  f_TN  ;	// f_BS  ;//    	
-        (D.f[d0MM])[kbs  ] =  f_BS  ;	// f_TN  ;//    	
-        (D.f[d0PM])[kbn  ] =  f_BN  ;	// f_TS  ;//    	
-        (D.f[d0MP])[kts  ] =  f_TS  ;	// f_BN  ;//    	
-        (D.f[dPPP])[ktne ] =  f_TNE ;	// f_BSW ;//    	
-        (D.f[dMMM])[kbsw ] =  f_BSW ;	// f_BNE ;//    	
-        (D.f[dPPM])[kbne ] =  f_BNE ;	// f_BNW ;//    	
-        (D.f[dMMP])[ktsw ] =  f_TSW ;	// f_BSE ;//    	
-        (D.f[dPMP])[ktse ] =  f_TSE ;	// f_TSW ;//    	
-        (D.f[dMPM])[kbnw ] =  f_BNW ;	// f_TNE ;//    	
-        (D.f[dPMM])[kbse ] =  f_BSE ;	// f_TNW ;//    	
-        (D.f[dMPP])[ktnw ] =  f_TNW ;	// f_TSE ;//    	
-
-		//////////////////////////////////////////////////////////////////////////
+        (D.f[d000])[kzero] =  f_ZERO;
+        (D.f[dP00])[ke   ] =  f_E   ;    // f_W   ;//        
+        (D.f[dM00])[kw   ] =  f_W   ;    // f_E   ;//        
+        (D.f[d0P0])[kn   ] =  f_N   ;    // f_S   ;//        
+        (D.f[d0M0])[ks   ] =  f_S   ;    // f_N   ;//        
+        (D.f[d00P])[kt   ] =  f_T   ;    // f_B   ;//        
+        (D.f[d00M])[kb   ] =  f_B   ;    // f_T   ;//        
+        (D.f[dPP0])[kne  ] =  f_NE  ;    // f_SW  ;//        
+        (D.f[dMM0])[ksw  ] =  f_SW  ;    // f_NE  ;//        
+        (D.f[dPM0])[kse  ] =  f_SE  ;    // f_NW  ;//        
+        (D.f[dMP0])[knw  ] =  f_NW  ;    // f_SE  ;//        
+        (D.f[dP0P])[kte  ] =  f_TE  ;    // f_BW  ;//        
+        (D.f[dM0M])[kbw  ] =  f_BW  ;    // f_TE  ;//        
+        (D.f[dP0M])[kbe  ] =  f_BE  ;    // f_TW  ;//        
+        (D.f[dM0P])[ktw  ] =  f_TW  ;    // f_BE  ;//        
+        (D.f[d0PP])[ktn  ] =  f_TN  ;    // f_BS  ;//        
+        (D.f[d0MM])[kbs  ] =  f_BS  ;    // f_TN  ;//        
+        (D.f[d0PM])[kbn  ] =  f_BN  ;    // f_TS  ;//        
+        (D.f[d0MP])[kts  ] =  f_TS  ;    // f_BN  ;//        
+        (D.f[dPPP])[ktne ] =  f_TNE ;    // f_BSW ;//        
+        (D.f[dMMM])[kbsw ] =  f_BSW ;    // f_BNE ;//        
+        (D.f[dPPM])[kbne ] =  f_BNE ;    // f_BNW ;//        
+        (D.f[dMMP])[ktsw ] =  f_TSW ;    // f_BSE ;//        
+        (D.f[dPMP])[ktse ] =  f_TSE ;    // f_TSW ;//        
+        (D.f[dMPM])[kbnw ] =  f_BNW ;    // f_TNE ;//        
+        (D.f[dPMM])[kbse ] =  f_BSE ;    // f_TNW ;//        
+        (D.f[dMPP])[ktnw ] =  f_TNW ;    // f_TSE ;//        
+
+        //////////////////////////////////////////////////////////////////////////
         ////(D.f[d000])[kzero] =   c8over27* (drho-cu_sq);
-        //(D.f[dP00])[ke   ] =   three*c2over27* ( vx1        );		//six
-        //(D.f[dM00])[kw   ] =   three*c2over27* (-vx1        );		//six
-        //(D.f[d0P0])[kn   ] =   three*c2over27* (     vx2    );		//six
-        //(D.f[d0M0])[ks   ] =   three*c2over27* (    -vx2    );		//six
-        //(D.f[d00P])[kt   ] =   three*c2over27* (         vx3);		//six
-        //(D.f[d00M])[kb   ] =   three*c2over27* (        -vx3);		//six
-        //(D.f[dPP0])[kne  ] =   three*c1over54* ( vx1+vx2    );		//six
-        //(D.f[dMM0])[ksw  ] =   three*c1over54* (-vx1-vx2    );		//six
-        //(D.f[dPM0])[kse  ] =   three*c1over54* ( vx1-vx2    );		//six
-        //(D.f[dMP0])[knw  ] =   three*c1over54* (-vx1+vx2    );		//six
-        //(D.f[dP0P])[kte  ] =   three*c1over54* ( vx1    +vx3);		//six
-        //(D.f[dM0M])[kbw  ] =   three*c1over54* (-vx1    -vx3);		//six
-        //(D.f[dP0M])[kbe  ] =   three*c1over54* ( vx1    -vx3);		//six
-        //(D.f[dM0P])[ktw  ] =   three*c1over54* (-vx1    +vx3);		//six
-        //(D.f[d0PP])[ktn  ] =   three*c1over54* (     vx2+vx3);		//six
-        //(D.f[d0MM])[kbs  ] =   three*c1over54* (    -vx2-vx3);		//six
-        //(D.f[d0PM])[kbn  ] =   three*c1over54* (     vx2-vx3);		//six
-        //(D.f[d0MP])[kts  ] =   three*c1over54* (    -vx2+vx3);		//six
-        //(D.f[dPPP])[ktne ] =   three*c1over216*( vx1+vx2+vx3);		//six
-        //(D.f[dMMM])[kbsw ] =   three*c1over216*(-vx1-vx2-vx3);		//six
-        //(D.f[dPPM])[kbne ] =   three*c1over216*( vx1+vx2-vx3);		//six
-        //(D.f[dMMP])[ktsw ] =   three*c1over216*(-vx1-vx2+vx3);		//six
-        //(D.f[dPMP])[ktse ] =   three*c1over216*( vx1-vx2+vx3);		//six
-        //(D.f[dMPM])[kbnw ] =   three*c1over216*(-vx1+vx2-vx3);		//six
-        //(D.f[dPMM])[kbse ] =   three*c1over216*( vx1-vx2-vx3);		//six
-        //(D.f[dMPP])[ktnw ] =   three*c1over216*(-vx1+vx2+vx3);		//six
+        //(D.f[dP00])[ke   ] =   three*c2over27* ( vx1        );        //six
+        //(D.f[dM00])[kw   ] =   three*c2over27* (-vx1        );        //six
+        //(D.f[d0P0])[kn   ] =   three*c2over27* (     vx2    );        //six
+        //(D.f[d0M0])[ks   ] =   three*c2over27* (    -vx2    );        //six
+        //(D.f[d00P])[kt   ] =   three*c2over27* (         vx3);        //six
+        //(D.f[d00M])[kb   ] =   three*c2over27* (        -vx3);        //six
+        //(D.f[dPP0])[kne  ] =   three*c1over54* ( vx1+vx2    );        //six
+        //(D.f[dMM0])[ksw  ] =   three*c1over54* (-vx1-vx2    );        //six
+        //(D.f[dPM0])[kse  ] =   three*c1over54* ( vx1-vx2    );        //six
+        //(D.f[dMP0])[knw  ] =   three*c1over54* (-vx1+vx2    );        //six
+        //(D.f[dP0P])[kte  ] =   three*c1over54* ( vx1    +vx3);        //six
+        //(D.f[dM0M])[kbw  ] =   three*c1over54* (-vx1    -vx3);        //six
+        //(D.f[dP0M])[kbe  ] =   three*c1over54* ( vx1    -vx3);        //six
+        //(D.f[dM0P])[ktw  ] =   three*c1over54* (-vx1    +vx3);        //six
+        //(D.f[d0PP])[ktn  ] =   three*c1over54* (     vx2+vx3);        //six
+        //(D.f[d0MM])[kbs  ] =   three*c1over54* (    -vx2-vx3);        //six
+        //(D.f[d0PM])[kbn  ] =   three*c1over54* (     vx2-vx3);        //six
+        //(D.f[d0MP])[kts  ] =   three*c1over54* (    -vx2+vx3);        //six
+        //(D.f[dPPP])[ktne ] =   three*c1over216*( vx1+vx2+vx3);        //six
+        //(D.f[dMMM])[kbsw ] =   three*c1over216*(-vx1-vx2-vx3);        //six
+        //(D.f[dPPM])[kbne ] =   three*c1over216*( vx1+vx2-vx3);        //six
+        //(D.f[dMMP])[ktsw ] =   three*c1over216*(-vx1-vx2+vx3);        //six
+        //(D.f[dPMP])[ktse ] =   three*c1over216*( vx1-vx2+vx3);        //six
+        //(D.f[dMPM])[kbnw ] =   three*c1over216*(-vx1+vx2-vx3);        //six
+        //(D.f[dPMM])[kbse ] =   three*c1over216*( vx1-vx2-vx3);        //six
+        //(D.f[dMPP])[ktnw ] =   three*c1over216*(-vx1+vx2+vx3);        //six
         //(D.f[d000])[kzero] =   c8over27* (drho-cu_sq);
         //(D.f[dP00])[ke   ] =   c2over27* (drho+three*( vx1        )+c9over2*( vx1        )*( vx1        )-cu_sq);
         //(D.f[dM00])[kw   ] =   c2over27* (drho+three*(-vx1        )+c9over2*(-vx1        )*(-vx1        )-cu_sq);
@@ -5836,7 +5836,7 @@ __global__ void PropellerBC(
         //(D.f[dMPM])[kbnw ] =   c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq);
         //(D.f[dPMM])[kbse ] =   c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq);
         //(D.f[dMPP])[ktnw ] =   c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq);
-		}
+        }
     }
 }
 //////////////////////////////////////////////////////////////////////////
diff --git a/src/gpu/core/GPU/WaleCumulant27.cu b/src/gpu/core/GPU/WaleCumulant27.cu
deleted file mode 100644
index 9180b6a6d1ed09a72ce8d1f97440c88384fa9137..0000000000000000000000000000000000000000
--- a/src/gpu/core/GPU/WaleCumulant27.cu
+++ /dev/null
@@ -1,1048 +0,0 @@
-/* Device code */
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-
-#include "math.h"
-
-
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void LB_Kernel_WaleBySoniMalav_Cum_AA2016_Comp_SP_27(
-	real omega_in,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DDStart,
-	real* turbulentViscosity,
-	unsigned long long numberOfLBnodes,
-	int level,
-	real* forces,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if (BC == GEO_FLUID /*(BC != GEO_SOLID) && (BC != GEO_VOID)*/)
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw = neighborX[k];
-			unsigned int ks = neighborY[k];
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			unsigned int kbw = neighborZ[kw];
-			unsigned int kbs = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];
-			real mfabb = (D.f[dM00])[kw];
-			real mfbcb = (D.f[d0P0])[k];
-			real mfbab = (D.f[d0M0])[ks];
-			real mfbbc = (D.f[d00P])[k];
-			real mfbba = (D.f[d00M])[kb];
-			real mfccb = (D.f[dPP0])[k];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];
-			real mfacb = (D.f[dMP0])[kw];
-			real mfcbc = (D.f[dP0P])[k];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];
-			real mfabc = (D.f[dM0P])[kw];
-			real mfbcc = (D.f[d0PP])[k];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];
-			real mfbac = (D.f[d0MP])[ks];
-			real mfbbb = (D.f[d000])[k];
-			real mfccc = (D.f[dPPP])[k];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks];
-			real mfacc = (D.f[dMPP])[kw];
-			real mfcca = (D.f[dPPM])[kb];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			//////////////////////////////////////////////////////////////////////////////////////
-			real nuOld = c1o3 * (c1o1 / omega_in - c1o2);
-			real nuTurb = c0o1;
-			unsigned int kPx = neighborX[k];
-			unsigned int kPy = neighborY[k];
-			unsigned int kPz = neighborZ[k];
-			unsigned int kMxyz = neighborWSB[k];
-			unsigned int kMx = neighborZ[neighborY[kMxyz]];
-			unsigned int kMy = neighborZ[neighborX[kMxyz]];
-			unsigned int kMz = neighborY[neighborX[kMxyz]];
-
-			real Cw = 0.55;
-			unsigned int DelX = 1;
-
-			////////////////////////////////////////////////////////////////////////////////////
-			/////////////////////          WALE model            ///////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-            //float tauTotal;
-			float wOper;									  // total relaxation time and operator for the WALE model
-			float dxux, dyuy, dzuz, dyux, dxuy, dzux, dxuz, dzuy, dyuz; // 9 velocity gradients required for computing the strain rate tensor and vorticity tensor
-
-																		// gradients wrt X-axis
-			if (bcMatD[kMx] != GEO_FLUID)
-			{
-				dxux = (veloX[kPx] - veloX[k]) / c1o1;
-				dxuy = (veloY[kPx] - veloY[k]) / c1o1;
-				dxuz = (veloZ[kPx] - veloZ[k]) / c1o1;
-			}
-			else if (bcMatD[kPx] != GEO_FLUID)
-			{
-				dxux = (veloX[k] - veloX[kMx]) / c1o1;
-				dxuy = (veloY[k] - veloY[kMx]) / c1o1;
-				dxuz = (veloZ[k] - veloZ[kMx]) / c1o1;
-			}
-			else if (bcMatD[kPx] == GEO_FLUID && bcMatD[kMx] == GEO_FLUID)
-			{
-				dxux = (veloX[kPx] - veloX[kMx]) / c2o1;
-				dxuy = (veloY[kPx] - veloY[kMx]) / c2o1;
-				dxuz = (veloZ[kPx] - veloZ[kMx]) / c2o1;
-			}
-
-			// gradients wrt Y-axis
-			if (bcMatD[kMy] != GEO_FLUID)
-			{
-				dyux = (veloX[kPy] - veloX[k]) / c1o1;
-				dyuy = (veloY[kPy] - veloY[k]) / c1o1;
-				dyuz = (veloZ[kPy] - veloZ[k]) / c1o1;
-			}
-			else if (bcMatD[kPy] != GEO_FLUID)
-			{
-				dyux = (veloX[k] - veloX[kMy]) / c1o1;
-				dyuy = (veloY[k] - veloY[kMy]) / c1o1;
-				dyuz = (veloZ[k] - veloZ[kMy]) / c1o1;
-			}
-			else if (bcMatD[kPy] == GEO_FLUID && bcMatD[kMy] == GEO_FLUID)
-			{
-				dyux = (veloX[kPy] - veloX[kMy]) / c2o1;
-				dyuy = (veloY[kPy] - veloY[kMy]) / c2o1;
-				dyuz = (veloZ[kPy] - veloZ[kMy]) / c2o1;
-			}
-
-			// gradients wrt Z-axis
-			if (bcMatD[kMz] != GEO_FLUID)
-			{
-				dzux = (veloX[kPz] - veloX[k]) / c1o1;
-				dzuy = (veloY[kPz] - veloY[k]) / c1o1;
-				dzuz = (veloZ[kPz] - veloZ[k]) / c1o1;
-			}
-			else if (bcMatD[kPz] != GEO_FLUID)
-			{
-				dzux = (veloX[k] - veloX[kMz]) / c1o1;
-				dzuy = (veloY[k] - veloY[kMz]) / c1o1;
-				dzuz = (veloZ[k] - veloZ[kMz]) / c1o1;
-			}
-			else if (bcMatD[kPz] == GEO_FLUID && bcMatD[kMz] == GEO_FLUID)
-			{
-				dzux = (veloX[kPz] - veloX[kMz]) / c2o1;
-				dzuy = (veloY[kPz] - veloY[kMz]) / c2o1;
-				dzuz = (veloZ[kPz] - veloZ[kMz]) / c2o1;
-			}
-			//dxux = (veloX[kPx] - veloX[kMx]) / two;     dyux = (veloX[kPy] - veloX[kMy]) / two;     dzux = (veloX[kPz] - veloX[kMz]) / two;
-			//dxuy = (veloY[kPx] - veloY[kMx]) / two;     dyuy = (veloY[kPy] - veloY[kMy]) / two;     dzuy = (veloY[kPz] - veloY[kMz]) / two;
-			//dxuz = (veloZ[kPx] - veloZ[kMx]) / two;     dyuz = (veloZ[kPy] - veloZ[kMy]) / two;     dzuz = (veloZ[kPz] - veloZ[kMz]) / two;
-
-
-			/////////// Computing the strain rate and the vorticity tensor ///////////
-			/////////// i=1, j=2, k=3 will be used as indices to compute the strain tensor components as shown below 
-			/////////// S12 is equivalent to Sij and S13 equivalent to Sik and so on. The same applies for the vorticity tensor also////////
-
-			real Sii, Sij, Sik, Sji, Sjj, Sjk, Ski, Skj, Skk; // Strain tensor components
-
-
-			Sii = dxux;     Sij = c1o2 * (dyux + dxuy);     Sik = c1o2 * (dzux + dxuz);
-			Sji = Sij;      Sjj = dyuy;                     Sjk = c1o2 * (dzuy + dyuz);
-			Ski = Sik;      Skj = Sjk;                      Skk = dzuz;
-
-			real Rij, Rik, Rji, Rjk, Rki, Rkj; // Vorticity or Rotation tensor components
-												  // the vorticity components will have zero diagonal components
-
-			Rij = c1o2 * (dyux - dxuy);     Rik = c1o2 * (dzux - dxuz);
-			Rji = -1.0f * Rij;								    Rjk = c1o2 * (dzuy - dyuz);
-			Rki = -1.0f * Rik;   Rkj = -1.0f * Rjk;
-
-			///////// Computation for the terms of the traceless tensor /////////////
-			///////// Terms for the matrix multiplication of strain tensor i.e Sik*Skj //////////
-
-			real S1t = Sii*Sii + Sij*Sji + Sik*Ski;     real S2t = Sii*Sij + Sij*Sjj + Sik*Skj;     real S3t = Sii*Sik + Sij*Sjk + Sik*Skk;
-			real S4t = Sji*Sii + Sjj*Sji + Sjk*Ski;     real S5t = Sji*Sij + Sjj*Sjj + Sjk*Skj;     real S6t = Sji*Sik + Sjj*Sjk + Sjk*Skk;
-			real S7t = Ski*Sii + Skj*Sji + Skk*Ski;     real S8t = Ski*Sij + Skj*Sjj + Skk*Skj;     real S9t = Ski*Sik + Skj*Sjk + Skk*Skk;
-
-			///////// Terms for the matrix multiplication of Rotation tensor i.e Rik*Rkj //////////
-
-			real R1t = Rij*Rji + Rik*Rki;     real R2t = Rik*Rkj;               real R3t = Rij*Rjk;
-			real R4t = Rjk*Rki;               real R5t = Rji*Rij + Rjk*Rkj;     real R6t = Rji*Rik;
-			real R7t = Rkj*Rji;               real R8t = Rki*Rij;               real R9t = Rki*Rik + Rkj*Rjk;
-
-			///// Inner product between the terms of the strain (Sij*Sij) and rotation tensor (Rij*Rij) ////
-
-			real S2 = Sii*Sii + c2o1 * Sij*Sij + c2o1 * Sik*Sik + Sjj*Sjj + c2o1 * Sjk*Sjk + Skk*Skk;
-			real R2 = c2o1 * Rij*Rij + c2o1 * Rik*Rik + c2o1 * Rjk*Rjk;
-
-			//Computation for the traceless tensor
-
-			real traceTerm = c1o3 * (S2 - R2);
-
-			real S1d, S2d, S3d, S4d, S5d, S6d, S7d, S8d, S9d;
-
-			S1d = S1t + R1t - traceTerm;     S2d = S2t + R2t;                  S3d = S3t + R3t;
-			S4d = S4t + R4t;                 S5d = S5t + R5t - traceTerm;      S6d = S6t + R6t;
-			S7d = S7t + R7t;                 S8d = S8t + R8t;                  S9d = S9t + R9t - traceTerm;
-
-			// Contraction of the traceless tensor
-
-			real SdSd = S1d*S1d + S2d*S2d + S3d*S3d + S4d*S4d + S5d*S5d + S6d*S6d + S7d*S7d + S8d*S8d + S9d*S9d;
-			/////////////// Computing turbulent viscosity ///////////////////////
-
-			//wOper = (real)pow((double)SdSd, 1.5) / ((real)pow((double)S2, 2.5) + (real)pow((double)SdSd, 1.25) + cSmallSingle);// 1e-26f);
-			wOper = (float)pow((double)SdSd, 0.25) / ((float)pow((double)((float)pow((double)S2, 0.5) / ((float)pow((double)SdSd, 0.25) + 1e-10)), 5.0) + 1);
-
-			nuTurb = (Cw*Cw * DelX*DelX) * wOper;
-
-			turbulentViscosity[k] = nuTurb;
-
-			real omega = c1o1 / (c3o1 * (nuOld + nuTurb) + c1o2);
-
-			/////////////      Wale Model     ///////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			{
-				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-				vvx += fx*c1o2;
-				vvy += fy*c1o2;
-				vvz += fz*c1o2;
-			}
-			////////////////////////////////////////////////////////////////////////////////////
-			//real omega = omega_in + nuTurb;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			//////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = 0.01f;// * 0.0001f;
-			real qudricLimitM = 0.01f;// * 0.0001f;
-			real qudricLimitD = 0.01f;// * 0.001f;
-										 ////////////////////////////////////////////////////////////////////////////////////
-										 //Hin
-										 ////////////////////////////////////////////////////////////////////////////////////
-										 // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-										 ////////////////////////////////////////////////////////////////////////////////////
-										 // Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-			////////////////////////////////////////////////////////////
-			//3.
-			//////////////////////////////
-			real OxyyPxzz  = c8o1*(-c2o1+omega)*(c1o1+c2o1*omega)/(-c8o1-c14o1*omega+c7o1*omega*omega);//one;
-			real OxyyMxzz  = c8o1*(-c2o1+omega)*(-c7o1+c4o1*omega)/(c56o1-c50o1*omega+c9o1*omega*omega);//one;
-			real Oxyz      = c24o1*(-c2o1+omega)*(-c2o1-c7o1*omega+c3o1*omega*omega)/(c48o1+c152o1*omega-c130o1*omega*omega+c29o1*omega*omega*omega);//one;
-			////////////////////////////////////////////////////////////
-			//4.
-			//////////////////////////////
-			real O4 = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5 = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6 = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;	//ab 15.05.2015 verwendet
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			//+ c1o27*(one -three/rho +two/(rho*rho)));
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-				mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
-			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
-			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
-			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			CUMacc += O4 * (-CUMacc);
-			CUMcac += O4 * (-CUMcac);
-			CUMcca += O4 * (-CUMcca);
-
-			CUMbbc += O4 * (-CUMbbc);
-			CUMbcb += O4 * (-CUMbcb);
-			CUMcbb += O4 * (-CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho; //ab 15.05.2015 verwendet
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));//(one/rho-one));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));//(one/rho-one));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));//(one/rho-one));
-
-																														  //5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			//+ c1o27*(one -three/rho +two/(rho*rho)));
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;
-			(D.f[dM00])[kw] = mfcbb;
-			(D.f[d0P0])[k] = mfbab;
-			(D.f[d0M0])[ks] = mfbcb;
-			(D.f[d00P])[k] = mfbba;
-			(D.f[d00M])[kb] = mfbbc;
-			(D.f[dPP0])[k] = mfaab;
-			(D.f[dMM0])[ksw] = mfccb;
-			(D.f[dPM0])[ks] = mfacb;
-			(D.f[dMP0])[kw] = mfcab;
-			(D.f[dP0P])[k] = mfaba;
-			(D.f[dM0M])[kbw] = mfcbc;
-			(D.f[dP0M])[kb] = mfabc;
-			(D.f[dM0P])[kw] = mfcba;
-			(D.f[d0PP])[k] = mfbaa;
-			(D.f[d0MM])[kbs] = mfbcc;
-			(D.f[d0PM])[kb] = mfbac;
-			(D.f[d0MP])[ks] = mfbca;
-			(D.f[d000])[k] = mfbbb;
-			(D.f[dPPP])[k] = mfaaa;
-			(D.f[dPMP])[ks] = mfaca;
-			(D.f[dPPM])[kb] = mfaac;
-			(D.f[dPMM])[kbs] = mfacc;
-			(D.f[dMPP])[kw] = mfcaa;
-			(D.f[dMMP])[ksw] = mfcca;
-			(D.f[dMPM])[kbw] = mfcac;
-			(D.f[dMMM])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
-////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
diff --git a/src/gpu/core/GPU/WallFunction.cu b/src/gpu/core/GPU/WallFunction.cu
index 2777a11fd8044e746885586aec3e33fa242642b4..0c81eba65f7c5d8f711bee9499168d4fa73de9bd 100644
--- a/src/gpu/core/GPU/WallFunction.cu
+++ b/src/gpu/core/GPU/WallFunction.cu
@@ -9,19 +9,19 @@ using namespace vf::lbm::dir;
 
 //////////////////////////////////////////////////////////////////////////////
 __global__ void WallFunction27(
-										  real* vx,
-										  real* vy,
-										  real* vz,
-										  real* DD, 
-										  int* k_Q, 
-										  real* QQ,
-										  unsigned int numberOfBCnodes, 
-										  real om1, 
-										  unsigned int* neighborX,
-										  unsigned int* neighborY,
-										  unsigned int* neighborZ,
-										  unsigned long long numberOfLBnodes, 
-										  bool isEvenTimestep)
+                                          real* vx,
+                                          real* vy,
+                                          real* vz,
+                                          real* DD, 
+                                          int* k_Q, 
+                                          real* QQ,
+                                          unsigned int numberOfBCnodes, 
+                                          real om1, 
+                                          unsigned int* neighborX,
+                                          unsigned int* neighborY,
+                                          unsigned int* neighborZ,
+                                          unsigned long long numberOfLBnodes, 
+                                          bool isEvenTimestep)
 {
    Distributions27 D;
    if (isEvenTimestep==true)
@@ -215,21 +215,21 @@ __global__ void WallFunction27(
 
       //real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3) * (one + drho);
 
-	  real nu = c1o3 * (c1o1 / om1 - c1o2);
-	  real qw = c1o1;
-	  real uTau = sqrt(nu * (vx1 - VeloX) / qw);
+      real nu = c1o3 * (c1o1 / om1 - c1o2);
+      real qw = c1o1;
+      real uTau = sqrt(nu * (vx1 - VeloX) / qw);
 
-	  if (abs(uTau)/nu>11){
-	  uTau = vx1 * 0.41 / (log10(9.8 * uTau * qw / nu));
-	  
+      if (abs(uTau)/nu>11){
+      uTau = vx1 * 0.41 / (log10(9.8 * uTau * qw / nu));
+      
 
-	  
-	  vx[k] = vx1 - uTau * uTau * qw / nu;
-	  vx[k] = (vx[k]> 0.05) ? 0.05 : ((vx[k]< -0.05) ? -0.05 : vx[k] );  
-	  }
-	  else{ vx[k]=c0o1; }
-	  //vy[k] = 0.01;							//Test...muss wieder raus
-	  //vz[k] = 0.01;							//Test...muss wieder raus
+      
+      vx[k] = vx1 - uTau * uTau * qw / nu;
+      vx[k] = (vx[k]> 0.05) ? 0.05 : ((vx[k]< -0.05) ? -0.05 : vx[k] );  
+      }
+      else{ vx[k]=c0o1; }
+      //vy[k] = 0.01;                            //Test...muss wieder raus
+      //vz[k] = 0.01;                            //Test...muss wieder raus
 
    //   //////////////////////////////////////////////////////////////////////////
    //   if (isEvenTimestep==false)
@@ -297,7 +297,7 @@ __global__ void WallFunction27(
    //   //(D.f[d000])[k]=c1o10;
    //   ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-	  ////ToDo anders Klammern
+      ////ToDo anders Klammern
 
    //   q = q_dirE[k];
    //   if (q>=zero && q<=one)
diff --git a/src/gpu/core/Init/PositionReader.cpp b/src/gpu/core/Init/PositionReader.cpp
index 2863ce419e1e74a94f9e65ea2546a7bb143241b6..c94ea46acb9aa1d9b86feb77ebbc58c2aa47e431 100644
--- a/src/gpu/core/Init/PositionReader.cpp
+++ b/src/gpu/core/Init/PositionReader.cpp
@@ -9,65 +9,65 @@ 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();
+    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;
-	}
+    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;
+    }
 }
 //////////////////////////////////////////////////////////////////////////
 
@@ -75,59 +75,59 @@ void PositionReader::readFilePropellerCylinderForAlloc(Parameter* para)
 //////////////////////////////////////////////////////////////////////////
 void PositionReader::readFilePropellerCylinder(Parameter* para)
 {
-	UbFileInputASCII in(para->getpropellerCylinder());
-	int test = 0, count = 0;
-	int maxlevel = in.readInteger();
-	in.readLine();
+    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);
-	}
+    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);
+    }
 }
 //////////////////////////////////////////////////////////////////////////
 
@@ -135,56 +135,56 @@ void PositionReader::readFilePropellerCylinder(Parameter* para)
 //////////////////////////////////////////////////////////////////////////
 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;
-			}
-		}
-	}
-	//////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////
+    //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;
+            }
+        }
+    }
+    //////////////////////////////////////////////////////////////////
 }
 //////////////////////////////////////////////////////////////////////////
 
@@ -192,23 +192,23 @@ void PositionReader::definePropellerQs(Parameter* para)
 //////////////////////////////////////////////////////////////////////////
 void PositionReader::readMeasurePoints( Parameter* para ) 
 {
-	UbFileInputASCII in(para->getmeasurePoints());
-	int numberOfAllNodes = in.readInteger();
-	in.readLine();
-	int tempLevel;
-	MeasurePoints tempMP;
-	//printf("done, init the values...\n");
-	for (int u = 0; u < numberOfAllNodes; u++)
-	{
-		tempMP.name = in.readString(); 		
-		//printf("done, read the name...\n");
-		tempMP.k = in.readInteger();
-		//printf("done, read k...\n");
-		tempLevel = in.readInteger();
-		//printf("done, read level...\n");
-		in.readLine();
-		//printf("done, read the values...\n");
-		para->getParH(tempLevel)->MP.push_back(tempMP);
-		//printf("done, put it into a vector...\n");
-	}
+    UbFileInputASCII in(para->getmeasurePoints());
+    int numberOfAllNodes = in.readInteger();
+    in.readLine();
+    int tempLevel;
+    MeasurePoints tempMP;
+    //printf("done, init the values...\n");
+    for (int u = 0; u < numberOfAllNodes; u++)
+    {
+        tempMP.name = in.readString();         
+        //printf("done, read the name...\n");
+        tempMP.k = in.readInteger();
+        //printf("done, read k...\n");
+        tempLevel = in.readInteger();
+        //printf("done, read level...\n");
+        in.readLine();
+        //printf("done, read the values...\n");
+        para->getParH(tempLevel)->MP.push_back(tempMP);
+        //printf("done, put it into a vector...\n");
+    }
 }
diff --git a/src/gpu/core/Init/VfReader.cpp b/src/gpu/core/Init/VfReader.cpp
index 1406abff0ed77399333fda33353f9f231953d3df..8a567200863cfa5ff78c24b04a619cfccf6fa036 100644
--- a/src/gpu/core/Init/VfReader.cpp
+++ b/src/gpu/core/Init/VfReader.cpp
@@ -7,61 +7,61 @@
 ////////////////////////////////////////////////////////////////////////////////
 void readPropellerCylinder(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	PositionReader::readFilePropellerCylinderForAlloc(para);
+    PositionReader::readFilePropellerCylinderForAlloc(para);
 
-	cudaMemoryManager->cudaAllocVeloPropeller(para->getFine());
+    cudaMemoryManager->cudaAllocVeloPropeller(para->getFine());
 
-	PositionReader::readFilePropellerCylinder(para);
-	//PositionReader::definePropellerQs(para);
+    PositionReader::readFilePropellerCylinder(para);
+    //PositionReader::definePropellerQs(para);
 
-	cudaMemoryManager->cudaCopyVeloPropeller(para->getFine());
+    cudaMemoryManager->cudaCopyVeloPropeller(para->getFine());
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 void readMeasurePoints(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	//read measure points from file
-	PositionReader::readMeasurePoints(para);
-	//printf("done, reading the file...\n");
-	//level loop
-	for (int lev = 0; lev <= para->getMaxLevel(); lev++)
-	{
-		//set Memory Size and malloc of the indices and macroscopic values per level
-		para->getParH(lev)->numberOfValuesMP = (unsigned int)para->getParH(lev)->MP.size()*(unsigned int)para->getclockCycleForMP()/((unsigned int)para->getTimestepForMP());
-		para->getParD(lev)->numberOfValuesMP = para->getParH(lev)->numberOfValuesMP;
-
-		para->getParH(lev)->numberOfPointskMP = (int)para->getParH(lev)->MP.size();
-		para->getParD(lev)->numberOfPointskMP = para->getParH(lev)->numberOfPointskMP;
-
-		para->getParH(lev)->memSizeIntkMP = sizeof(unsigned int)*(int)para->getParH(lev)->MP.size();
-		para->getParD(lev)->memSizeIntkMP = para->getParH(lev)->memSizeIntkMP;
-
-		para->getParH(lev)->memSizerealkMP = sizeof(real)*para->getParH(lev)->numberOfValuesMP;
-		para->getParD(lev)->memSizerealkMP = para->getParH(lev)->memSizerealkMP;		
-		
-		printf("Level: %d, numberOfValuesMP: %d, memSizeIntkMP: %d, memSizerealkMP: %d\n",lev,para->getParH(lev)->numberOfValuesMP,para->getParH(lev)->memSizeIntkMP, para->getParD(lev)->memSizerealkMP);
-
-		cudaMemoryManager->cudaAllocMeasurePointsIndex(lev);
-
-		//loop over all measure points per level 
-		for(int index = 0; index < (int)para->getParH(lev)->MP.size(); index++)
-		{
-			//set indices
-			para->getParH(lev)->kMP[index] = para->getParH(lev)->MP[index].k;
-		}
-		//loop over all measure points per level times MPClockCycle
-		for(int index = 0; index < (int)para->getParH(lev)->numberOfValuesMP; index++)
-		{
-			//init values
-			para->getParH(lev)->VxMP[index]  = (real)0.0;
-			para->getParH(lev)->VyMP[index]  = (real)0.0;
-			para->getParH(lev)->VzMP[index]  = (real)0.0;
-			para->getParH(lev)->RhoMP[index] = (real)0.0;
-		}
-
-		//copy indices-arrays
-		cudaMemoryManager->cudaCopyMeasurePointsIndex(lev);
-	}
+    //read measure points from file
+    PositionReader::readMeasurePoints(para);
+    //printf("done, reading the file...\n");
+    //level loop
+    for (int lev = 0; lev <= para->getMaxLevel(); lev++)
+    {
+        //set Memory Size and malloc of the indices and macroscopic values per level
+        para->getParH(lev)->numberOfValuesMP = (unsigned int)para->getParH(lev)->MP.size()*(unsigned int)para->getclockCycleForMP()/((unsigned int)para->getTimestepForMP());
+        para->getParD(lev)->numberOfValuesMP = para->getParH(lev)->numberOfValuesMP;
+
+        para->getParH(lev)->numberOfPointskMP = (int)para->getParH(lev)->MP.size();
+        para->getParD(lev)->numberOfPointskMP = para->getParH(lev)->numberOfPointskMP;
+
+        para->getParH(lev)->memSizeIntkMP = sizeof(unsigned int)*(int)para->getParH(lev)->MP.size();
+        para->getParD(lev)->memSizeIntkMP = para->getParH(lev)->memSizeIntkMP;
+
+        para->getParH(lev)->memSizerealkMP = sizeof(real)*para->getParH(lev)->numberOfValuesMP;
+        para->getParD(lev)->memSizerealkMP = para->getParH(lev)->memSizerealkMP;        
+        
+        printf("Level: %d, numberOfValuesMP: %d, memSizeIntkMP: %d, memSizerealkMP: %d\n",lev,para->getParH(lev)->numberOfValuesMP,para->getParH(lev)->memSizeIntkMP, para->getParD(lev)->memSizerealkMP);
+
+        cudaMemoryManager->cudaAllocMeasurePointsIndex(lev);
+
+        //loop over all measure points per level 
+        for(int index = 0; index < (int)para->getParH(lev)->MP.size(); index++)
+        {
+            //set indices
+            para->getParH(lev)->kMP[index] = para->getParH(lev)->MP[index].k;
+        }
+        //loop over all measure points per level times MPClockCycle
+        for(int index = 0; index < (int)para->getParH(lev)->numberOfValuesMP; index++)
+        {
+            //init values
+            para->getParH(lev)->VxMP[index]  = (real)0.0;
+            para->getParH(lev)->VyMP[index]  = (real)0.0;
+            para->getParH(lev)->VzMP[index]  = (real)0.0;
+            para->getParH(lev)->RhoMP[index] = (real)0.0;
+        }
+
+        //copy indices-arrays
+        cudaMemoryManager->cudaCopyMeasurePointsIndex(lev);
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////
 
diff --git a/src/gpu/core/Kernel/AdvectionDiffusionKernel.h b/src/gpu/core/Kernel/AdvectionDiffusionKernel.h
index b83cff408eb1538eb7ddfee6ce0b73e16c7eefb2..adc3db779531ffad7918426bbd5a73d2d133182c 100644
--- a/src/gpu/core/Kernel/AdvectionDiffusionKernel.h
+++ b/src/gpu/core/Kernel/AdvectionDiffusionKernel.h
@@ -5,6 +5,8 @@
 
 class AdvectionDiffusionKernel : public KernelImp
 {
-	virtual void run() = 0;
+public:
+    virtual ~AdvectionDiffusionKernel() = default;
+    virtual void run() = 0;
 };
-#endif 
\ No newline at end of file
+#endif
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion.h b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion.h
deleted file mode 100644
index 5eda04602ce24aa5f2bac5c6043aee7f7dcc47c6..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef F16CompressibleAdvectionDiffusion_H
-#define F16CompressibleAdvectionDiffusion_H
-
-#include "Kernel/AdvectionDiffusionKernel.h"
-
-class F16CompressibleAdvectionDiffusion : public AdvectionDiffusionKernel
-{
-public:
-	static std::shared_ptr<F16CompressibleAdvectionDiffusion> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	F16CompressibleAdvectionDiffusion();
-	F16CompressibleAdvectionDiffusion(std::shared_ptr< Parameter> para, int level);
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion_Device.cu b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion_Device.cu
deleted file mode 100644
index d11c715ad26230d95176990f84744d9c3faf145a..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion_Device.cu
+++ /dev/null
@@ -1,806 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void F16CompressibleAdvectionDiffusion_Device(real diffusivity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* DD27,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			Distributions27 D27;
-			if (EvenOrOdd == true)
-			{
-				D27.f[dP00] = &DD27[dP00 * size_Mat];
-				D27.f[dM00] = &DD27[dM00 * size_Mat];
-				D27.f[d0P0] = &DD27[d0P0 * size_Mat];
-				D27.f[d0M0] = &DD27[d0M0 * size_Mat];
-				D27.f[d00P] = &DD27[d00P * size_Mat];
-				D27.f[d00M] = &DD27[d00M * size_Mat];
-				D27.f[dPP0] = &DD27[dPP0 * size_Mat];
-				D27.f[dMM0] = &DD27[dMM0 * size_Mat];
-				D27.f[dPM0] = &DD27[dPM0 * size_Mat];
-				D27.f[dMP0] = &DD27[dMP0 * size_Mat];
-				D27.f[dP0P] = &DD27[dP0P * size_Mat];
-				D27.f[dM0M] = &DD27[dM0M * size_Mat];
-				D27.f[dP0M] = &DD27[dP0M * size_Mat];
-				D27.f[dM0P] = &DD27[dM0P * size_Mat];
-				D27.f[d0PP] = &DD27[d0PP * size_Mat];
-				D27.f[d0MM] = &DD27[d0MM * size_Mat];
-				D27.f[d0PM] = &DD27[d0PM * size_Mat];
-				D27.f[d0MP] = &DD27[d0MP * size_Mat];
-				D27.f[d000] = &DD27[d000 * size_Mat];
-				D27.f[dPPP] = &DD27[dPPP * size_Mat];
-				D27.f[dMMP] = &DD27[dMMP * size_Mat];
-				D27.f[dPMP] = &DD27[dPMP * size_Mat];
-				D27.f[dMPP] = &DD27[dMPP * size_Mat];
-				D27.f[dPPM] = &DD27[dPPM * size_Mat];
-				D27.f[dMMM] = &DD27[dMMM * size_Mat];
-				D27.f[dPMM] = &DD27[dPMM * size_Mat];
-				D27.f[dMPM] = &DD27[dMPM * size_Mat];
-			}
-			else
-			{
-				D27.f[dM00] = &DD27[dP00 * size_Mat];
-				D27.f[dP00] = &DD27[dM00 * size_Mat];
-				D27.f[d0M0] = &DD27[d0P0 * size_Mat];
-				D27.f[d0P0] = &DD27[d0M0 * size_Mat];
-				D27.f[d00M] = &DD27[d00P * size_Mat];
-				D27.f[d00P] = &DD27[d00M * size_Mat];
-				D27.f[dMM0] = &DD27[dPP0 * size_Mat];
-				D27.f[dPP0] = &DD27[dMM0 * size_Mat];
-				D27.f[dMP0] = &DD27[dPM0 * size_Mat];
-				D27.f[dPM0] = &DD27[dMP0 * size_Mat];
-				D27.f[dM0M] = &DD27[dP0P * size_Mat];
-				D27.f[dP0P] = &DD27[dM0M * size_Mat];
-				D27.f[dM0P] = &DD27[dP0M * size_Mat];
-				D27.f[dP0M] = &DD27[dM0P * size_Mat];
-				D27.f[d0MM] = &DD27[d0PP * size_Mat];
-				D27.f[d0PP] = &DD27[d0MM * size_Mat];
-				D27.f[d0MP] = &DD27[d0PM * size_Mat];
-				D27.f[d0PM] = &DD27[d0MP * size_Mat];
-				D27.f[d000] = &DD27[d000 * size_Mat];
-				D27.f[dMMM] = &DD27[dPPP * size_Mat];
-				D27.f[dPPM] = &DD27[dMMP * size_Mat];
-				D27.f[dMPM] = &DD27[dPMP * size_Mat];
-				D27.f[dPMM] = &DD27[dMPP * size_Mat];
-				D27.f[dMMP] = &DD27[dPPM * size_Mat];
-				D27.f[dPPP] = &DD27[dMMM * size_Mat];
-				D27.f[dMPP] = &DD27[dPMM * size_Mat];
-				D27.f[dPMP] = &DD27[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw = neighborX[k];
-			unsigned int ks = neighborY[k];
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			unsigned int kbw = neighborZ[kw];
-			unsigned int kbs = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real fW = (D.f[dP00])[k];//ke
-			real fE = (D.f[dM00])[kw];
-			real fS = (D.f[d0P0])[k];//kn
-			real fN = (D.f[d0M0])[ks];
-			real fB = (D.f[d00P])[k];//kt
-			real fT = (D.f[d00M])[kb];
-			real fSW = (D.f[dPP0])[k];//kne
-			real fNE = (D.f[dMM0])[ksw];
-			real fNW = (D.f[dPM0])[ks];//kse
-			real fSE = (D.f[dMP0])[kw];//knw
-			real fBW = (D.f[dP0P])[k];//kte
-			real fTE = (D.f[dM0M])[kbw];
-			real fTW = (D.f[dP0M])[kb];//kbe
-			real fBE = (D.f[dM0P])[kw];//ktw
-			real fBS = (D.f[d0PP])[k];//ktn
-			real fTN = (D.f[d0MM])[kbs];
-			real fTS = (D.f[d0PM])[kb];//kbn
-			real fBN = (D.f[d0MP])[ks];//kts
-			real fZERO = (D.f[d000])[k];//kzero
-			real fBSW = (D.f[dPPP])[k];//ktne
-			real fBNE = (D.f[dMMP])[ksw];//ktsw
-			real fBNW = (D.f[dPMP])[ks];//ktse
-			real fBSE = (D.f[dMPP])[kw];//ktnw
-			real fTSW = (D.f[dPPM])[kb];//kbne
-			real fTNE = (D.f[dMMM])[kbsw];
-			real fTNW = (D.f[dPMM])[kbs];//kbse
-			real fTSE = (D.f[dMPM])[kbw];//kbnw
-										   ////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D27.f[dP00])[k];
-			real mfabb = (D27.f[dM00])[kw];
-			real mfbcb = (D27.f[d0P0])[k];
-			real mfbab = (D27.f[d0M0])[ks];
-			real mfbbc = (D27.f[d00P])[k];
-			real mfbba = (D27.f[d00M])[kb];
-			real mfccb = (D27.f[dPP0])[k];
-			real mfaab = (D27.f[dMM0])[ksw];
-			real mfcab = (D27.f[dPM0])[ks];
-			real mfacb = (D27.f[dMP0])[kw];
-			real mfcbc = (D27.f[dP0P])[k];
-			real mfaba = (D27.f[dM0M])[kbw];
-			real mfcba = (D27.f[dP0M])[kb];
-			real mfabc = (D27.f[dM0P])[kw];
-			real mfbcc = (D27.f[d0PP])[k];
-			real mfbaa = (D27.f[d0MM])[kbs];
-			real mfbca = (D27.f[d0PM])[kb];
-			real mfbac = (D27.f[d0MP])[ks];
-			real mfbbb = (D27.f[d000])[k];
-			real mfccc = (D27.f[dPPP])[k];
-			real mfaac = (D27.f[dMMP])[ksw];
-			real mfcac = (D27.f[dPMP])[ks];
-			real mfacc = (D27.f[dMPP])[kw];
-			real mfcca = (D27.f[dPPM])[kb];
-			real mfaaa = (D27.f[dMMM])[kbsw];
-			real mfcaa = (D27.f[dPMM])[kbs];
-			real mfaca = (D27.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			//Conc
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb)) + (mfbba + mfbbc)) + mfbbb;
-
-			//real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////
-			real rho0fluid = (fTNE + fBSW) + (fTSW + fBNE) + (fTSE + fBNW) + (fTNW + fBSE) + (fNE + fSW) + (fNW + fSE) + (fTE + fBW) + (fBE + fTW) + (fTN + fBS) + (fBN + fTS) + (fE + fW) + (fN + fS) + (fT + fB) + fZERO;
-			real rhofluid = rho0fluid + c1o1;
-			real OORhofluid = c1o1 / rhofluid;
-			real vvx = OORhofluid*((fTNE - fBSW) + (fBNE - fTSW) + (fTSE - fBNW) + (fBSE - fTNW) + (fNE - fSW) + (fSE - fNW) + (fTE - fBW) + (fBE - fTW) + (fE - fW));
-			real vvy = OORhofluid*((fTNE - fBSW) + (fBNE - fTSW) + (fBNW - fTSE) + (fTNW - fBSE) + (fNE - fSW) + (fNW - fSE) + (fTN - fBS) + (fBN - fTS) + (fN - fS));
-			real vvz = OORhofluid*((fTNE - fBSW) + (fTSW - fBNE) + (fTSE - fBNW) + (fTNW - fBSE) + (fTE - fBW) + (fTW - fBE) + (fTN - fBS) + (fTS - fBN) + (fT - fB));
-			////////////////////////////////////////////////////////////////////////////////
-			//real omegaD     = zero;
-			real omegaD = c2o1 / (c6o1 * diffusivity + c1o1);
-
-			real oMdrho = c0o1;//one; // comp special
-			real m0, m1, m2;
-			real vx2 = vvx*vvx;
-			real vy2 = vvy*vvy;
-			real vz2 = vvz*vvz;
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-			//if(mfaaa < zero) omegaD = one;
-			real limit = c9o1*omegaD*omegaD*(mfbaa*mfbaa + mfaba*mfaba + mfaab*mfaab);
-			//real CC=c1o2;
-			//if ((two*mfaaa*mfaaa<limit)) omegaD=two / (six * (diffusivity+((limit/(1.0e-10f+two*mfaaa*mfaaa)-one)*(c1o6-diffusivity))*c1o2) + one);
-			if ((c2o1*mfaaa*mfaaa<limit)) omegaD = c1o1;
-			//omegaD = two / (six * (diffusivity+CC*limit) + one);
-
-			//mfaaa = c1o2;
-			//trans 3.
-			real Mabc = mfabc - mfaba*c1o3;
-			real Mbca = mfbca - mfbaa*c1o3;
-			real Macb = mfacb - mfaab*c1o3;
-			real Mcba = mfcba - mfaba*c1o3;
-			real Mcab = mfcab - mfaab*c1o3;
-			real Mbac = mfbac - mfbaa*c1o3;
-			//trans 5.
-			real Mcbc = mfcbc - mfaba*c1o9;
-			real Mbcc = mfbcc - mfbaa*c1o9;
-			real Mccb = mfccb - mfaab*c1o9;
-
-			//1.
-			mfbaa *= c1o1 - omegaD;
-			mfaba *= c1o1 - omegaD;
-			mfaab *= c1o1 - omegaD;
-
-			//3.
-			//mfbca *= one - omegaD;
-			//mfbac *= one - omegaD;
-			//mfcba *= one - omegaD;
-			//mfabc *= one - omegaD;
-			//mfcab *= one - omegaD;
-			//mfacb *= one - omegaD;
-
-			//mfbbb *= one - omegaD; 
-			Mabc = c0o1;
-			Mbca = c0o1;
-			Macb = c0o1;
-			Mcba = c0o1;
-			Mcab = c0o1;
-			Mbac = c0o1;
-			mfbbb = c0o1;
-
-			//5.
-			//mfbcc *= one - omegaD;
-			//mfcbc *= one - omegaD;
-			//mfccb *= one - omegaD;
-			Mcbc = c0o1;
-			Mbcc = c0o1;
-			Mccb = c0o1;
-
-			//2.
-			mfbba = c0o1;
-			mfbab = c0o1;
-			mfabb = c0o1;
-
-			mfcaa = c1o3 * drho;
-			mfaca = c1o3 * drho;
-			mfaac = c1o3 * drho;
-
-			//4.
-			mfacc = c1o9 * drho;
-			mfcac = c1o9 * drho;
-			mfcca = c1o9 * drho;
-
-			mfcbb = c0o1;
-			mfbcb = c0o1;
-			mfbbc = c0o1;
-
-			//6.
-			mfccc = c1o27 * drho;
-
-			//3.
-			mfabc = Mabc + mfaba*c1o3;
-			mfbca = Mbca + mfbaa*c1o3;
-			mfacb = Macb + mfaab*c1o3;
-			mfcba = Mcba + mfaba*c1o3;
-			mfcab = Mcab + mfaab*c1o3;
-			mfbac = Mbac + mfbaa*c1o3;
-			//5.	  
-			mfcbc = Mcbc + mfaba*c1o9;
-			mfbcc = Mbcc + mfbaa*c1o9;
-			mfccb = Mccb + mfaab*c1o9;
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D27.f[dP00])[k] = mfabb;
-			(D27.f[dM00])[kw] = mfcbb;
-			(D27.f[d0P0])[k] = mfbab;
-			(D27.f[d0M0])[ks] = mfbcb;
-			(D27.f[d00P])[k] = mfbba;
-			(D27.f[d00M])[kb] = mfbbc;
-			(D27.f[dPP0])[k] = mfaab;
-			(D27.f[dMM0])[ksw] = mfccb;
-			(D27.f[dPM0])[ks] = mfacb;
-			(D27.f[dMP0])[kw] = mfcab;
-			(D27.f[dP0P])[k] = mfaba;
-			(D27.f[dM0M])[kbw] = mfcbc;
-			(D27.f[dP0M])[kb] = mfabc;
-			(D27.f[dM0P])[kw] = mfcba;
-			(D27.f[d0PP])[k] = mfbaa;
-			(D27.f[d0MM])[kbs] = mfbcc;
-			(D27.f[d0PM])[kb] = mfbac;
-			(D27.f[d0MP])[ks] = mfbca;
-			(D27.f[d000])[k] = mfbbb;
-			(D27.f[dPPP])[k] = mfaaa;
-			(D27.f[dPMP])[ks] = mfaca;
-			(D27.f[dPPM])[kb] = mfaac;
-			(D27.f[dPMM])[kbs] = mfacc;
-			(D27.f[dMPP])[kw] = mfcaa;
-			(D27.f[dMMP])[ksw] = mfcca;
-			(D27.f[dMPM])[kbw] = mfcac;
-			(D27.f[dMMM])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion_Device.cuh b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion_Device.cuh
deleted file mode 100644
index 603d623093a5e7da835c8d03e23c1441f0e673ba..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion_Device.cuh
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef F16CompressibleAdvectionDiffusion_Device_H
-#define F16CompressibleAdvectionDiffusion_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void F16CompressibleAdvectionDiffusion_Device(real diffusivity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* DD27,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7.cu b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7.cu
deleted file mode 100644
index 21b4a09320085086849f7b89782c44c582c20867..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7.cu
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "B12CompressibleAdvectionDiffusionD3Q7.h"
-
-#include "B12CompressibleAdvectionDiffusionD3Q7_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<B12CompressibleAdvectionDiffusionD3Q7> B12CompressibleAdvectionDiffusionD3Q7::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<B12CompressibleAdvectionDiffusionD3Q7>(new B12CompressibleAdvectionDiffusionD3Q7(para, level));
-}
-
-void B12CompressibleAdvectionDiffusionD3Q7::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    B12CompressibleAdvectionDiffusionD3Q7_Device<<< grid.grid, grid.threads >>>(
-        para->getParD(level)->diffusivity,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0], 
-        para->getParD(level)->distributionsAD7.f[0], 
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("B12CompressibleAdvectionDiffusionD3Q7_Device execution failed");
-}
-
-B12CompressibleAdvectionDiffusionD3Q7::B12CompressibleAdvectionDiffusionD3Q7(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompAD7);
-
-}
-
-B12CompressibleAdvectionDiffusionD3Q7::B12CompressibleAdvectionDiffusionD3Q7()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7.h b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7.h
deleted file mode 100644
index a54791dfd03201867120f3f885a201223fe4b151..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef B12CompressibleAdvectionDiffusionD3Q7_H
-#define B12CompressibleAdvectionDiffusionD3Q7_H
-
-#include "Kernel/AdvectionDiffusionKernel.h"
-
-class B12CompressibleAdvectionDiffusionD3Q7 : public AdvectionDiffusionKernel
-{
-public:
-	static std::shared_ptr<B12CompressibleAdvectionDiffusionD3Q7> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	B12CompressibleAdvectionDiffusionD3Q7();
-	B12CompressibleAdvectionDiffusionD3Q7(std::shared_ptr< Parameter> para, int level);
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7_Device.cu b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7_Device.cu
deleted file mode 100644
index d13c7d4f036c579d08192155811972061a2e7d96..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7_Device.cu
+++ /dev/null
@@ -1,222 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-
-#include "math.h"
-
-__global__ void B12CompressibleAdvectionDiffusionD3Q7_Device(real diffusivity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* DD7,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			Distributions7 D7;
-			if (EvenOrOdd == true)
-			{
-				D7.f[0] = &DD7[0 * size_Mat];
-				D7.f[1] = &DD7[1 * size_Mat];
-				D7.f[2] = &DD7[2 * size_Mat];
-				D7.f[3] = &DD7[3 * size_Mat];
-				D7.f[4] = &DD7[4 * size_Mat];
-				D7.f[5] = &DD7[5 * size_Mat];
-				D7.f[6] = &DD7[6 * size_Mat];
-			}
-			else
-			{
-				D7.f[0] = &DD7[0 * size_Mat];
-				D7.f[2] = &DD7[1 * size_Mat];
-				D7.f[1] = &DD7[2 * size_Mat];
-				D7.f[4] = &DD7[3 * size_Mat];
-				D7.f[3] = &DD7[4 * size_Mat];
-				D7.f[6] = &DD7[5 * size_Mat];
-				D7.f[5] = &DD7[6 * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw = neighborX[k];
-			unsigned int ks = neighborY[k];
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			unsigned int kbw = neighborZ[kw];
-			unsigned int kbs = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real fW = (D.f[dP00])[k];//ke
-			real fE = (D.f[dM00])[kw];
-			real fS = (D.f[d0P0])[k];//kn
-			real fN = (D.f[d0M0])[ks];
-			real fB = (D.f[d00P])[k];//kt
-			real fT = (D.f[d00M])[kb];
-			real fSW = (D.f[dPP0])[k];//kne
-			real fNE = (D.f[dMM0])[ksw];
-			real fNW = (D.f[dPM0])[ks];//kse
-			real fSE = (D.f[dMP0])[kw];//knw
-			real fBW = (D.f[dP0P])[k];//kte
-			real fTE = (D.f[dM0M])[kbw];
-			real fTW = (D.f[dP0M])[kb];//kbe
-			real fBE = (D.f[dM0P])[kw];//ktw
-			real fBS = (D.f[d0PP])[k];//ktn
-			real fTN = (D.f[d0MM])[kbs];
-			real fTS = (D.f[d0PM])[kb];//kbn
-			real fBN = (D.f[d0MP])[ks];//kts
-			real fZERO = (D.f[d000])[k];//kzero
-			real fBSW = (D.f[dPPP])[k];//ktne
-			real fBNE = (D.f[dMMP])[ksw];//ktsw
-			real fBNW = (D.f[dPMP])[ks];//ktse
-			real fBSE = (D.f[dMPP])[kw];//ktnw
-			real fTSW = (D.f[dPPM])[kb];//kbne
-			real fTNE = (D.f[dMMM])[kbsw];
-			real fTNW = (D.f[dPMM])[kbs];//kbse
-			real fTSE = (D.f[dMPM])[kbw];//kbnw
-										   //real fE    =  (D.f[dP00])[k  ];//ke
-										   //real fW    =  (D.f[dM00])[kw ];
-										   //real fN    =  (D.f[d0P0])[k  ];//kn
-										   //real fS    =  (D.f[d0M0])[ks ];
-										   //real fT    =  (D.f[d00P])[k  ];//kt
-										   //real fB    =  (D.f[d00M])[kb ];
-										   //real fNE   =  (D.f[dPP0])[k  ];//kne
-										   //real fSW   =  (D.f[dMM0])[ksw];
-										   //real fSE   =  (D.f[dPM0])[ks ];//kse
-										   //real fNW   =  (D.f[dMP0])[kw ];//knw
-										   //real fTE   =  (D.f[dP0P])[k  ];//kte
-										   //real fBW   =  (D.f[dM0M])[kbw];
-										   //real fBE   =  (D.f[dP0M])[kb ];//kbe
-										   //real fTW   =  (D.f[dM0P])[kw ];//ktw
-										   //real fTN   =  (D.f[d0PP])[k  ];//ktn
-										   //real fBS   =  (D.f[d0MM])[kbs];
-										   //real fBN   =  (D.f[d0PM])[kb ];//kbn
-										   //real fTS   =  (D.f[d0MP])[ks ];//kts
-										   //real fZERO =  (D.f[d000])[k  ];//kzero
-										   //real fTNE   = (D.f[dPPP])[k  ];//ktne
-										   //real fTSW   = (D.f[dMMP])[ksw];//ktsw
-										   //real fTSE   = (D.f[dPMP])[ks ];//ktse
-										   //real fTNW   = (D.f[dMPP])[kw ];//ktnw
-										   //real fBNE   = (D.f[dPPM])[kb ];//kbne
-										   //real fBSW   = (D.f[dMMM])[kbsw];
-										   //real fBSE   = (D.f[dPMM])[kbs];//kbse
-										   //real fBNW   = (D.f[dMPM])[kbw];//kbnw
-										   ////////////////////////////////////////////////////////////////////////////////
-			real f7ZERO = (D7.f[0])[k];
-			real f7E = (D7.f[1])[k];
-			real f7W = (D7.f[2])[kw];
-			real f7N = (D7.f[3])[k];
-			real f7S = (D7.f[4])[ks];
-			real f7T = (D7.f[5])[k];
-			real f7B = (D7.f[6])[kb];
-			////////////////////////////////////////////////////////////////////////////////
-			real rho0 = (fTNE + fBSW) + (fTSW + fBNE) + (fTSE + fBNW) + (fTNW + fBSE) + (fNE + fSW) + (fNW + fSE) + (fTE + fBW) + (fBE + fTW) + (fTN + fBS) + (fBN + fTS) + (fE + fW) + (fN + fS) + (fT + fB) + fZERO;
-			real rho = rho0 + c1o1;
-			real OORho = c1o1 / rho;
-			real vx = OORho*((fTNE - fBSW) + (fBNE - fTSW) + (fTSE - fBNW) + (fBSE - fTNW) + (fNE - fSW) + (fSE - fNW) + (fTE - fBW) + (fBE - fTW) + (fE - fW));
-			real vy = OORho*((fTNE - fBSW) + (fBNE - fTSW) + (fBNW - fTSE) + (fTNW - fBSE) + (fNE - fSW) + (fNW - fSE) + (fTN - fBS) + (fBN - fTS) + (fN - fS));
-			real vz = OORho*((fTNE - fBSW) + (fTSW - fBNE) + (fTSE - fBNW) + (fTNW - fBSE) + (fTE - fBW) + (fTW - fBE) + (fTN - fBS) + (fTS - fBN) + (fT - fB));
-			////////////////////////////////////////////////////////////////////////////////
-			real omegaD = -c3o1 + sqrt(c3o1);
-			real Lam = -(c1o2 + c1o1 / omegaD);
-			real nue_d = Lam / c3o1;
-			real ae = diffusivity / nue_d - c1o1;
-			real ux_sq = vx * vx;
-			real uy_sq = vy * vy;
-			real uz_sq = vz * vz;
-
-			real ConcD = f7ZERO + f7E + f7W + f7N + f7S + f7T + f7B;
-
-			(D7.f[0])[k] = f7ZERO*(c1o1 + omegaD) - omegaD*ConcD*(c1o3*(ae*(-c3o1)) - (ux_sq + uy_sq + uz_sq));
-			(D7.f[2])[kw] = f7E   *(c1o1 + omegaD) - omegaD*ConcD*(c1o6*(ae + c1o1) + c1o2*(ux_sq)+vx*c1o2);
-			(D7.f[1])[k] = f7W   *(c1o1 + omegaD) - omegaD*ConcD*(c1o6*(ae + c1o1) + c1o2*(ux_sq)-vx*c1o2);
-			(D7.f[4])[ks] = f7N   *(c1o1 + omegaD) - omegaD*ConcD*(c1o6*(ae + c1o1) + c1o2*(uy_sq)+vy*c1o2);
-			(D7.f[3])[k] = f7S   *(c1o1 + omegaD) - omegaD*ConcD*(c1o6*(ae + c1o1) + c1o2*(uy_sq)-vy*c1o2);
-			(D7.f[6])[kb] = f7T   *(c1o1 + omegaD) - omegaD*ConcD*(c1o6*(ae + c1o1) + c1o2*(uz_sq)+vz*c1o2);
-			(D7.f[5])[k] = f7B   *(c1o1 + omegaD) - omegaD*ConcD*(c1o6*(ae + c1o1) + c1o2*(uz_sq)-vz*c1o2);
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7_Device.cuh b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7_Device.cuh
deleted file mode 100644
index 1d7dd2f9815981c2912f175ea12533d6888f8883..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7_Device.cuh
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef B12CompressibleAdvectionDiffusionD3Q7_Device_H
-#define B12CompressibleAdvectionDiffusionD3Q7_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void B12CompressibleAdvectionDiffusionD3Q7_Device(real diffusivity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* DD7,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion.cu b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion.cu
similarity index 80%
rename from src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion.cu
rename to src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion.cu
index 5546da0323d140d9240e7cbbde7a6c82f49c534e..e8ff6ea34e7ae03f191f3810dc31ba31c6819df2 100644
--- a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion.cu
+++ b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<F16CompressibleAdvectionDiffusion> F16CompressibleAdvectionDiffusion::getNewInstance(std::shared_ptr<Parameter> para, int level)
 {
-	return std::shared_ptr<F16CompressibleAdvectionDiffusion>(new F16CompressibleAdvectionDiffusion(para, level));
+    return std::shared_ptr<F16CompressibleAdvectionDiffusion>(new F16CompressibleAdvectionDiffusion(para, level));
 }
 
 void F16CompressibleAdvectionDiffusion::run()
@@ -21,17 +21,18 @@ void F16CompressibleAdvectionDiffusion::run()
         para->getParD(level)->neighborZ,
         para->getParD(level)->distributions.f[0],
         para->getParD(level)->distributionsAD.f[0],
-        para->getParD(level)->numberOfNodes,
+        para->getParD(level)->numberOfNodes, 
+        para->getParD(level)->forcing,
         para->getParD(level)->isEvenTimestep);
     getLastCudaError("F16CompressibleAdvectionDiffusion_Device execution failed");
 }
 
 F16CompressibleAdvectionDiffusion::F16CompressibleAdvectionDiffusion(std::shared_ptr<Parameter> para, int level)
 {
-	this->para = para;
-	this->level = level;
+    this->para = para;
+    this->level = level;
 
-	myPreProcessorTypes.push_back(InitCompAD27);
+    myPreProcessorTypes.push_back(InitCompAD27);
 
 }
 
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion.h b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion.h
new file mode 100644
index 0000000000000000000000000000000000000000..fa4d7db685627e084a83bdc56db6b8d87cb8ce32
--- /dev/null
+++ b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion.h
@@ -0,0 +1,16 @@
+#ifndef F16CompressibleAdvectionDiffusion_H
+#define F16CompressibleAdvectionDiffusion_H
+
+#include "Kernel/AdvectionDiffusionKernel.h"
+
+class F16CompressibleAdvectionDiffusion : public AdvectionDiffusionKernel
+{
+public:
+    static std::shared_ptr<F16CompressibleAdvectionDiffusion> getNewInstance(std::shared_ptr< Parameter> para, int level);
+    void run();
+
+private:
+    F16CompressibleAdvectionDiffusion();
+    F16CompressibleAdvectionDiffusion(std::shared_ptr< Parameter> para, int level);
+};
+#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion_Device.cu b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion_Device.cu
new file mode 100644
index 0000000000000000000000000000000000000000..dbd9a6bf32329b0e35cb9aaa0c0d08ca70d083f5
--- /dev/null
+++ b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion_Device.cu
@@ -0,0 +1,478 @@
+#include "LBM/LB.h" 
+#include <lbm/constants/D3Q27.h>
+#include <lbm/ChimeraTransformation.h>
+#include <basics/constants/NumericConstants.h>
+
+using namespace vf::basics::constant;
+using namespace vf::lbm;
+using namespace vf::lbm::dir;
+#include "math.h"
+
+__global__ void F16CompressibleAdvectionDiffusion_Device(
+    real omegaDiffusivity,
+    uint* typeOfGridNode,
+    uint* neighborX,
+    uint* neighborY,
+    uint* neighborZ,
+    real* distributions,
+    real* distributionsAD,
+    unsigned long long numberOfLBnodes,
+    real* forces,
+    bool isEvenTimestep)
+{
+    //////////////////////////////////////////////////////////////////////////
+    //! Cumulant K17 Kernel is based on \ref
+    //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
+    //! and \ref
+    //! <a href="https://doi.org/10.1016/j.jcp.2017.07.004"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.07.004 ]</b></a>
+    //!
+    //! The cumulant kernel is executed in the following steps
+    //!
+    ////////////////////////////////////////////////////////////////////////////////
+    //! - Get node index coordinates from threadIdx, blockIdx, blockDim and gridDim.
+    //!
+    const unsigned  x = threadIdx.x;
+    const unsigned  y = blockIdx.x;
+    const unsigned  z = blockIdx.y;
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+
+    //////////////////////////////////////////////////////////////////////////
+    // run for all indices in size_Mat and fluid nodes
+    if ((k < numberOfLBnodes) && (typeOfGridNode[k] == GEO_FLUID))
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //! - Read distributions: style of reading and writing the distributions from/to stored arrays dependent on timestep is based on the esoteric twist algorithm \ref
+        //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), DOI:10.3390/computation5020019 ]</b></a>
+        //!
+        Distributions27 dist;
+        if (isEvenTimestep)
+        {
+            dist.f[dP00] = &distributions[dP00 * numberOfLBnodes];
+            dist.f[dM00] = &distributions[dM00 * numberOfLBnodes];
+            dist.f[d0P0] = &distributions[d0P0 * numberOfLBnodes];
+            dist.f[d0M0] = &distributions[d0M0 * numberOfLBnodes];
+            dist.f[d00P] = &distributions[d00P * numberOfLBnodes];
+            dist.f[d00M] = &distributions[d00M * numberOfLBnodes];
+            dist.f[dPP0] = &distributions[dPP0 * numberOfLBnodes];
+            dist.f[dMM0] = &distributions[dMM0 * numberOfLBnodes];
+            dist.f[dPM0] = &distributions[dPM0 * numberOfLBnodes];
+            dist.f[dMP0] = &distributions[dMP0 * numberOfLBnodes];
+            dist.f[dP0P] = &distributions[dP0P * numberOfLBnodes];
+            dist.f[dM0M] = &distributions[dM0M * numberOfLBnodes];
+            dist.f[dP0M] = &distributions[dP0M * numberOfLBnodes];
+            dist.f[dM0P] = &distributions[dM0P * numberOfLBnodes];
+            dist.f[d0PP] = &distributions[d0PP * numberOfLBnodes];
+            dist.f[d0MM] = &distributions[d0MM * numberOfLBnodes];
+            dist.f[d0PM] = &distributions[d0PM * numberOfLBnodes];
+            dist.f[d0MP] = &distributions[d0MP * numberOfLBnodes];
+            dist.f[d000] = &distributions[d000 * numberOfLBnodes];
+            dist.f[dPPP] = &distributions[dPPP * numberOfLBnodes];
+            dist.f[dMMP] = &distributions[dMMP * numberOfLBnodes];
+            dist.f[dPMP] = &distributions[dPMP * numberOfLBnodes];
+            dist.f[dMPP] = &distributions[dMPP * numberOfLBnodes];
+            dist.f[dPPM] = &distributions[dPPM * numberOfLBnodes];
+            dist.f[dMMM] = &distributions[dMMM * numberOfLBnodes];
+            dist.f[dPMM] = &distributions[dPMM * numberOfLBnodes];
+            dist.f[dMPM] = &distributions[dMPM * numberOfLBnodes];
+        }
+        else
+        {
+            dist.f[dM00] = &distributions[dP00 * numberOfLBnodes];
+            dist.f[dP00] = &distributions[dM00 * numberOfLBnodes];
+            dist.f[d0M0] = &distributions[d0P0 * numberOfLBnodes];
+            dist.f[d0P0] = &distributions[d0M0 * numberOfLBnodes];
+            dist.f[d00M] = &distributions[d00P * numberOfLBnodes];
+            dist.f[d00P] = &distributions[d00M * numberOfLBnodes];
+            dist.f[dMM0] = &distributions[dPP0 * numberOfLBnodes];
+            dist.f[dPP0] = &distributions[dMM0 * numberOfLBnodes];
+            dist.f[dMP0] = &distributions[dPM0 * numberOfLBnodes];
+            dist.f[dPM0] = &distributions[dMP0 * numberOfLBnodes];
+            dist.f[dM0M] = &distributions[dP0P * numberOfLBnodes];
+            dist.f[dP0P] = &distributions[dM0M * numberOfLBnodes];
+            dist.f[dM0P] = &distributions[dP0M * numberOfLBnodes];
+            dist.f[dP0M] = &distributions[dM0P * numberOfLBnodes];
+            dist.f[d0MM] = &distributions[d0PP * numberOfLBnodes];
+            dist.f[d0PP] = &distributions[d0MM * numberOfLBnodes];
+            dist.f[d0MP] = &distributions[d0PM * numberOfLBnodes];
+            dist.f[d0PM] = &distributions[d0MP * numberOfLBnodes];
+            dist.f[d000] = &distributions[d000 * numberOfLBnodes];
+            dist.f[dMMM] = &distributions[dPPP * numberOfLBnodes];
+            dist.f[dPPM] = &distributions[dMMP * numberOfLBnodes];
+            dist.f[dMPM] = &distributions[dPMP * numberOfLBnodes];
+            dist.f[dPMM] = &distributions[dMPP * numberOfLBnodes];
+            dist.f[dMMP] = &distributions[dPPM * numberOfLBnodes];
+            dist.f[dPPP] = &distributions[dMMM * numberOfLBnodes];
+            dist.f[dMPP] = &distributions[dPMM * numberOfLBnodes];
+            dist.f[dPMP] = &distributions[dMPM * numberOfLBnodes];
+        }
+        ////////////////////////////////////////////////////////////////////////////////
+        Distributions27 distAD;
+        if (isEvenTimestep)
+        {
+            distAD.f[dP00] = &distributionsAD[dP00 * numberOfLBnodes];
+            distAD.f[dM00] = &distributionsAD[dM00 * numberOfLBnodes];
+            distAD.f[d0P0] = &distributionsAD[d0P0 * numberOfLBnodes];
+            distAD.f[d0M0] = &distributionsAD[d0M0 * numberOfLBnodes];
+            distAD.f[d00P] = &distributionsAD[d00P * numberOfLBnodes];
+            distAD.f[d00M] = &distributionsAD[d00M * numberOfLBnodes];
+            distAD.f[dPP0] = &distributionsAD[dPP0 * numberOfLBnodes];
+            distAD.f[dMM0] = &distributionsAD[dMM0 * numberOfLBnodes];
+            distAD.f[dPM0] = &distributionsAD[dPM0 * numberOfLBnodes];
+            distAD.f[dMP0] = &distributionsAD[dMP0 * numberOfLBnodes];
+            distAD.f[dP0P] = &distributionsAD[dP0P * numberOfLBnodes];
+            distAD.f[dM0M] = &distributionsAD[dM0M * numberOfLBnodes];
+            distAD.f[dP0M] = &distributionsAD[dP0M * numberOfLBnodes];
+            distAD.f[dM0P] = &distributionsAD[dM0P * numberOfLBnodes];
+            distAD.f[d0PP] = &distributionsAD[d0PP * numberOfLBnodes];
+            distAD.f[d0MM] = &distributionsAD[d0MM * numberOfLBnodes];
+            distAD.f[d0PM] = &distributionsAD[d0PM * numberOfLBnodes];
+            distAD.f[d0MP] = &distributionsAD[d0MP * numberOfLBnodes];
+            distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
+            distAD.f[dPPP] = &distributionsAD[dPPP * numberOfLBnodes];
+            distAD.f[dMMP] = &distributionsAD[dMMP * numberOfLBnodes];
+            distAD.f[dPMP] = &distributionsAD[dPMP * numberOfLBnodes];
+            distAD.f[dMPP] = &distributionsAD[dMPP * numberOfLBnodes];
+            distAD.f[dPPM] = &distributionsAD[dPPM * numberOfLBnodes];
+            distAD.f[dMMM] = &distributionsAD[dMMM * numberOfLBnodes];
+            distAD.f[dPMM] = &distributionsAD[dPMM * numberOfLBnodes];
+            distAD.f[dMPM] = &distributionsAD[dMPM * numberOfLBnodes];
+        }
+        else
+        {
+            distAD.f[dM00] = &distributionsAD[dP00 * numberOfLBnodes];
+            distAD.f[dP00] = &distributionsAD[dM00 * numberOfLBnodes];
+            distAD.f[d0M0] = &distributionsAD[d0P0 * numberOfLBnodes];
+            distAD.f[d0P0] = &distributionsAD[d0M0 * numberOfLBnodes];
+            distAD.f[d00M] = &distributionsAD[d00P * numberOfLBnodes];
+            distAD.f[d00P] = &distributionsAD[d00M * numberOfLBnodes];
+            distAD.f[dMM0] = &distributionsAD[dPP0 * numberOfLBnodes];
+            distAD.f[dPP0] = &distributionsAD[dMM0 * numberOfLBnodes];
+            distAD.f[dMP0] = &distributionsAD[dPM0 * numberOfLBnodes];
+            distAD.f[dPM0] = &distributionsAD[dMP0 * numberOfLBnodes];
+            distAD.f[dM0M] = &distributionsAD[dP0P * numberOfLBnodes];
+            distAD.f[dP0P] = &distributionsAD[dM0M * numberOfLBnodes];
+            distAD.f[dM0P] = &distributionsAD[dP0M * numberOfLBnodes];
+            distAD.f[dP0M] = &distributionsAD[dM0P * numberOfLBnodes];
+            distAD.f[d0MM] = &distributionsAD[d0PP * numberOfLBnodes];
+            distAD.f[d0PP] = &distributionsAD[d0MM * numberOfLBnodes];
+            distAD.f[d0MP] = &distributionsAD[d0PM * numberOfLBnodes];
+            distAD.f[d0PM] = &distributionsAD[d0MP * numberOfLBnodes];
+            distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
+            distAD.f[dMMM] = &distributionsAD[dPPP * numberOfLBnodes];
+            distAD.f[dPPM] = &distributionsAD[dMMP * numberOfLBnodes];
+            distAD.f[dMPM] = &distributionsAD[dPMP * numberOfLBnodes];
+            distAD.f[dPMM] = &distributionsAD[dMPP * numberOfLBnodes];
+            distAD.f[dMMP] = &distributionsAD[dPPM * numberOfLBnodes];
+            distAD.f[dPPP] = &distributionsAD[dMMM * numberOfLBnodes];
+            distAD.f[dMPP] = &distributionsAD[dPMM * numberOfLBnodes];
+            distAD.f[dPMP] = &distributionsAD[dMPM * numberOfLBnodes];
+        }
+        ////////////////////////////////////////////////////////////////////////////////
+        //! - Set neighbor indices (necessary for indirect addressing)
+        uint kw   = neighborX[k];
+        uint ks   = neighborY[k];
+        uint kb   = neighborZ[k];
+        uint ksw  = neighborY[kw];
+        uint kbw  = neighborZ[kw];
+        uint kbs  = neighborZ[ks];
+        uint kbsw = neighborZ[ksw];
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Set local distributions Fluid
+        //!
+        real fcbb = (dist.f[dP00])[k];
+        real fabb = (dist.f[dM00])[kw];
+        real fbcb = (dist.f[d0P0])[k];
+        real fbab = (dist.f[d0M0])[ks];
+        real fbbc = (dist.f[d00P])[k];
+        real fbba = (dist.f[d00M])[kb];
+        real fccb = (dist.f[dPP0])[k];
+        real faab = (dist.f[dMM0])[ksw];
+        real fcab = (dist.f[dPM0])[ks];
+        real facb = (dist.f[dMP0])[kw];
+        real fcbc = (dist.f[dP0P])[k];
+        real faba = (dist.f[dM0M])[kbw];
+        real fcba = (dist.f[dP0M])[kb];
+        real fabc = (dist.f[dM0P])[kw];
+        real fbcc = (dist.f[d0PP])[k];
+        real fbaa = (dist.f[d0MM])[kbs];
+        real fbca = (dist.f[d0PM])[kb];
+        real fbac = (dist.f[d0MP])[ks];
+        real fbbb = (dist.f[d000])[k];
+        real fccc = (dist.f[dPPP])[k];
+        real faac = (dist.f[dMMP])[ksw];
+        real fcac = (dist.f[dPMP])[ks];
+        real facc = (dist.f[dMPP])[kw];
+        real fcca = (dist.f[dPPM])[kb];
+        real faaa = (dist.f[dMMM])[kbsw];
+        real fcaa = (dist.f[dPMM])[kbs];
+        real faca = (dist.f[dMPM])[kbw];
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Set local distributions Advection Diffusion
+        //!
+        real mfcbb = (distAD.f[dP00])[k];
+        real mfabb = (distAD.f[dM00])[kw];
+        real mfbcb = (distAD.f[d0P0])[k];
+        real mfbab = (distAD.f[d0M0])[ks];
+        real mfbbc = (distAD.f[d00P])[k];
+        real mfbba = (distAD.f[d00M])[kb];
+        real mfccb = (distAD.f[dPP0])[k];
+        real mfaab = (distAD.f[dMM0])[ksw];
+        real mfcab = (distAD.f[dPM0])[ks];
+        real mfacb = (distAD.f[dMP0])[kw];
+        real mfcbc = (distAD.f[dP0P])[k];
+        real mfaba = (distAD.f[dM0M])[kbw];
+        real mfcba = (distAD.f[dP0M])[kb];
+        real mfabc = (distAD.f[dM0P])[kw];
+        real mfbcc = (distAD.f[d0PP])[k];
+        real mfbaa = (distAD.f[d0MM])[kbs];
+        real mfbca = (distAD.f[d0PM])[kb];
+        real mfbac = (distAD.f[d0MP])[ks];
+        real mfbbb = (distAD.f[d000])[k];
+        real mfccc = (distAD.f[dPPP])[k];
+        real mfaac = (distAD.f[dMMP])[ksw];
+        real mfcac = (distAD.f[dPMP])[ks];
+        real mfacc = (distAD.f[dMPP])[kw];
+        real mfcca = (distAD.f[dPPM])[kb];
+        real mfaaa = (distAD.f[dMMM])[kbsw];
+        real mfcaa = (distAD.f[dPMM])[kbs];
+        real mfaca = (distAD.f[dMPM])[kbw];
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref
+        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
+        //!
+        ////////////////////////////////////////////////////////////////////////////////////
+        // fluid component
+        real drhoFluid =
+            ((((fccc + faaa) + (faca + fcac)) + ((facc + fcaa) + (faac + fcca))) +
+            (((fbac + fbca) + (fbaa + fbcc)) + ((fabc + fcba) + (faba + fcbc)) + ((facb + fcab) + (faab + fccb))) +
+            ((fabb + fcbb) + (fbab + fbcb) + (fbba + fbbc))) + fbbb;
+
+        real rhoFluid = c1o1 + drhoFluid;
+        real OOrhoFluid = c1o1 / rhoFluid;
+
+        real vvx =
+            ((((fccc - faaa) + (fcac - faca)) + ((fcaa - facc) + (fcca - faac))) +
+            (((fcba - fabc) + (fcbc - faba)) + ((fcab - facb) + (fccb - faab))) +
+            (fcbb - fabb)) * OOrhoFluid;
+        real vvy =
+            ((((fccc - faaa) + (faca - fcac)) + ((facc - fcaa) + (fcca - faac))) +
+            (((fbca - fbac) + (fbcc - fbaa)) + ((facb - fcab) + (fccb - faab))) +
+            (fbcb - fbab)) * OOrhoFluid;
+        real vvz =
+            ((((fccc - faaa) + (fcac - faca)) + ((facc - fcaa) + (faac - fcca))) +
+            (((fbac - fbca) + (fbcc - fbaa)) + ((fabc - fcba) + (fcbc - faba))) +
+            (fbbc - fbba)) * OOrhoFluid;
+        ////////////////////////////////////////////////////////////////////////////////////
+        // second component
+        real rho =
+            ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
+            (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
+                ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Add half of the acceleration (body force) to the velocity as in Eq. (42) \ref
+        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
+        //!
+        real fx = forces[0];
+        real fy = forces[1];
+        real fz = -rho*forces[2];
+        vvx += fx*c1o2;
+        vvy += fy*c1o2;
+        vvz += fz*c1o2;
+        ////////////////////////////////////////////////////////////////////////////////////
+        // calculate the square of velocities for this lattice node
+        real vx2 = vvx*vvx;
+        real vy2 = vvy*vvy;
+        real vz2 = vvz*vvz;
+        ////////////////////////////////////////////////////////////////////////////////////
+        //real omegaDiffusivity = c2o1 / (c6o1 * diffusivity + c1o1);
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Chimera transform from distributions to central moments as defined in Eq. (43)-(45) in \ref
+        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
+        //!
+        ////////////////////////////////////////////////////////////////////////////////////
+        // Z - Dir
+        forwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
+        forwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
+        forwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
+        forwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
+        forwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
+        forwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
+        forwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
+        forwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
+        forwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        // Y - Dir
+        forwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
+        forwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
+        forwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
+        forwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
+        forwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
+        forwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
+        forwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
+        forwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
+        forwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        // X - Dir
+        forwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
+        forwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
+        forwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
+        forwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
+        forwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
+        forwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
+        forwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
+        forwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
+        forwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Factorized central moments for Advection Diffusion Equation - Eq. (15)-(16) in \ref
+        //! <a href="https://doi.org/10.1016/j.advwatres.2015.09.015"><b>[ X. Yang et al. (2016), DOI: 10.1016/j.advwatres.2015.09.015]</b></a>
+        //!
+
+        // linearized orthogonalization of 3rd order central moments
+        real Mabc = mfabc - mfaba*c1o3;
+        real Mbca = mfbca - mfbaa*c1o3;
+        real Macb = mfacb - mfaab*c1o3;
+        real Mcba = mfcba - mfaba*c1o3;
+        real Mcab = mfcab - mfaab*c1o3;
+        real Mbac = mfbac - mfbaa*c1o3;
+        // linearized orthogonalization of 5th order central moments
+        real Mcbc = mfcbc - mfaba*c1o9;
+        real Mbcc = mfbcc - mfbaa*c1o9;
+        real Mccb = mfccb - mfaab*c1o9;
+
+        // collision of 1st order moments
+        mfbaa *= c1o1 - omegaDiffusivity;
+        mfaba *= c1o1 - omegaDiffusivity;
+        mfaab *= c1o1 - omegaDiffusivity;
+
+        // equilibration of 3rd order moments
+        Mabc = c0o1;
+        Mbca = c0o1;
+        Macb = c0o1;
+        Mcba = c0o1;
+        Mcab = c0o1;
+        Mbac = c0o1;
+        mfbbb = c0o1;
+
+        // equilibration of 5th order moments
+        Mcbc = c0o1;
+        Mbcc = c0o1;
+        Mccb = c0o1;
+
+        // equilibration of 2nd order moments
+        mfbba = c0o1;
+        mfbab = c0o1;
+        mfabb = c0o1;
+
+        mfcaa = c1o3 * rho;
+        mfaca = c1o3 * rho;
+        mfaac = c1o3 * rho;
+
+        // equilibration of 4th order moments
+        mfacc = c1o9 * rho;
+        mfcac = c1o9 * rho;
+        mfcca = c1o9 * rho;
+
+        mfcbb = c0o1;
+        mfbcb = c0o1;
+        mfbbc = c0o1;
+
+        // equilibration of 6th order moment
+        mfccc = c1o27 * rho;
+
+        // from linearized orthogonalization 3rd order central moments to central moments
+        mfabc = Mabc + mfaba*c1o3;
+        mfbca = Mbca + mfbaa*c1o3;
+        mfacb = Macb + mfaab*c1o3;
+        mfcba = Mcba + mfaba*c1o3;
+        mfcab = Mcab + mfaab*c1o3;
+        mfbac = Mbac + mfbaa*c1o3;
+
+        // from linearized orthogonalization 5th order central moments to central moments
+        mfcbc = Mcbc + mfaba*c1o9;
+        mfbcc = Mbcc + mfbaa*c1o9;
+        mfccb = Mccb + mfaab*c1o9;
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Chimera transform from  central moments to distributions as defined in Eq. (88)-(96) in \ref
+        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
+        //!
+        ////////////////////////////////////////////////////////////////////////////////////
+        // X - Dir
+        backwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
+        backwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
+        backwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
+        backwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
+        backwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
+        backwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
+        backwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
+        backwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
+        backwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        // Y - Dir
+        backwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
+        backwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
+        backwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
+        backwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
+        backwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
+        backwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
+        backwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
+        backwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
+        backwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        // Z - Dir
+        backwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
+        backwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
+        backwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
+        backwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
+        backwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
+        backwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
+        backwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
+        backwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
+        backwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Write distributions: style of reading and writing the distributions from/to
+        //! stored arrays dependent on timestep is based on the esoteric twist algorithm
+        //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), DOI:10.3390/computation5020019 ]</b></a>
+        //!
+        (distAD.f[dP00])[k   ] = mfabb;
+        (distAD.f[dM00])[kw  ] = mfcbb;
+        (distAD.f[d0P0])[k   ] = mfbab;
+        (distAD.f[d0M0])[ks  ] = mfbcb;
+        (distAD.f[d00P])[k   ] = mfbba;
+        (distAD.f[d00M])[kb  ] = mfbbc;
+        (distAD.f[dPP0])[k   ] = mfaab;
+        (distAD.f[dMM0])[ksw ] = mfccb;
+        (distAD.f[dPM0])[ks  ] = mfacb;
+        (distAD.f[dMP0])[kw  ] = mfcab;
+        (distAD.f[dP0P])[k   ] = mfaba;
+        (distAD.f[dM0M])[kbw ] = mfcbc;
+        (distAD.f[dP0M])[kb  ] = mfabc;
+        (distAD.f[dM0P])[kw  ] = mfcba;
+        (distAD.f[d0PP])[k   ] = mfbaa;
+        (distAD.f[d0MM])[kbs ] = mfbcc;
+        (distAD.f[d0PM])[kb  ] = mfbac;
+        (distAD.f[d0MP])[ks  ] = mfbca;
+        (distAD.f[d000])[k   ] = mfbbb;
+        (distAD.f[dPPP])[k   ] = mfaaa;
+        (distAD.f[dPMP])[ks  ] = mfaca;
+        (distAD.f[dPPM])[kb  ] = mfaac;
+        (distAD.f[dPMM])[kbs ] = mfacc;
+        (distAD.f[dMPP])[kw  ] = mfcaa;
+        (distAD.f[dMMP])[ksw ] = mfcca;
+        (distAD.f[dMPM])[kbw ] = mfcac;
+        (distAD.f[dMMM])[kbsw] = mfccc;
+    }
+}
+////////////////////////////////////////////////////////////////////////////////
+
diff --git a/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion_Device.cuh b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion_Device.cuh
new file mode 100644
index 0000000000000000000000000000000000000000..7f4d3ad429539e9e0c788c8f01b394590975222e
--- /dev/null
+++ b/src/gpu/core/Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion_Device.cuh
@@ -0,0 +1,19 @@
+#ifndef F16CompressibleAdvectionDiffusion_Device_H
+#define F16CompressibleAdvectionDiffusion_Device_H
+
+#include <DataTypes.h>
+#include <curand.h>
+
+__global__ void F16CompressibleAdvectionDiffusion_Device(
+    real omegaDiffusivity,
+    uint* typeOfGridNode,
+    uint* neighborX,
+    uint* neighborY,
+    uint* neighborZ,
+    real* distributions,
+    real* distributionsAD,
+    unsigned long long numberOfLBnodes,
+    real* forces,
+    bool isEvenTimestep);
+
+#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus.cu
index 955dc0736de37ed3ad680a99ced5bb0e55d77b11..6f6befbd2cca54038ebe7a3b27747fe9b47cec1b 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus.cu
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<B15CompressibleNavierStokesBGKplus> B15CompressibleNavierStokesBGKplus::getNewInstance(std::shared_ptr<Parameter> para, int level)
 {
-	return std::shared_ptr<B15CompressibleNavierStokesBGKplus>(new B15CompressibleNavierStokesBGKplus(para, level));
+    return std::shared_ptr<B15CompressibleNavierStokesBGKplus>(new B15CompressibleNavierStokesBGKplus(para, level));
 }
 
 void B15CompressibleNavierStokesBGKplus::run()
@@ -27,12 +27,12 @@ void B15CompressibleNavierStokesBGKplus::run()
 
 B15CompressibleNavierStokesBGKplus::B15CompressibleNavierStokesBGKplus(std::shared_ptr<Parameter> para, int level)
 {
-	this->para = para;
-	this->level = level;
+    this->para = para;
+    this->level = level;
 
-	myPreProcessorTypes.push_back(InitCompSP27);
+    myPreProcessorTypes.push_back(InitCompSP27);
 
-	
+    
 }
 
 B15CompressibleNavierStokesBGKplus::B15CompressibleNavierStokesBGKplus()
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus.h b/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus.h
index 0347e30dc1aec97bcdd6e21eb58cf929084987cc..34ea741ea9a99aa1f0cb7672bcdcc32715b1ec48 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus.h
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus.h
@@ -6,12 +6,12 @@
 class B15CompressibleNavierStokesBGKplus : public KernelImp
 {
 public:
-	static std::shared_ptr<B15CompressibleNavierStokesBGKplus> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
+    static std::shared_ptr<B15CompressibleNavierStokesBGKplus> getNewInstance(std::shared_ptr< Parameter> para, int level);
+    void run();
 
 private:
-	B15CompressibleNavierStokesBGKplus();
-	B15CompressibleNavierStokesBGKplus(std::shared_ptr< Parameter> para, int level);
+    B15CompressibleNavierStokesBGKplus();
+    B15CompressibleNavierStokesBGKplus(std::shared_ptr< Parameter> para, int level);
 };
 
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus_Device.cu
index 11ae68e4d5e14d89599573765295b65463fad712..e445247edc03ad4017b1641b01bac412af3cef21 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus_Device.cu
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus_Device.cu
@@ -7,820 +7,820 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 __global__ void B15CompressibleNavierStokesBGKplus_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
+    real omega,
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
 
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
 
-	if (k < size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
+    if (k < size_Mat)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
 
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
+        if ((BC != GEO_SOLID) && (BC != GEO_VOID))
+        {
+            Distributions27 D;
+            if (EvenOrOdd == true)
+            {
+                D.f[dP00] = &DDStart[dP00 * size_Mat];
+                D.f[dM00] = &DDStart[dM00 * size_Mat];
+                D.f[d0P0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0M0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00P] = &DDStart[d00P * size_Mat];
+                D.f[d00M] = &DDStart[d00M * size_Mat];
+                D.f[dPP0] = &DDStart[dPP0 * size_Mat];
+                D.f[dMM0] = &DDStart[dMM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dPM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dMP0 * size_Mat];
+                D.f[dP0P] = &DDStart[dP0P * size_Mat];
+                D.f[dM0M] = &DDStart[dM0M * size_Mat];
+                D.f[dP0M] = &DDStart[dP0M * size_Mat];
+                D.f[dM0P] = &DDStart[dM0P * size_Mat];
+                D.f[d0PP] = &DDStart[d0PP * size_Mat];
+                D.f[d0MM] = &DDStart[d0MM * size_Mat];
+                D.f[d0PM] = &DDStart[d0PM * size_Mat];
+                D.f[d0MP] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dPPP] = &DDStart[dPPP * size_Mat];
+                D.f[dMMP] = &DDStart[dMMP * size_Mat];
+                D.f[dPMP] = &DDStart[dPMP * size_Mat];
+                D.f[dMPP] = &DDStart[dMPP * size_Mat];
+                D.f[dPPM] = &DDStart[dPPM * size_Mat];
+                D.f[dMMM] = &DDStart[dMMM * size_Mat];
+                D.f[dPMM] = &DDStart[dPMM * size_Mat];
+                D.f[dMPM] = &DDStart[dMPM * size_Mat];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * size_Mat];
+                D.f[dP00] = &DDStart[dM00 * size_Mat];
+                D.f[d0M0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0P0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00M] = &DDStart[d00P * size_Mat];
+                D.f[d00P] = &DDStart[d00M * size_Mat];
+                D.f[dMM0] = &DDStart[dPP0 * size_Mat];
+                D.f[dPP0] = &DDStart[dMM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dPM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dMP0 * size_Mat];
+                D.f[dM0M] = &DDStart[dP0P * size_Mat];
+                D.f[dP0P] = &DDStart[dM0M * size_Mat];
+                D.f[dM0P] = &DDStart[dP0M * size_Mat];
+                D.f[dP0M] = &DDStart[dM0P * size_Mat];
+                D.f[d0MM] = &DDStart[d0PP * size_Mat];
+                D.f[d0PP] = &DDStart[d0MM * size_Mat];
+                D.f[d0MP] = &DDStart[d0PM * size_Mat];
+                D.f[d0PM] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dMMM] = &DDStart[dPPP * size_Mat];
+                D.f[dPPM] = &DDStart[dMMP * size_Mat];
+                D.f[dMPM] = &DDStart[dPMP * size_Mat];
+                D.f[dPMM] = &DDStart[dMPP * size_Mat];
+                D.f[dMMP] = &DDStart[dPPM * size_Mat];
+                D.f[dPPP] = &DDStart[dMMM * size_Mat];
+                D.f[dMPP] = &DDStart[dPMM * size_Mat];
+                D.f[dPMP] = &DDStart[dMPM * size_Mat];
+            }
 
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-											//slow
-											//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-											//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-											//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-											////////////////////////////////////////////////////////////////////////////////////
-			real rho = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
-				mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb + c1o1);//!!!!Achtung + one
-																			 ////////////////////////////////////////////////////////////////////////////////////
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real vx2 = vvx * vvx;
-			real vy2 = vvy * vvy;
-			real vz2 = vvz * vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real m200 = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
-				mfabb + mfcbb);
-			real m020 = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfacb + mfcab + mfaab + mfccb +
-				mfbab + mfbcb);
-			real m002 = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc +
-				mfbba + mfbbc);
-			////////////////////////////////////////////////////////////////////////////////////
-			//Galilei Korrektur
-			real Gx = -c3o1 * vx2 * (-c1o2 * (c3o1 * m200 / rho + c1o1 / rho - c1o1 - c3o1 * vx2)) * (c1o1 - omega * c1o2);
-			real Gy = -c3o1 * vy2 * (-c1o2 * (c3o1 * m020 / rho + c1o1 / rho - c1o1 - c3o1 * vy2)) * (c1o1 - omega * c1o2);
-			real Gz = -c3o1 * vz2 * (-c1o2 * (c3o1 * m002 / rho + c1o1 / rho - c1o1 - c3o1 * vz2)) * (c1o1 - omega * c1o2);
-			//real Gx     = zero;
-			//real Gy     = zero;
-			//real Gz     = zero;
-			////////////////////////////////////////////////////////////////////////////////////
-			real XXb = -c2o3 + vx2 + Gx;
-			real XXc = -c1o2 * (XXb + c1o1 + vvx);
-			real XXa = XXc + vvx;
-			real YYb = -c2o3 + vy2 + Gy;
-			real YYc = -c1o2 * (YYb + c1o1 + vvy);
-			real YYa = YYc + vvy;
-			real ZZb = -c2o3 + vz2 + Gz;
-			real ZZc = -c1o2 * (ZZb + c1o1 + vvz);
-			real ZZa = ZZc + vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			mfcbb = mfcbb * (c1o1 - omega) + omega * (-rho * XXc * YYb * ZZb - c2o27);
-			mfabb = mfabb * (c1o1 - omega) + omega * (-rho * XXa * YYb * ZZb - c2o27);
-			mfbcb = mfbcb * (c1o1 - omega) + omega * (-rho * XXb * YYc * ZZb - c2o27);
-			mfbab = mfbab * (c1o1 - omega) + omega * (-rho * XXb * YYa * ZZb - c2o27);
-			mfbbc = mfbbc * (c1o1 - omega) + omega * (-rho * XXb * YYb * ZZc - c2o27);
-			mfbba = mfbba * (c1o1 - omega) + omega * (-rho * XXb * YYb * ZZa - c2o27);
-			mfccb = mfccb * (c1o1 - omega) + omega * (-rho * XXc * YYc * ZZb - c1o54);
-			mfaab = mfaab * (c1o1 - omega) + omega * (-rho * XXa * YYa * ZZb - c1o54);
-			mfcab = mfcab * (c1o1 - omega) + omega * (-rho * XXc * YYa * ZZb - c1o54);
-			mfacb = mfacb * (c1o1 - omega) + omega * (-rho * XXa * YYc * ZZb - c1o54);
-			mfcbc = mfcbc * (c1o1 - omega) + omega * (-rho * XXc * YYb * ZZc - c1o54);
-			mfaba = mfaba * (c1o1 - omega) + omega * (-rho * XXa * YYb * ZZa - c1o54);
-			mfcba = mfcba * (c1o1 - omega) + omega * (-rho * XXc * YYb * ZZa - c1o54);
-			mfabc = mfabc * (c1o1 - omega) + omega * (-rho * XXa * YYb * ZZc - c1o54);
-			mfbcc = mfbcc * (c1o1 - omega) + omega * (-rho * XXb * YYc * ZZc - c1o54);
-			mfbaa = mfbaa * (c1o1 - omega) + omega * (-rho * XXb * YYa * ZZa - c1o54);
-			mfbca = mfbca * (c1o1 - omega) + omega * (-rho * XXb * YYc * ZZa - c1o54);
-			mfbac = mfbac * (c1o1 - omega) + omega * (-rho * XXb * YYa * ZZc - c1o54);
-			mfbbb = mfbbb * (c1o1 - omega) + omega * (-rho * XXb * YYb * ZZb - c8o27);
-			mfccc = mfccc * (c1o1 - omega) + omega * (-rho * XXc * YYc * ZZc - c1o216);
-			mfaac = mfaac * (c1o1 - omega) + omega * (-rho * XXa * YYa * ZZc - c1o216);
-			mfcac = mfcac * (c1o1 - omega) + omega * (-rho * XXc * YYa * ZZc - c1o216);
-			mfacc = mfacc * (c1o1 - omega) + omega * (-rho * XXa * YYc * ZZc - c1o216);
-			mfcca = mfcca * (c1o1 - omega) + omega * (-rho * XXc * YYc * ZZa - c1o216);
-			mfaaa = mfaaa * (c1o1 - omega) + omega * (-rho * XXa * YYa * ZZa - c1o216);
-			mfcaa = mfcaa * (c1o1 - omega) + omega * (-rho * XXc * YYa * ZZa - c1o216);
-			mfaca = mfaca * (c1o1 - omega) + omega * (-rho * XXa * YYc * ZZa - c1o216);
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			//fast
-			//			real oMdrho = one; //comp special
-			//			//real oMdrho = one - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-			//			//					   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-			//			//					   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb + one);//fehlt mfbbb nicht mehr !!!!Achtung + one
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			real m0, m1, m2;	
-			//			real vx2;
-			//			real vy2;
-			//			real vz2;
-			//			vx2=vvx*vvx;
-			//			vy2=vvy*vvy;
-			//			vz2=vvz*vvz;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			real wadjust;
-			//			real qudricLimit = 0.01f;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			//Hin
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// Z - Dir
-			//			m2    = mfaaa	+ mfaac;
-			//			m1    = mfaac	- mfaaa;
-			//			m0    = m2		+ mfaab;
-			//			mfaaa = m0;
-			//			m0   += c1o36 * oMdrho;	
-			//			mfaab = m1 ;
-			//			mfaac = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfaba  + mfabc;
-			//			m1    = mfabc  - mfaba;
-			//			m0    = m2		+ mfabb;
-			//			mfaba = m0;
-			//			m0   += c1o9 * oMdrho;
-			//			mfabb = m1 ;
-			//			mfabc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfaca  + mfacc;
-			//			m1    = mfacc  - mfaca;
-			//			m0    = m2		+ mfacb;
-			//			mfaca = m0;
-			//			m0   += c1o36 * oMdrho;
-			//			mfacb = m1 ;
-			//			mfacc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfbaa	+ mfbac;
-			//			m1    = mfbac	- mfbaa;
-			//			m0    = m2		+ mfbab;
-			//			mfbaa = m0;
-			//			m0   += c1o9 * oMdrho;
-			//			mfbab = m1 ;
-			//			mfbac = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfbba  + mfbbc;
-			//			m1    = mfbbc  - mfbba;
-			//			m0    = m2		+ mfbbb;
-			//			mfbba = m0;
-			//			m0   += c4o9 * oMdrho;
-			//			mfbbb = m1 ;
-			//			mfbbc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfbca  + mfbcc;
-			//			m1    = mfbcc  - mfbca;
-			//			m0    = m2		+ mfbcb;
-			//			mfbca = m0;
-			//			m0   += c1o9 * oMdrho;
-			//			mfbcb = m1 ;
-			//			mfbcc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfcaa	+ mfcac;
-			//			m1    = mfcac	- mfcaa;
-			//			m0    = m2		+ mfcab;
-			//			mfcaa = m0;
-			//			m0   += c1o36 * oMdrho;
-			//			mfcab = m1 ;
-			//			mfcac = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfcba  + mfcbc;
-			//			m1    = mfcbc  - mfcba;
-			//			m0    = m2		+ mfcbb;
-			//			mfcba = m0;
-			//			m0   += c1o9 * oMdrho;
-			//			mfcbb = m1 ;
-			//			mfcbc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfcca  + mfccc;
-			//			m1    = mfccc  - mfcca;
-			//			m0    = m2		+ mfccb;
-			//			mfcca = m0;
-			//			m0   += c1o36 * oMdrho;
-			//			mfccb = m1 ;
-			//			mfccc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// Y - Dir
-			//			m2    = mfaaa	+ mfaca;
-			//			m1    = mfaca	- mfaaa;
-			//			m0    = m2		+ mfaba;
-			//			mfaaa = m0;
-			//			m0   += c1o6 * oMdrho;
-			//			mfaba = m1 ;
-			//			mfaca = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfaab  + mfacb;
-			//			m1    = mfacb  - mfaab;
-			//			m0    = m2		+ mfabb;
-			//			mfaab = m0;
-			//			mfabb = m1 ;
-			//			mfacb = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfaac  + mfacc;
-			//			m1    = mfacc  - mfaac;
-			//			m0    = m2		+ mfabc;
-			//			mfaac = m0;
-			//			m0   += c1o18 * oMdrho;
-			//			mfabc = m1 ;
-			//			mfacc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfbaa	+ mfbca;
-			//			m1    = mfbca	- mfbaa;
-			//			m0    = m2		+ mfbba;
-			//			mfbaa = m0;
-			//			m0   += c2o3 * oMdrho;
-			//			mfbba = m1 ;
-			//			mfbca = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfbab  + mfbcb;
-			//			m1    = mfbcb  - mfbab;
-			//			m0    = m2		+ mfbbb;
-			//			mfbab = m0;
-			//			mfbbb = m1 ;
-			//			mfbcb = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfbac  + mfbcc;
-			//			m1    = mfbcc  - mfbac;
-			//			m0    = m2		+ mfbbc;
-			//			mfbac = m0;
-			//			m0   += c2o9 * oMdrho;
-			//			mfbbc = m1 ;
-			//			mfbcc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfcaa	+ mfcca;
-			//			m1    = mfcca	- mfcaa;
-			//			m0    = m2		+ mfcba;
-			//			mfcaa = m0;
-			//			m0   += c1o6 * oMdrho;
-			//			mfcba = m1 ;
-			//			mfcca = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfcab  + mfccb;
-			//			m1    = mfccb  - mfcab;
-			//			m0    = m2		+ mfcbb;
-			//			mfcab = m0;
-			//			mfcbb = m1 ;
-			//			mfccb = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfcac  + mfccc;
-			//			m1    = mfccc  - mfcac;
-			//			m0    = m2		+ mfcbc;
-			//			mfcac = m0;
-			//			m0   += c1o18 * oMdrho;
-			//			mfcbc = m1 ;
-			//			mfccc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// X - Dir
-			//			m2    = mfaaa	+ mfcaa;
-			//			m1    = mfcaa	- mfaaa;
-			//			m0    = m2		+ mfbaa;
-			//			mfaaa = m0;
-			//			m0   += one* oMdrho;
-			//			mfbaa = m1 ;
-			//			mfcaa = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfaba  + mfcba;
-			//			m1    = mfcba  - mfaba;
-			//			m0    = m2		+ mfbba;
-			//			mfaba = m0;
-			//			mfbba = m1 ;
-			//			mfcba = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfaca  + mfcca;
-			//			m1    = mfcca  - mfaca;
-			//			m0    = m2		+ mfbca;
-			//			mfaca = m0;
-			//			m0   += c1o3 * oMdrho;
-			//			mfbca = m1 ;
-			//			mfcca = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfaab	+ mfcab;
-			//			m1    = mfcab	- mfaab;
-			//			m0    = m2		+ mfbab;
-			//			mfaab = m0;
-			//			mfbab = m1 ;
-			//			mfcab = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfabb  + mfcbb;
-			//			m1    = mfcbb  - mfabb;
-			//			m0    = m2		+ mfbbb;
-			//			mfabb = m0;
-			//			mfbbb = m1 ;
-			//			mfcbb = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfacb  + mfccb;
-			//			m1    = mfccb  - mfacb;
-			//			m0    = m2		+ mfbcb;
-			//			mfacb = m0;
-			//			mfbcb = m1 ;
-			//			mfccb = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfaac	+ mfcac;
-			//			m1    = mfcac	- mfaac;
-			//			m0    = m2		+ mfbac;
-			//			mfaac = m0;
-			//			m0   += c1o3 * oMdrho;
-			//			mfbac = m1 ;
-			//			mfcac = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfabc  + mfcbc;
-			//			m1    = mfcbc  - mfabc;
-			//			m0    = m2		+ mfbbc;
-			//			mfabc = m0;
-			//			mfbbc = m1 ;
-			//			mfcbc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m2    = mfacc  + mfccc;
-			//			m1    = mfccc  - mfacc;
-			//			m0    = m2		+ mfbcc;
-			//			mfacc = m0;
-			//			m0   += c1o9 * oMdrho;
-			//			mfbcc = m1 ;
-			//			mfccc = m2 ;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//
-			//
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// BGK
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			real OxxPyyPzz = omega;
-			//			real OxyyPxzz  = omega;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			//			real OxyyMxzz  = omega;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			//			real O4        = omega;
-			//			real O5        = omega;
-			//			real O6        = omega;
-			//
-			//			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			//			real mxxMyy    = mfcaa - mfaca;
-			//			real mxxMzz	  = mfcaa - mfaac;
-			//
-			//			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//			//incl. correction
-			//			{
-			//				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz+(-two*vx2+vy2+vz2)*rho) + c1o2 * OxxPyyPzz * (mfaaa+(vx2+vy2+vz2)*rho - mxxPyyPzz);
-			//				real dyuy = dxux + omega * c3o2 * (mxxMyy+(-vx2+vy2)*rho);
-			//				real dzuz = dxux + omega * c3o2 * (mxxMzz+(-vx2+vz2)*rho);
-			//
-			//				//relax
-			//				mxxPyyPzz += OxxPyyPzz*(mfaaa +(vx2+vy2+vz2)*rho - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//				mxxMyy    += omega * ((vx2-vy2)*rho-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-			//				mxxMzz    += omega * ((vx2-vz2)*rho-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			//			}
-			//			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//
-			//// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//// 			//no correction
-			//// 			mxxPyyPzz += OxxPyyPzz*(mfaaa+(vx2+vy2+vz2)*rho-mxxPyyPzz);
-			//// 			mxxMyy    += -(-omega) * ((vx2-vy2)*rho-mxxMyy);
-			//// 			mxxMzz    += -(-omega) * ((vx2-vz2)*rho-mxxMzz);
-			//// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//			mfabb     += omega * ((vvy*vvz)*rho-mfabb);
-			//			mfbab     += omega * ((vvx*vvz)*rho-mfbab);
-			//			mfbba     += omega * ((vvx*vvy)*rho-mfbba);
-			//
-			//			// linear combinations back
-			//			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			//			mfaca = c1o3 * (-two*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			//			mfaac = c1o3 * (       mxxMyy - two* mxxMzz + mxxPyyPzz);
-			//
-			//			//3.
-			//			// linear combinations
-			//
-			//			real mxxyPyzz = mfcba + mfabc;
-			//			real mxxyMyzz = mfcba - mfabc;
-			//
-			//			real mxxzPyyz = mfcab + mfacb;
-			//			real mxxzMyyz = mfcab - mfacb;
-			//
-			//			real mxyyPxzz = mfbca + mfbac;
-			//			real mxyyMxzz = mfbca - mfbac;
-			//
-			//			mxxyMyzz += OxyyMxzz*((vx2-vz2)*vvy*rho-mxxyMyzz);
-			//			mxxzMyyz += OxyyMxzz*((vx2-vy2)*vvz*rho-mxxzMyyz);
-			//			mxyyMxzz += OxyyMxzz*((vy2-vz2)*vvx*rho-mxyyMxzz);
-			//
-			//			mxxyPyzz += OxyyPxzz*((c2o3+vx2+vz2)*vvy*rho-mxxyPyzz);
-			//			mxxzPyyz += OxyyPxzz*((c2o3+vx2+vy2)*vvz*rho-mxxzPyyz);
-			//			mxyyPxzz += OxyyPxzz*((c2o3+vy2+vz2)*vvx*rho-mxyyPxzz);
-			//
-			//			mfbbb += OxyyMxzz * (vvx*vvy*vvz*rho - mfbbb);
-			//			
-			//			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			//			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			//			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			//			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			//			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			//			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-			//
-			//			//4.
-			//			//mfacc += O4*((c1o3+vy2)*(c1o3+vz2)*rho+c1o9*(mfaaa-one)-mfacc);
-			//			//mfcac += O4*((c1o3+vx2)*(c1o3+vz2)*rho+c1o9*(mfaaa-one)-mfcac);
-			//			//mfcca += O4*((c1o3+vx2)*(c1o3+vy2)*rho+c1o9*(mfaaa-one)-mfcca);
-			//			mfacc += O4*((c1o3+vy2)*(c1o3+vz2)*rho-c1o9-mfacc);
-			//			mfcac += O4*((c1o3+vx2)*(c1o3+vz2)*rho-c1o9-mfcac);
-			//			mfcca += O4*((c1o3+vx2)*(c1o3+vy2)*rho-c1o9-mfcca);
-			//			
-			//			mfcbb += O4*((c1o3+vx2)*vvy*vvz*rho-mfcbb);
-			//			mfbcb += O4*((c1o3+vy2)*vvx*vvz*rho-mfbcb);
-			//			mfbbc += O4*((c1o3+vz2)*vvx*vvy*rho-mfbbc);
-			//
-			//			//5.
-			//			mfbcc += O5*((c1o3+vy2)*(c1o3+vz2)*vvx*rho-mfbcc);
-			//			mfcbc += O5*((c1o3+vx2)*(c1o3+vz2)*vvy*rho-mfcbc);
-			//			mfccb += O5*((c1o3+vx2)*(c1o3+vy2)*vvz*rho-mfccb);
-			//
-			//			//6.
-			//			mfccc += O6*((c1o3+vx2)*(c1o3+vy2)*(c1o3+vz2)*rho-c1o27-mfccc);
-			//
-			//
-			//			//bad fix
-			//			vvx = zero;
-			//			vvy = zero;
-			//			vvz = zero;
-			//			vx2 = zero;
-			//			vy2 = zero;
-			//			vz2 = zero;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			//back
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// Z - Dir
-			//			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + one* oMdrho) * (     vz2 - vvz) * c1o2; 
-			//			m1 = -mfaac        - two* mfaab *  vvz         +  mfaaa                * (one- vz2)              - one* oMdrho * vz2; 
-			//			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + one* oMdrho) * (     vz2 + vvz) * c1o2;
-			//			mfaaa = m0;
-			//			mfaab = m1;
-			//			mfaac = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			//			m1 = -mfabc        - two* mfabb *  vvz         + mfaba * (one- vz2); 
-			//			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			//			mfaba = m0;
-			//			mfabb = m1;
-			//			mfabc = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			//			m1 = -mfacc        - two* mfacb *  vvz         +  mfaca                  * (one- vz2)              - c1o3 * oMdrho * vz2; 
-			//			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			//			mfaca = m0;
-			//			mfacb = m1;
-			//			mfacc = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			//			m1 = -mfbac        - two* mfbab *  vvz         + mfbaa * (one- vz2); 
-			//			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			//			mfbaa = m0;
-			//			mfbab = m1;
-			//			mfbac = m2;
-			//			/////////b//////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			//			m1 = -mfbbc        - two* mfbbb *  vvz         + mfbba * (one- vz2); 
-			//			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			//			mfbba = m0;
-			//			mfbbb = m1;
-			//			mfbbc = m2;
-			//			/////////b//////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			//			m1 = -mfbcc        - two* mfbcb *  vvz         + mfbca * (one- vz2); 
-			//			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			//			mfbca = m0;
-			//			mfbcb = m1;
-			//			mfbcc = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			//			m1 = -mfcac        - two* mfcab *  vvz         +  mfcaa                  * (one- vz2)              - c1o3 * oMdrho * vz2; 
-			//			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			//			mfcaa = m0;
-			//			mfcab = m1;
-			//			mfcac = m2;
-			//			/////////c//////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			//			m1 = -mfcbc        - two* mfcbb *  vvz         + mfcba * (one- vz2); 
-			//			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			//			mfcba = m0;
-			//			mfcbb = m1;
-			//			mfcbc = m2;
-			//			/////////c//////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			//			m1 = -mfccc        - two* mfccb *  vvz         +  mfcca                  * (one- vz2)              - c1o9 * oMdrho * vz2; 
-			//			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			//			mfcca = m0;
-			//			mfccb = m1;
-			//			mfccc = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// Y - Dir
-			//			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			//			m1 = -mfaca        - two* mfaba *  vvy         +  mfaaa                  * (one- vy2)              - c1o6 * oMdrho * vy2; 
-			//			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			//			mfaaa = m0;
-			//			mfaba = m1;
-			//			mfaca = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			//			m1 = -mfacb        - two* mfabb *  vvy         +  mfaab                  * (one- vy2)              - c2o3 * oMdrho * vy2; 
-			//			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			//			mfaab = m0;
-			//			mfabb = m1;
-			//			mfacb = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			//			m1 = -mfacc        - two* mfabc *  vvy         +  mfaac                  * (one- vy2)              - c1o6 * oMdrho * vy2; 
-			//			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			//			mfaac = m0;
-			//			mfabc = m1;
-			//			mfacc = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			//			m1 = -mfbca        - two* mfbba *  vvy         + mfbaa * (one- vy2); 
-			//			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			//			mfbaa = m0;
-			//			mfbba = m1;
-			//			mfbca = m2;
-			//			/////////b//////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			//			m1 = -mfbcb        - two* mfbbb *  vvy         + mfbab * (one- vy2); 
-			//			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			//			mfbab = m0;
-			//			mfbbb = m1;
-			//			mfbcb = m2;
-			//			/////////b//////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			//			m1 = -mfbcc        - two* mfbbc *  vvy         + mfbac * (one- vy2); 
-			//			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			//			mfbac = m0;
-			//			mfbbc = m1;
-			//			mfbcc = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			//			m1 = -mfcca        - two* mfcba *  vvy         +  mfcaa                   * (one- vy2)              - c1o18 * oMdrho * vy2; 
-			//			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			//			mfcaa = m0;
-			//			mfcba = m1;
-			//			mfcca = m2;
-			//			/////////c//////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			//			m1 = -mfccb        - two* mfcbb *  vvy         +  mfcab                  * (one- vy2)              - c2o9 * oMdrho * vy2; 
-			//			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			//			mfcab = m0;
-			//			mfcbb = m1;
-			//			mfccb = m2;
-			//			/////////c//////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			//			m1 = -mfccc        - two* mfcbc *  vvy         +  mfcac                   * (one- vy2)              - c1o18 * oMdrho * vy2; 
-			//			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			//			mfcac = m0;
-			//			mfcbc = m1;
-			//			mfccc = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			// X - Dir
-			//			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			//			m1 = -mfcaa        - two* mfbaa *  vvx         +  mfaaa                   * (one- vx2)              - c1o36 * oMdrho * vx2; 
-			//			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			//			mfaaa = m0;
-			//			mfbaa = m1;
-			//			mfcaa = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			//			m1 = -mfcba        - two* mfbba *  vvx         +  mfaba                  * (one- vx2)              - c1o9 * oMdrho * vx2; 
-			//			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			//			mfaba = m0;
-			//			mfbba = m1;
-			//			mfcba = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			//			m1 = -mfcca        - two* mfbca *  vvx         +  mfaca                   * (one- vx2)              - c1o36 * oMdrho * vx2; 
-			//			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			//			mfaca = m0;
-			//			mfbca = m1;
-			//			mfcca = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			//			m1 = -mfcab        - two* mfbab *  vvx         +  mfaab                  * (one- vx2)              - c1o9 * oMdrho * vx2; 
-			//			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			//			mfaab = m0;
-			//			mfbab = m1;
-			//			mfcab = m2;
-			//			///////////b////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			//			m1 = -mfcbb        - two* mfbbb *  vvx         +  mfabb                  * (one- vx2)              - c4o9 * oMdrho * vx2; 
-			//			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			//			mfabb = m0;
-			//			mfbbb = m1;
-			//			mfcbb = m2;
-			//			///////////b////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			//			m1 = -mfccb        - two* mfbcb *  vvx         +  mfacb                  * (one- vx2)              - c1o9 * oMdrho * vx2; 
-			//			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			//			mfacb = m0;
-			//			mfbcb = m1;
-			//			mfccb = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			////////////////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			//			m1 = -mfcac        - two* mfbac *  vvx         +  mfaac                   * (one- vx2)              - c1o36 * oMdrho * vx2; 
-			//			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			//			mfaac = m0;
-			//			mfbac = m1;
-			//			mfcac = m2;
-			//			///////////c////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			//			m1 = -mfcbc        - two* mfbbc *  vvx         +  mfabc                  * (one- vx2)              - c1o9 * oMdrho * vx2; 
-			//			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			//			mfabc = m0;
-			//			mfbbc = m1;
-			//			mfcbc = m2;
-			//			///////////c////////////////////////////////////////////////////////////////////////
-			//			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			//			m1 = -mfccc        - two* mfbcc *  vvx         +  mfacc                   * (one- vx2)              - c1o36 * oMdrho * vx2; 
-			//			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			//			mfacc = m0;
-			//			mfbcc = m1;
-			//			mfccc = m2;
-			//			////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            //unsigned int kzero= k;
+            //unsigned int ke   = k;
+            unsigned int kw = neighborX[k];
+            //unsigned int kn   = k;
+            unsigned int ks = neighborY[k];
+            //unsigned int kt   = k;
+            unsigned int kb = neighborZ[k];
+            unsigned int ksw = neighborY[kw];
+            //unsigned int kne  = k;
+            //unsigned int kse  = ks;
+            //unsigned int knw  = kw;
+            unsigned int kbw = neighborZ[kw];
+            //unsigned int kte  = k;
+            //unsigned int kbe  = kb;
+            //unsigned int ktw  = kw;
+            unsigned int kbs = neighborZ[ks];
+            //unsigned int ktn  = k;
+            //unsigned int kbn  = kb;
+            //unsigned int kts  = ks;
+            //unsigned int ktse = ks;
+            //unsigned int kbnw = kbw;
+            //unsigned int ktnw = kw;
+            //unsigned int kbse = kbs;
+            //unsigned int ktsw = ksw;
+            //unsigned int kbne = kb;
+            //unsigned int ktne = k;
+            unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
+            real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
+            real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
+            real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
+            real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
+            real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
+            real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
+            real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
+            real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
+            real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
+            real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
+            real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
+            real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
+            real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
+            real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
+            real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
+            real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
+            real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
+            real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
+            real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
+            real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
+            real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
+            real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
+            real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
+            real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
+            real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
+            real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
+                                            ////////////////////////////////////////////////////////////////////////////////////
+                                            //slow
+                                            //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                                            //                       (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                                            //                        ((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
+                                            ////////////////////////////////////////////////////////////////////////////////////
+            real rho = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
+                mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
+                mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb + c1o1);//!!!!Achtung + one
+                                                                             ////////////////////////////////////////////////////////////////////////////////////
+            real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
+                (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
+                (mfcbb - mfabb)) / rho;
+            real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
+                (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
+                (mfbcb - mfbab)) / rho;
+            real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
+                (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
+                (mfbbc - mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            real vx2 = vvx * vvx;
+            real vy2 = vvy * vvy;
+            real vz2 = vvz * vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            real m200 = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
+                mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
+                mfabb + mfcbb);
+            real m020 = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
+                mfbac + mfbca + mfbaa + mfbcc + mfacb + mfcab + mfaab + mfccb +
+                mfbab + mfbcb);
+            real m002 = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
+                mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc +
+                mfbba + mfbbc);
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Galilei Korrektur
+            real Gx = -c3o1 * vx2 * (-c1o2 * (c3o1 * m200 / rho + c1o1 / rho - c1o1 - c3o1 * vx2)) * (c1o1 - omega * c1o2);
+            real Gy = -c3o1 * vy2 * (-c1o2 * (c3o1 * m020 / rho + c1o1 / rho - c1o1 - c3o1 * vy2)) * (c1o1 - omega * c1o2);
+            real Gz = -c3o1 * vz2 * (-c1o2 * (c3o1 * m002 / rho + c1o1 / rho - c1o1 - c3o1 * vz2)) * (c1o1 - omega * c1o2);
+            //real Gx     = zero;
+            //real Gy     = zero;
+            //real Gz     = zero;
+            ////////////////////////////////////////////////////////////////////////////////////
+            real XXb = -c2o3 + vx2 + Gx;
+            real XXc = -c1o2 * (XXb + c1o1 + vvx);
+            real XXa = XXc + vvx;
+            real YYb = -c2o3 + vy2 + Gy;
+            real YYc = -c1o2 * (YYb + c1o1 + vvy);
+            real YYa = YYc + vvy;
+            real ZZb = -c2o3 + vz2 + Gz;
+            real ZZc = -c1o2 * (ZZb + c1o1 + vvz);
+            real ZZa = ZZc + vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            mfcbb = mfcbb * (c1o1 - omega) + omega * (-rho * XXc * YYb * ZZb - c2o27);
+            mfabb = mfabb * (c1o1 - omega) + omega * (-rho * XXa * YYb * ZZb - c2o27);
+            mfbcb = mfbcb * (c1o1 - omega) + omega * (-rho * XXb * YYc * ZZb - c2o27);
+            mfbab = mfbab * (c1o1 - omega) + omega * (-rho * XXb * YYa * ZZb - c2o27);
+            mfbbc = mfbbc * (c1o1 - omega) + omega * (-rho * XXb * YYb * ZZc - c2o27);
+            mfbba = mfbba * (c1o1 - omega) + omega * (-rho * XXb * YYb * ZZa - c2o27);
+            mfccb = mfccb * (c1o1 - omega) + omega * (-rho * XXc * YYc * ZZb - c1o54);
+            mfaab = mfaab * (c1o1 - omega) + omega * (-rho * XXa * YYa * ZZb - c1o54);
+            mfcab = mfcab * (c1o1 - omega) + omega * (-rho * XXc * YYa * ZZb - c1o54);
+            mfacb = mfacb * (c1o1 - omega) + omega * (-rho * XXa * YYc * ZZb - c1o54);
+            mfcbc = mfcbc * (c1o1 - omega) + omega * (-rho * XXc * YYb * ZZc - c1o54);
+            mfaba = mfaba * (c1o1 - omega) + omega * (-rho * XXa * YYb * ZZa - c1o54);
+            mfcba = mfcba * (c1o1 - omega) + omega * (-rho * XXc * YYb * ZZa - c1o54);
+            mfabc = mfabc * (c1o1 - omega) + omega * (-rho * XXa * YYb * ZZc - c1o54);
+            mfbcc = mfbcc * (c1o1 - omega) + omega * (-rho * XXb * YYc * ZZc - c1o54);
+            mfbaa = mfbaa * (c1o1 - omega) + omega * (-rho * XXb * YYa * ZZa - c1o54);
+            mfbca = mfbca * (c1o1 - omega) + omega * (-rho * XXb * YYc * ZZa - c1o54);
+            mfbac = mfbac * (c1o1 - omega) + omega * (-rho * XXb * YYa * ZZc - c1o54);
+            mfbbb = mfbbb * (c1o1 - omega) + omega * (-rho * XXb * YYb * ZZb - c8o27);
+            mfccc = mfccc * (c1o1 - omega) + omega * (-rho * XXc * YYc * ZZc - c1o216);
+            mfaac = mfaac * (c1o1 - omega) + omega * (-rho * XXa * YYa * ZZc - c1o216);
+            mfcac = mfcac * (c1o1 - omega) + omega * (-rho * XXc * YYa * ZZc - c1o216);
+            mfacc = mfacc * (c1o1 - omega) + omega * (-rho * XXa * YYc * ZZc - c1o216);
+            mfcca = mfcca * (c1o1 - omega) + omega * (-rho * XXc * YYc * ZZa - c1o216);
+            mfaaa = mfaaa * (c1o1 - omega) + omega * (-rho * XXa * YYa * ZZa - c1o216);
+            mfcaa = mfcaa * (c1o1 - omega) + omega * (-rho * XXc * YYa * ZZa - c1o216);
+            mfaca = mfaca * (c1o1 - omega) + omega * (-rho * XXa * YYc * ZZa - c1o216);
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            //fast
+            //            real oMdrho = one; //comp special
+            //            //real oMdrho = one - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
+            //            //                       mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
+            //            //                       mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb + one);//fehlt mfbbb nicht mehr !!!!Achtung + one
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            real m0, m1, m2;    
+            //            real vx2;
+            //            real vy2;
+            //            real vz2;
+            //            vx2=vvx*vvx;
+            //            vy2=vvy*vvy;
+            //            vz2=vvz*vvz;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            real wadjust;
+            //            real qudricLimit = 0.01f;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            //Hin
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // Z - Dir
+            //            m2    = mfaaa    + mfaac;
+            //            m1    = mfaac    - mfaaa;
+            //            m0    = m2        + mfaab;
+            //            mfaaa = m0;
+            //            m0   += c1o36 * oMdrho;    
+            //            mfaab = m1 ;
+            //            mfaac = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfaba  + mfabc;
+            //            m1    = mfabc  - mfaba;
+            //            m0    = m2        + mfabb;
+            //            mfaba = m0;
+            //            m0   += c1o9 * oMdrho;
+            //            mfabb = m1 ;
+            //            mfabc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfaca  + mfacc;
+            //            m1    = mfacc  - mfaca;
+            //            m0    = m2        + mfacb;
+            //            mfaca = m0;
+            //            m0   += c1o36 * oMdrho;
+            //            mfacb = m1 ;
+            //            mfacc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfbaa    + mfbac;
+            //            m1    = mfbac    - mfbaa;
+            //            m0    = m2        + mfbab;
+            //            mfbaa = m0;
+            //            m0   += c1o9 * oMdrho;
+            //            mfbab = m1 ;
+            //            mfbac = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfbba  + mfbbc;
+            //            m1    = mfbbc  - mfbba;
+            //            m0    = m2        + mfbbb;
+            //            mfbba = m0;
+            //            m0   += c4o9 * oMdrho;
+            //            mfbbb = m1 ;
+            //            mfbbc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfbca  + mfbcc;
+            //            m1    = mfbcc  - mfbca;
+            //            m0    = m2        + mfbcb;
+            //            mfbca = m0;
+            //            m0   += c1o9 * oMdrho;
+            //            mfbcb = m1 ;
+            //            mfbcc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfcaa    + mfcac;
+            //            m1    = mfcac    - mfcaa;
+            //            m0    = m2        + mfcab;
+            //            mfcaa = m0;
+            //            m0   += c1o36 * oMdrho;
+            //            mfcab = m1 ;
+            //            mfcac = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfcba  + mfcbc;
+            //            m1    = mfcbc  - mfcba;
+            //            m0    = m2        + mfcbb;
+            //            mfcba = m0;
+            //            m0   += c1o9 * oMdrho;
+            //            mfcbb = m1 ;
+            //            mfcbc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfcca  + mfccc;
+            //            m1    = mfccc  - mfcca;
+            //            m0    = m2        + mfccb;
+            //            mfcca = m0;
+            //            m0   += c1o36 * oMdrho;
+            //            mfccb = m1 ;
+            //            mfccc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // Y - Dir
+            //            m2    = mfaaa    + mfaca;
+            //            m1    = mfaca    - mfaaa;
+            //            m0    = m2        + mfaba;
+            //            mfaaa = m0;
+            //            m0   += c1o6 * oMdrho;
+            //            mfaba = m1 ;
+            //            mfaca = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfaab  + mfacb;
+            //            m1    = mfacb  - mfaab;
+            //            m0    = m2        + mfabb;
+            //            mfaab = m0;
+            //            mfabb = m1 ;
+            //            mfacb = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfaac  + mfacc;
+            //            m1    = mfacc  - mfaac;
+            //            m0    = m2        + mfabc;
+            //            mfaac = m0;
+            //            m0   += c1o18 * oMdrho;
+            //            mfabc = m1 ;
+            //            mfacc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfbaa    + mfbca;
+            //            m1    = mfbca    - mfbaa;
+            //            m0    = m2        + mfbba;
+            //            mfbaa = m0;
+            //            m0   += c2o3 * oMdrho;
+            //            mfbba = m1 ;
+            //            mfbca = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfbab  + mfbcb;
+            //            m1    = mfbcb  - mfbab;
+            //            m0    = m2        + mfbbb;
+            //            mfbab = m0;
+            //            mfbbb = m1 ;
+            //            mfbcb = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfbac  + mfbcc;
+            //            m1    = mfbcc  - mfbac;
+            //            m0    = m2        + mfbbc;
+            //            mfbac = m0;
+            //            m0   += c2o9 * oMdrho;
+            //            mfbbc = m1 ;
+            //            mfbcc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfcaa    + mfcca;
+            //            m1    = mfcca    - mfcaa;
+            //            m0    = m2        + mfcba;
+            //            mfcaa = m0;
+            //            m0   += c1o6 * oMdrho;
+            //            mfcba = m1 ;
+            //            mfcca = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfcab  + mfccb;
+            //            m1    = mfccb  - mfcab;
+            //            m0    = m2        + mfcbb;
+            //            mfcab = m0;
+            //            mfcbb = m1 ;
+            //            mfccb = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfcac  + mfccc;
+            //            m1    = mfccc  - mfcac;
+            //            m0    = m2        + mfcbc;
+            //            mfcac = m0;
+            //            m0   += c1o18 * oMdrho;
+            //            mfcbc = m1 ;
+            //            mfccc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // X - Dir
+            //            m2    = mfaaa    + mfcaa;
+            //            m1    = mfcaa    - mfaaa;
+            //            m0    = m2        + mfbaa;
+            //            mfaaa = m0;
+            //            m0   += one* oMdrho;
+            //            mfbaa = m1 ;
+            //            mfcaa = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfaba  + mfcba;
+            //            m1    = mfcba  - mfaba;
+            //            m0    = m2        + mfbba;
+            //            mfaba = m0;
+            //            mfbba = m1 ;
+            //            mfcba = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfaca  + mfcca;
+            //            m1    = mfcca  - mfaca;
+            //            m0    = m2        + mfbca;
+            //            mfaca = m0;
+            //            m0   += c1o3 * oMdrho;
+            //            mfbca = m1 ;
+            //            mfcca = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfaab    + mfcab;
+            //            m1    = mfcab    - mfaab;
+            //            m0    = m2        + mfbab;
+            //            mfaab = m0;
+            //            mfbab = m1 ;
+            //            mfcab = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfabb  + mfcbb;
+            //            m1    = mfcbb  - mfabb;
+            //            m0    = m2        + mfbbb;
+            //            mfabb = m0;
+            //            mfbbb = m1 ;
+            //            mfcbb = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfacb  + mfccb;
+            //            m1    = mfccb  - mfacb;
+            //            m0    = m2        + mfbcb;
+            //            mfacb = m0;
+            //            mfbcb = m1 ;
+            //            mfccb = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfaac    + mfcac;
+            //            m1    = mfcac    - mfaac;
+            //            m0    = m2        + mfbac;
+            //            mfaac = m0;
+            //            m0   += c1o3 * oMdrho;
+            //            mfbac = m1 ;
+            //            mfcac = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfabc  + mfcbc;
+            //            m1    = mfcbc  - mfabc;
+            //            m0    = m2        + mfbbc;
+            //            mfabc = m0;
+            //            mfbbc = m1 ;
+            //            mfcbc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m2    = mfacc  + mfccc;
+            //            m1    = mfccc  - mfacc;
+            //            m0    = m2        + mfbcc;
+            //            mfacc = m0;
+            //            m0   += c1o9 * oMdrho;
+            //            mfbcc = m1 ;
+            //            mfccc = m2 ;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //
+            //
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // BGK
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            real OxxPyyPzz = omega;
+            //            real OxyyPxzz  = omega;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
+            //            real OxyyMxzz  = omega;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
+            //            real O4        = omega;
+            //            real O5        = omega;
+            //            real O6        = omega;
+            //
+            //            real mxxPyyPzz = mfcaa + mfaca + mfaac;
+            //            real mxxMyy    = mfcaa - mfaca;
+            //            real mxxMzz      = mfcaa - mfaac;
+            //
+            //            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //            //incl. correction
+            //            {
+            //                real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz+(-two*vx2+vy2+vz2)*rho) + c1o2 * OxxPyyPzz * (mfaaa+(vx2+vy2+vz2)*rho - mxxPyyPzz);
+            //                real dyuy = dxux + omega * c3o2 * (mxxMyy+(-vx2+vy2)*rho);
+            //                real dzuz = dxux + omega * c3o2 * (mxxMzz+(-vx2+vz2)*rho);
+            //
+            //                //relax
+            //                mxxPyyPzz += OxxPyyPzz*(mfaaa +(vx2+vy2+vz2)*rho - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
+            //                mxxMyy    += omega * ((vx2-vy2)*rho-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
+            //                mxxMzz    += omega * ((vx2-vz2)*rho-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
+            //            }
+            //            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //
+            ////             ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            ////             //no correction
+            ////             mxxPyyPzz += OxxPyyPzz*(mfaaa+(vx2+vy2+vz2)*rho-mxxPyyPzz);
+            ////             mxxMyy    += -(-omega) * ((vx2-vy2)*rho-mxxMyy);
+            ////             mxxMzz    += -(-omega) * ((vx2-vz2)*rho-mxxMzz);
+            ////             ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //            mfabb     += omega * ((vvy*vvz)*rho-mfabb);
+            //            mfbab     += omega * ((vvx*vvz)*rho-mfbab);
+            //            mfbba     += omega * ((vvx*vvy)*rho-mfbba);
+            //
+            //            // linear combinations back
+            //            mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+            //            mfaca = c1o3 * (-two*  mxxMyy +      mxxMzz + mxxPyyPzz);
+            //            mfaac = c1o3 * (       mxxMyy - two* mxxMzz + mxxPyyPzz);
+            //
+            //            //3.
+            //            // linear combinations
+            //
+            //            real mxxyPyzz = mfcba + mfabc;
+            //            real mxxyMyzz = mfcba - mfabc;
+            //
+            //            real mxxzPyyz = mfcab + mfacb;
+            //            real mxxzMyyz = mfcab - mfacb;
+            //
+            //            real mxyyPxzz = mfbca + mfbac;
+            //            real mxyyMxzz = mfbca - mfbac;
+            //
+            //            mxxyMyzz += OxyyMxzz*((vx2-vz2)*vvy*rho-mxxyMyzz);
+            //            mxxzMyyz += OxyyMxzz*((vx2-vy2)*vvz*rho-mxxzMyyz);
+            //            mxyyMxzz += OxyyMxzz*((vy2-vz2)*vvx*rho-mxyyMxzz);
+            //
+            //            mxxyPyzz += OxyyPxzz*((c2o3+vx2+vz2)*vvy*rho-mxxyPyzz);
+            //            mxxzPyyz += OxyyPxzz*((c2o3+vx2+vy2)*vvz*rho-mxxzPyyz);
+            //            mxyyPxzz += OxyyPxzz*((c2o3+vy2+vz2)*vvx*rho-mxyyPxzz);
+            //
+            //            mfbbb += OxyyMxzz * (vvx*vvy*vvz*rho - mfbbb);
+            //            
+            //            mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+            //            mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+            //            mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+            //            mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+            //            mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+            //            mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+            //
+            //            //4.
+            //            //mfacc += O4*((c1o3+vy2)*(c1o3+vz2)*rho+c1o9*(mfaaa-one)-mfacc);
+            //            //mfcac += O4*((c1o3+vx2)*(c1o3+vz2)*rho+c1o9*(mfaaa-one)-mfcac);
+            //            //mfcca += O4*((c1o3+vx2)*(c1o3+vy2)*rho+c1o9*(mfaaa-one)-mfcca);
+            //            mfacc += O4*((c1o3+vy2)*(c1o3+vz2)*rho-c1o9-mfacc);
+            //            mfcac += O4*((c1o3+vx2)*(c1o3+vz2)*rho-c1o9-mfcac);
+            //            mfcca += O4*((c1o3+vx2)*(c1o3+vy2)*rho-c1o9-mfcca);
+            //            
+            //            mfcbb += O4*((c1o3+vx2)*vvy*vvz*rho-mfcbb);
+            //            mfbcb += O4*((c1o3+vy2)*vvx*vvz*rho-mfbcb);
+            //            mfbbc += O4*((c1o3+vz2)*vvx*vvy*rho-mfbbc);
+            //
+            //            //5.
+            //            mfbcc += O5*((c1o3+vy2)*(c1o3+vz2)*vvx*rho-mfbcc);
+            //            mfcbc += O5*((c1o3+vx2)*(c1o3+vz2)*vvy*rho-mfcbc);
+            //            mfccb += O5*((c1o3+vx2)*(c1o3+vy2)*vvz*rho-mfccb);
+            //
+            //            //6.
+            //            mfccc += O6*((c1o3+vx2)*(c1o3+vy2)*(c1o3+vz2)*rho-c1o27-mfccc);
+            //
+            //
+            //            //bad fix
+            //            vvx = zero;
+            //            vvy = zero;
+            //            vvz = zero;
+            //            vx2 = zero;
+            //            vy2 = zero;
+            //            vz2 = zero;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            //back
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // Z - Dir
+            //            m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + one* oMdrho) * (     vz2 - vvz) * c1o2; 
+            //            m1 = -mfaac        - two* mfaab *  vvz         +  mfaaa                * (one- vz2)              - one* oMdrho * vz2; 
+            //            m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + one* oMdrho) * (     vz2 + vvz) * c1o2;
+            //            mfaaa = m0;
+            //            mfaab = m1;
+            //            mfaac = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
+            //            m1 = -mfabc        - two* mfabb *  vvz         + mfaba * (one- vz2); 
+            //            m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
+            //            mfaba = m0;
+            //            mfabb = m1;
+            //            mfabc = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+            //            m1 = -mfacc        - two* mfacb *  vvz         +  mfaca                  * (one- vz2)              - c1o3 * oMdrho * vz2; 
+            //            m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+            //            mfaca = m0;
+            //            mfacb = m1;
+            //            mfacc = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
+            //            m1 = -mfbac        - two* mfbab *  vvz         + mfbaa * (one- vz2); 
+            //            m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
+            //            mfbaa = m0;
+            //            mfbab = m1;
+            //            mfbac = m2;
+            //            /////////b//////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
+            //            m1 = -mfbbc        - two* mfbbb *  vvz         + mfbba * (one- vz2); 
+            //            m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
+            //            mfbba = m0;
+            //            mfbbb = m1;
+            //            mfbbc = m2;
+            //            /////////b//////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
+            //            m1 = -mfbcc        - two* mfbcb *  vvz         + mfbca * (one- vz2); 
+            //            m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
+            //            mfbca = m0;
+            //            mfbcb = m1;
+            //            mfbcc = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
+            //            m1 = -mfcac        - two* mfcab *  vvz         +  mfcaa                  * (one- vz2)              - c1o3 * oMdrho * vz2; 
+            //            m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
+            //            mfcaa = m0;
+            //            mfcab = m1;
+            //            mfcac = m2;
+            //            /////////c//////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
+            //            m1 = -mfcbc        - two* mfcbb *  vvz         + mfcba * (one- vz2); 
+            //            m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
+            //            mfcba = m0;
+            //            mfcbb = m1;
+            //            mfcbc = m2;
+            //            /////////c//////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
+            //            m1 = -mfccc        - two* mfccb *  vvz         +  mfcca                  * (one- vz2)              - c1o9 * oMdrho * vz2; 
+            //            m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
+            //            mfcca = m0;
+            //            mfccb = m1;
+            //            mfccc = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // Y - Dir
+            //            m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+            //            m1 = -mfaca        - two* mfaba *  vvy         +  mfaaa                  * (one- vy2)              - c1o6 * oMdrho * vy2; 
+            //            m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+            //            mfaaa = m0;
+            //            mfaba = m1;
+            //            mfaca = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
+            //            m1 = -mfacb        - two* mfabb *  vvy         +  mfaab                  * (one- vy2)              - c2o3 * oMdrho * vy2; 
+            //            m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
+            //            mfaab = m0;
+            //            mfabb = m1;
+            //            mfacb = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
+            //            m1 = -mfacc        - two* mfabc *  vvy         +  mfaac                  * (one- vy2)              - c1o6 * oMdrho * vy2; 
+            //            m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
+            //            mfaac = m0;
+            //            mfabc = m1;
+            //            mfacc = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
+            //            m1 = -mfbca        - two* mfbba *  vvy         + mfbaa * (one- vy2); 
+            //            m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
+            //            mfbaa = m0;
+            //            mfbba = m1;
+            //            mfbca = m2;
+            //            /////////b//////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
+            //            m1 = -mfbcb        - two* mfbbb *  vvy         + mfbab * (one- vy2); 
+            //            m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
+            //            mfbab = m0;
+            //            mfbbb = m1;
+            //            mfbcb = m2;
+            //            /////////b//////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
+            //            m1 = -mfbcc        - two* mfbbc *  vvy         + mfbac * (one- vy2); 
+            //            m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
+            //            mfbac = m0;
+            //            mfbbc = m1;
+            //            mfbcc = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+            //            m1 = -mfcca        - two* mfcba *  vvy         +  mfcaa                   * (one- vy2)              - c1o18 * oMdrho * vy2; 
+            //            m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+            //            mfcaa = m0;
+            //            mfcba = m1;
+            //            mfcca = m2;
+            //            /////////c//////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
+            //            m1 = -mfccb        - two* mfcbb *  vvy         +  mfcab                  * (one- vy2)              - c2o9 * oMdrho * vy2; 
+            //            m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
+            //            mfcab = m0;
+            //            mfcbb = m1;
+            //            mfccb = m2;
+            //            /////////c//////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
+            //            m1 = -mfccc        - two* mfcbc *  vvy         +  mfcac                   * (one- vy2)              - c1o18 * oMdrho * vy2; 
+            //            m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
+            //            mfcac = m0;
+            //            mfcbc = m1;
+            //            mfccc = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            // X - Dir
+            //            m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+            //            m1 = -mfcaa        - two* mfbaa *  vvx         +  mfaaa                   * (one- vx2)              - c1o36 * oMdrho * vx2; 
+            //            m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+            //            mfaaa = m0;
+            //            mfbaa = m1;
+            //            mfcaa = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+            //            m1 = -mfcba        - two* mfbba *  vvx         +  mfaba                  * (one- vx2)              - c1o9 * oMdrho * vx2; 
+            //            m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+            //            mfaba = m0;
+            //            mfbba = m1;
+            //            mfcba = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+            //            m1 = -mfcca        - two* mfbca *  vvx         +  mfaca                   * (one- vx2)              - c1o36 * oMdrho * vx2; 
+            //            m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+            //            mfaca = m0;
+            //            mfbca = m1;
+            //            mfcca = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+            //            m1 = -mfcab        - two* mfbab *  vvx         +  mfaab                  * (one- vx2)              - c1o9 * oMdrho * vx2; 
+            //            m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+            //            mfaab = m0;
+            //            mfbab = m1;
+            //            mfcab = m2;
+            //            ///////////b////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+            //            m1 = -mfcbb        - two* mfbbb *  vvx         +  mfabb                  * (one- vx2)              - c4o9 * oMdrho * vx2; 
+            //            m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+            //            mfabb = m0;
+            //            mfbbb = m1;
+            //            mfcbb = m2;
+            //            ///////////b////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+            //            m1 = -mfccb        - two* mfbcb *  vvx         +  mfacb                  * (one- vx2)              - c1o9 * oMdrho * vx2; 
+            //            m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+            //            mfacb = m0;
+            //            mfbcb = m1;
+            //            mfccb = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            ////////////////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+            //            m1 = -mfcac        - two* mfbac *  vvx         +  mfaac                   * (one- vx2)              - c1o36 * oMdrho * vx2; 
+            //            m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+            //            mfaac = m0;
+            //            mfbac = m1;
+            //            mfcac = m2;
+            //            ///////////c////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
+            //            m1 = -mfcbc        - two* mfbbc *  vvx         +  mfabc                  * (one- vx2)              - c1o9 * oMdrho * vx2; 
+            //            m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
+            //            mfabc = m0;
+            //            mfbbc = m1;
+            //            mfcbc = m2;
+            //            ///////////c////////////////////////////////////////////////////////////////////////
+            //            m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
+            //            m1 = -mfccc        - two* mfbcc *  vvx         +  mfacc                   * (one- vx2)              - c1o36 * oMdrho * vx2; 
+            //            m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
+            //            mfacc = m0;
+            //            mfbcc = m1;
+            //            mfccc = m2;
+            //            ////////////////////////////////////////////////////////////////////////////////////
 
 
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
+            ////////////////////////////////////////////////////////////////////////////////////
+            (D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
+            (D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
+            (D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;     (D.f[ d0P0   ])[k   ]
+            (D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;     (D.f[ d0M0   ])[ks  ]
+            (D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;     (D.f[ d00P   ])[k   ]
+            (D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;     (D.f[ d00M   ])[kb  ]
+            (D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;     (D.f[ dPP0  ])[k   ]
+            (D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;     (D.f[ dMM0  ])[ksw ]
+            (D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;     (D.f[ dPM0  ])[ks  ]
+            (D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;     (D.f[ dMP0  ])[kw  ]
+            (D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;     (D.f[ dP0P  ])[k   ]
+            (D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;     (D.f[ dM0M  ])[kbw ]
+            (D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;     (D.f[ dP0M  ])[kb  ]
+            (D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;     (D.f[ dM0P  ])[kw  ]
+            (D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;     (D.f[ d0PP  ])[k   ]
+            (D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;     (D.f[ d0MM  ])[kbs ]
+            (D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;     (D.f[ d0PM  ])[kb  ]
+            (D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;     (D.f[ d0MP  ])[ks  ]
+            (D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;     (D.f[ d000])[k   ]
+            (D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;     (D.f[ dPPP ])[k   ]
+            (D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;     (D.f[ dPMP ])[ks  ]
+            (D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;     (D.f[ dPPM ])[kb  ]
+            (D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;     (D.f[ dPMM ])[kbs ]
+            (D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;     (D.f[ dMPP ])[kw  ]
+            (D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;     (D.f[ dMMP ])[ksw ]
+            (D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;     (D.f[ dMPM ])[kbw ]
+            (D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;     (D.f[ dMMM ])[kbsw]
+                                        ////////////////////////////////////////////////////////////////////////////////////
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus_Device.cuh
index 2a4775b95d0b4d371fadb332a08868fda0fafd37..191e19041cc2199b54742a8e7c0273e9efed1e44 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus_Device.cuh
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus_Device.cuh
@@ -5,12 +5,12 @@
 #include <curand.h>
 
 __global__ void B15CompressibleNavierStokesBGKplus_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
+    real omega,
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    bool EvenOrOdd);
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes.cu
index cf5971023e5f1110dd8bfb11bff38626ecc5dc7a..5f2d069459a3cdfc61b79771316f2d81c3039f98 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes.cu
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<B92CompressibleNavierStokes> B92CompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
 {
-	return std::shared_ptr<B92CompressibleNavierStokes>(new B92CompressibleNavierStokes(para, level));
+    return std::shared_ptr<B92CompressibleNavierStokes>(new B92CompressibleNavierStokes(para, level));
 }
 
 void B92CompressibleNavierStokes::run()
@@ -27,11 +27,11 @@ void B92CompressibleNavierStokes::run()
 
 B92CompressibleNavierStokes::B92CompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
 {
-	this->para = para;
-	this->level = level;
+    this->para = para;
+    this->level = level;
 
-	myPreProcessorTypes.push_back(InitCompSP27);
-	
+    myPreProcessorTypes.push_back(InitCompSP27);
+    
 }
 
 B92CompressibleNavierStokes::B92CompressibleNavierStokes()
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes.h b/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes.h
index 8b7ba23b33c6c78c1a87113a4e61748da42d400d..eabe949c0a11b6d5e38b9861194aec0f196cc099 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes.h
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes.h
@@ -6,11 +6,11 @@
 class B92CompressibleNavierStokes : public KernelImp
 {
 public:
-	static std::shared_ptr<B92CompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-	
+    static std::shared_ptr<B92CompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
+    void run();
+    
 private:
-	B92CompressibleNavierStokes();
-	B92CompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
+    B92CompressibleNavierStokes();
+    B92CompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
 };
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes_Device.cu
index 415634bb4749fb4307419ce58ca96c0c0d0d3862..53b916a26cabe8ef23bdd6ea0570a2d57c0cc173 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes_Device.cu
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes_Device.cu
@@ -7,237 +7,237 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 
-__global__ void B92CompressibleNavierStokes_Device(	real omega,
-														unsigned int* bcMatD,
-														unsigned int* neighborX,
-														unsigned int* neighborY,
-														unsigned int* neighborZ,
-														real* DDStart,
-														int size_Mat,
-														bool EvenOrOdd)
+__global__ void B92CompressibleNavierStokes_Device(    real omega,
+                                                        unsigned int* bcMatD,
+                                                        unsigned int* neighborX,
+                                                        unsigned int* neighborY,
+                                                        unsigned int* neighborZ,
+                                                        real* DDStart,
+                                                        int size_Mat,
+                                                        bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	///////////////////////////////////////////////////////////////////////////////
-
-	if (k < size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real fE = (D.f[dP00])[k];//ke
-			real fW = (D.f[dM00])[kw];
-			real fN = (D.f[d0P0])[k];//kn
-			real fS = (D.f[d0M0])[ks];
-			real fT = (D.f[d00P])[k];//kt
-			real fB = (D.f[d00M])[kb];
-			real fNE = (D.f[dPP0])[k];//kne
-			real fSW = (D.f[dMM0])[ksw];
-			real fSE = (D.f[dPM0])[ks];//kse
-			real fNW = (D.f[dMP0])[kw];//knw
-			real fTE = (D.f[dP0P])[k];//kte
-			real fBW = (D.f[dM0M])[kbw];
-			real fBE = (D.f[dP0M])[kb];//kbe
-			real fTW = (D.f[dM0P])[kw];//ktw
-			real fTN = (D.f[d0PP])[k];//ktn
-			real fBS = (D.f[d0MM])[kbs];
-			real fBN = (D.f[d0PM])[kb];//kbn
-			real fTS = (D.f[d0MP])[ks];//kts
-			real fZERO = (D.f[d000])[k];//kzero
-			real fTNE = (D.f[dPPP])[k];//ktne
-			real fTSW = (D.f[dMMP])[ksw];//ktsw
-			real fTSE = (D.f[dPMP])[ks];//ktse
-			real fTNW = (D.f[dMPP])[kw];//ktnw
-			real fBNE = (D.f[dPPM])[kb];//kbne
-			real fBSW = (D.f[dMMM])[kbsw];
-			real fBSE = (D.f[dPMM])[kbs];//kbse
-			real fBNW = (D.f[dMPM])[kbw];//kbnw
-										   ////////////////////////////////////////////////////////////////////////////////
-			real drho = (fTNE + fBSW) + (fTSW + fBNE) + (fTSE + fBNW) + (fTNW + fBSE) + (fNE + fSW) + (fNW + fSE) + (fTE + fBW) + (fBE + fTW) + (fTN + fBS) + (fBN + fTS) + (fE + fW) + (fN + fS) + (fT + fB) + fZERO;
-			real rho = drho + c1o1;
-			real OORho = c1o1 / rho;
-			real vx1 = OORho*((fTNE - fBSW) + (fBNE - fTSW) + (fTSE - fBNW) + (fBSE - fTNW) + (fNE - fSW) + (fSE - fNW) + (fTE - fBW) + (fBE - fTW) + (fE - fW));
-			real vx2 = OORho*((fTNE - fBSW) + (fBNE - fTSW) + (fBNW - fTSE) + (fTNW - fBSE) + (fNE - fSW) + (fNW - fSE) + (fTN - fBS) + (fBN - fTS) + (fN - fS));
-			real vx3 = OORho*((fTNE - fBSW) + (fTSW - fBNE) + (fTSE - fBNW) + (fTNW - fBSE) + (fTE - fBW) + (fTW - fBE) + (fTN - fBS) + (fTS - fBN) + (fT - fB));
-			////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//BGK comp
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real cusq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			fZERO = fZERO *(c1o1 + (-omega)) - (-omega)*   c8o27*  (drho - rho * cusq);
-			fE = fE    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(vx1)+c9o2*(vx1)*(vx1)-cusq));
-			fW = fW    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(-vx1) + c9o2*(-vx1)*(-vx1) - cusq));
-			fN = fN    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(vx2)+c9o2*(vx2)*(vx2)-cusq));
-			fS = fS    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(-vx2) + c9o2*(-vx2)*(-vx2) - cusq));
-			fT = fT    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(vx3)+c9o2*(vx3)*(vx3)-cusq));
-			fB = fB    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(-vx3) + c9o2*(-vx3)*(-vx3) - cusq));
-			fNE = fNE   *(c1o1 + (-omega)) - (-omega)*   c1o54*  (drho + rho * (c3o1*(vx1 + vx2) + c9o2*(vx1 + vx2)*(vx1 + vx2) - cusq));
-			fSW = fSW   *(c1o1 + (-omega)) - (-omega)*   c1o54*  (drho + rho * (c3o1*(-vx1 - vx2) + c9o2*(-vx1 - vx2)*(-vx1 - vx2) - cusq));
-			fSE = fSE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx1 - vx2) + c9o2*(vx1 - vx2)*(vx1 - vx2) - cusq));
-			fNW = fNW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx1 + vx2) + c9o2*(-vx1 + vx2)*(-vx1 + vx2) - cusq));
-			fTE = fTE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx1 + vx3) + c9o2*(vx1 + vx3)*(vx1 + vx3) - cusq));
-			fBW = fBW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx1 - vx3) + c9o2*(-vx1 - vx3)*(-vx1 - vx3) - cusq));
-			fBE = fBE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx1 - vx3) + c9o2*(vx1 - vx3)*(vx1 - vx3) - cusq));
-			fTW = fTW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx1 + vx3) + c9o2*(-vx1 + vx3)*(-vx1 + vx3) - cusq));
-			fTN = fTN   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx2 + vx3) + c9o2*(vx2 + vx3)*(vx2 + vx3) - cusq));
-			fBS = fBS   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx2 - vx3) + c9o2*(-vx2 - vx3)*(-vx2 - vx3) - cusq));
-			fBN = fBN   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx2 - vx3) + c9o2*(vx2 - vx3)*(vx2 - vx3) - cusq));
-			fTS = fTS   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx2 + vx3) + c9o2*(-vx2 + vx3)*(-vx2 + vx3) - cusq));
-			fTNE = fTNE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(vx1 + vx2 + vx3) + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) - cusq));
-			fBSW = fBSW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(-vx1 - vx2 - vx3) + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) - cusq));
-			fBNE = fBNE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(vx1 + vx2 - vx3) + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) - cusq));
-			fTSW = fTSW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(-vx1 - vx2 + vx3) + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) - cusq));
-			fTSE = fTSE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(vx1 - vx2 + vx3) + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) - cusq));
-			fBNW = fBNW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(-vx1 + vx2 - vx3) + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) - cusq));
-			fBSE = fBSE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(vx1 - vx2 - vx3) + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) - cusq));
-			fTNW = fTNW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(-vx1 + vx2 + vx3) + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) - cusq));
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-			//////////////////////////////////////////////////////////////////////////                            
-			(D.f[dP00])[k] = fW;
-			(D.f[dM00])[kw] = fE;
-			(D.f[d0P0])[k] = fS;
-			(D.f[d0M0])[ks] = fN;
-			(D.f[d00P])[k] = fB;
-			(D.f[d00M])[kb] = fT;
-			(D.f[dPP0])[k] = fSW;
-			(D.f[dMM0])[ksw] = fNE;
-			(D.f[dPM0])[ks] = fNW;
-			(D.f[dMP0])[kw] = fSE;
-			(D.f[dP0P])[k] = fBW;
-			(D.f[dM0M])[kbw] = fTE;
-			(D.f[dP0M])[kb] = fTW;
-			(D.f[dM0P])[kw] = fBE;
-			(D.f[d0PP])[k] = fBS;
-			(D.f[d0MM])[kbs] = fTN;
-			(D.f[d0PM])[kb] = fTS;
-			(D.f[d0MP])[ks] = fBN;
-			(D.f[d000])[k] = fZERO;
-			(D.f[dPPP])[k] = fBSW;
-			(D.f[dPMP])[ks] = fBNW;
-			(D.f[dPPM])[kb] = fTSW;
-			(D.f[dPMM])[kbs] = fTNW;
-			(D.f[dMPP])[kw] = fBSE;
-			(D.f[dMMP])[ksw] = fBNE;
-			(D.f[dMPM])[kbw] = fTSE;
-			(D.f[dMMM])[kbsw] = fTNE;
-			//////////////////////////////////////////////////////////////////////////                            
-		}
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    ///////////////////////////////////////////////////////////////////////////////
+
+    if (k < size_Mat)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
+
+        if ((BC != GEO_SOLID) && (BC != GEO_VOID))
+        {
+            Distributions27 D;
+            if (EvenOrOdd == true)
+            {
+                D.f[dP00] = &DDStart[dP00 * size_Mat];
+                D.f[dM00] = &DDStart[dM00 * size_Mat];
+                D.f[d0P0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0M0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00P] = &DDStart[d00P * size_Mat];
+                D.f[d00M] = &DDStart[d00M * size_Mat];
+                D.f[dPP0] = &DDStart[dPP0 * size_Mat];
+                D.f[dMM0] = &DDStart[dMM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dPM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dMP0 * size_Mat];
+                D.f[dP0P] = &DDStart[dP0P * size_Mat];
+                D.f[dM0M] = &DDStart[dM0M * size_Mat];
+                D.f[dP0M] = &DDStart[dP0M * size_Mat];
+                D.f[dM0P] = &DDStart[dM0P * size_Mat];
+                D.f[d0PP] = &DDStart[d0PP * size_Mat];
+                D.f[d0MM] = &DDStart[d0MM * size_Mat];
+                D.f[d0PM] = &DDStart[d0PM * size_Mat];
+                D.f[d0MP] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dPPP] = &DDStart[dPPP * size_Mat];
+                D.f[dMMP] = &DDStart[dMMP * size_Mat];
+                D.f[dPMP] = &DDStart[dPMP * size_Mat];
+                D.f[dMPP] = &DDStart[dMPP * size_Mat];
+                D.f[dPPM] = &DDStart[dPPM * size_Mat];
+                D.f[dMMM] = &DDStart[dMMM * size_Mat];
+                D.f[dPMM] = &DDStart[dPMM * size_Mat];
+                D.f[dMPM] = &DDStart[dMPM * size_Mat];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * size_Mat];
+                D.f[dP00] = &DDStart[dM00 * size_Mat];
+                D.f[d0M0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0P0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00M] = &DDStart[d00P * size_Mat];
+                D.f[d00P] = &DDStart[d00M * size_Mat];
+                D.f[dMM0] = &DDStart[dPP0 * size_Mat];
+                D.f[dPP0] = &DDStart[dMM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dPM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dMP0 * size_Mat];
+                D.f[dM0M] = &DDStart[dP0P * size_Mat];
+                D.f[dP0P] = &DDStart[dM0M * size_Mat];
+                D.f[dM0P] = &DDStart[dP0M * size_Mat];
+                D.f[dP0M] = &DDStart[dM0P * size_Mat];
+                D.f[d0MM] = &DDStart[d0PP * size_Mat];
+                D.f[d0PP] = &DDStart[d0MM * size_Mat];
+                D.f[d0MP] = &DDStart[d0PM * size_Mat];
+                D.f[d0PM] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dMMM] = &DDStart[dPPP * size_Mat];
+                D.f[dPPM] = &DDStart[dMMP * size_Mat];
+                D.f[dMPM] = &DDStart[dPMP * size_Mat];
+                D.f[dPMM] = &DDStart[dMPP * size_Mat];
+                D.f[dMMP] = &DDStart[dPPM * size_Mat];
+                D.f[dPPP] = &DDStart[dMMM * size_Mat];
+                D.f[dMPP] = &DDStart[dPMM * size_Mat];
+                D.f[dPMP] = &DDStart[dMPM * size_Mat];
+            }
+
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            //unsigned int kzero= k;
+            //unsigned int ke   = k;
+            unsigned int kw = neighborX[k];
+            //unsigned int kn   = k;
+            unsigned int ks = neighborY[k];
+            //unsigned int kt   = k;
+            unsigned int kb = neighborZ[k];
+            unsigned int ksw = neighborY[kw];
+            //unsigned int kne  = k;
+            //unsigned int kse  = ks;
+            //unsigned int knw  = kw;
+            unsigned int kbw = neighborZ[kw];
+            //unsigned int kte  = k;
+            //unsigned int kbe  = kb;
+            //unsigned int ktw  = kw;
+            unsigned int kbs = neighborZ[ks];
+            //unsigned int ktn  = k;
+            //unsigned int kbn  = kb;
+            //unsigned int kts  = ks;
+            //unsigned int ktse = ks;
+            //unsigned int kbnw = kbw;
+            //unsigned int ktnw = kw;
+            //unsigned int kbse = kbs;
+            //unsigned int ktsw = ksw;
+            //unsigned int kbne = kb;
+            //unsigned int ktne = k;
+            unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real fE = (D.f[dP00])[k];//ke
+            real fW = (D.f[dM00])[kw];
+            real fN = (D.f[d0P0])[k];//kn
+            real fS = (D.f[d0M0])[ks];
+            real fT = (D.f[d00P])[k];//kt
+            real fB = (D.f[d00M])[kb];
+            real fNE = (D.f[dPP0])[k];//kne
+            real fSW = (D.f[dMM0])[ksw];
+            real fSE = (D.f[dPM0])[ks];//kse
+            real fNW = (D.f[dMP0])[kw];//knw
+            real fTE = (D.f[dP0P])[k];//kte
+            real fBW = (D.f[dM0M])[kbw];
+            real fBE = (D.f[dP0M])[kb];//kbe
+            real fTW = (D.f[dM0P])[kw];//ktw
+            real fTN = (D.f[d0PP])[k];//ktn
+            real fBS = (D.f[d0MM])[kbs];
+            real fBN = (D.f[d0PM])[kb];//kbn
+            real fTS = (D.f[d0MP])[ks];//kts
+            real fZERO = (D.f[d000])[k];//kzero
+            real fTNE = (D.f[dPPP])[k];//ktne
+            real fTSW = (D.f[dMMP])[ksw];//ktsw
+            real fTSE = (D.f[dPMP])[ks];//ktse
+            real fTNW = (D.f[dMPP])[kw];//ktnw
+            real fBNE = (D.f[dPPM])[kb];//kbne
+            real fBSW = (D.f[dMMM])[kbsw];
+            real fBSE = (D.f[dPMM])[kbs];//kbse
+            real fBNW = (D.f[dMPM])[kbw];//kbnw
+                                           ////////////////////////////////////////////////////////////////////////////////
+            real drho = (fTNE + fBSW) + (fTSW + fBNE) + (fTSE + fBNW) + (fTNW + fBSE) + (fNE + fSW) + (fNW + fSE) + (fTE + fBW) + (fBE + fTW) + (fTN + fBS) + (fBN + fTS) + (fE + fW) + (fN + fS) + (fT + fB) + fZERO;
+            real rho = drho + c1o1;
+            real OORho = c1o1 / rho;
+            real vx1 = OORho*((fTNE - fBSW) + (fBNE - fTSW) + (fTSE - fBNW) + (fBSE - fTNW) + (fNE - fSW) + (fSE - fNW) + (fTE - fBW) + (fBE - fTW) + (fE - fW));
+            real vx2 = OORho*((fTNE - fBSW) + (fBNE - fTSW) + (fBNW - fTSE) + (fTNW - fBSE) + (fNE - fSW) + (fNW - fSE) + (fTN - fBS) + (fBN - fTS) + (fN - fS));
+            real vx3 = OORho*((fTNE - fBSW) + (fTSW - fBNE) + (fTSE - fBNW) + (fTNW - fBSE) + (fTE - fBW) + (fTW - fBE) + (fTN - fBS) + (fTS - fBN) + (fT - fB));
+            ////////////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //BGK comp
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real cusq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            fZERO = fZERO *(c1o1 + (-omega)) - (-omega)*   c8o27*  (drho - rho * cusq);
+            fE = fE    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(vx1)+c9o2*(vx1)*(vx1)-cusq));
+            fW = fW    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(-vx1) + c9o2*(-vx1)*(-vx1) - cusq));
+            fN = fN    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(vx2)+c9o2*(vx2)*(vx2)-cusq));
+            fS = fS    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(-vx2) + c9o2*(-vx2)*(-vx2) - cusq));
+            fT = fT    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(vx3)+c9o2*(vx3)*(vx3)-cusq));
+            fB = fB    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + rho * (c3o1*(-vx3) + c9o2*(-vx3)*(-vx3) - cusq));
+            fNE = fNE   *(c1o1 + (-omega)) - (-omega)*   c1o54*  (drho + rho * (c3o1*(vx1 + vx2) + c9o2*(vx1 + vx2)*(vx1 + vx2) - cusq));
+            fSW = fSW   *(c1o1 + (-omega)) - (-omega)*   c1o54*  (drho + rho * (c3o1*(-vx1 - vx2) + c9o2*(-vx1 - vx2)*(-vx1 - vx2) - cusq));
+            fSE = fSE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx1 - vx2) + c9o2*(vx1 - vx2)*(vx1 - vx2) - cusq));
+            fNW = fNW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx1 + vx2) + c9o2*(-vx1 + vx2)*(-vx1 + vx2) - cusq));
+            fTE = fTE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx1 + vx3) + c9o2*(vx1 + vx3)*(vx1 + vx3) - cusq));
+            fBW = fBW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx1 - vx3) + c9o2*(-vx1 - vx3)*(-vx1 - vx3) - cusq));
+            fBE = fBE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx1 - vx3) + c9o2*(vx1 - vx3)*(vx1 - vx3) - cusq));
+            fTW = fTW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx1 + vx3) + c9o2*(-vx1 + vx3)*(-vx1 + vx3) - cusq));
+            fTN = fTN   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx2 + vx3) + c9o2*(vx2 + vx3)*(vx2 + vx3) - cusq));
+            fBS = fBS   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx2 - vx3) + c9o2*(-vx2 - vx3)*(-vx2 - vx3) - cusq));
+            fBN = fBN   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(vx2 - vx3) + c9o2*(vx2 - vx3)*(vx2 - vx3) - cusq));
+            fTS = fTS   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + rho * (c3o1*(-vx2 + vx3) + c9o2*(-vx2 + vx3)*(-vx2 + vx3) - cusq));
+            fTNE = fTNE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(vx1 + vx2 + vx3) + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) - cusq));
+            fBSW = fBSW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(-vx1 - vx2 - vx3) + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) - cusq));
+            fBNE = fBNE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(vx1 + vx2 - vx3) + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) - cusq));
+            fTSW = fTSW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(-vx1 - vx2 + vx3) + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) - cusq));
+            fTSE = fTSE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(vx1 - vx2 + vx3) + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) - cusq));
+            fBNW = fBNW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(-vx1 + vx2 - vx3) + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) - cusq));
+            fBSE = fBSE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(vx1 - vx2 - vx3) + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) - cusq));
+            fTNW = fTNW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + rho * (c3o1*(-vx1 + vx2 + vx3) + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) - cusq));
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+            //////////////////////////////////////////////////////////////////////////                            
+            (D.f[dP00])[k] = fW;
+            (D.f[dM00])[kw] = fE;
+            (D.f[d0P0])[k] = fS;
+            (D.f[d0M0])[ks] = fN;
+            (D.f[d00P])[k] = fB;
+            (D.f[d00M])[kb] = fT;
+            (D.f[dPP0])[k] = fSW;
+            (D.f[dMM0])[ksw] = fNE;
+            (D.f[dPM0])[ks] = fNW;
+            (D.f[dMP0])[kw] = fSE;
+            (D.f[dP0P])[k] = fBW;
+            (D.f[dM0M])[kbw] = fTE;
+            (D.f[dP0M])[kb] = fTW;
+            (D.f[dM0P])[kw] = fBE;
+            (D.f[d0PP])[k] = fBS;
+            (D.f[d0MM])[kbs] = fTN;
+            (D.f[d0PM])[kb] = fTS;
+            (D.f[d0MP])[ks] = fBN;
+            (D.f[d000])[k] = fZERO;
+            (D.f[dPPP])[k] = fBSW;
+            (D.f[dPMP])[ks] = fBNW;
+            (D.f[dPPM])[kb] = fTSW;
+            (D.f[dPMM])[kbs] = fTNW;
+            (D.f[dMPP])[kw] = fBSE;
+            (D.f[dMMP])[ksw] = fBNE;
+            (D.f[dMPM])[kbw] = fTSE;
+            (D.f[dMMM])[kbsw] = fTNE;
+            //////////////////////////////////////////////////////////////////////////                            
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes_Device.cuh
index 4e0450452ddeca71cfd7c76074988159e51fa78d..25406d56a770f59e1f014c54debd03d80dcc86cc 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes_Device.cuh
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes_Device.cuh
@@ -5,13 +5,13 @@
 #include <curand.h>
 
 __global__ void B92CompressibleNavierStokes_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
+    real omega,
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes.cu
deleted file mode 100644
index 2f906587857bfa6cf90d0441a5488efefc140f3d..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes.cu
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "C06CompressibleNavierStokes.h"
-
-#include "C06CompressibleNavierStokes_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<C06CompressibleNavierStokes> C06CompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<C06CompressibleNavierStokes>(new C06CompressibleNavierStokes(para, level));
-}
-
-void C06CompressibleNavierStokes::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    C06CompressibleNavierStokes_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_Cascade_Comp_SP_27 execution failed");
-}
-
-C06CompressibleNavierStokes::C06CompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
-
-C06CompressibleNavierStokes::C06CompressibleNavierStokes()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes.h b/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes.h
deleted file mode 100644
index 8004ad52ea2471ed6319fc373175e509dedef5ff..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef C06CompressibleNavierStokes_H
-#define C06CompressibleNavierStokes_H
-
-#include "Kernel/KernelImp.h"
-
-class C06CompressibleNavierStokes : public KernelImp
-{
-public:
-	static std::shared_ptr<C06CompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	C06CompressibleNavierStokes();
-	C06CompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes_Device.cu
deleted file mode 100644
index 444a575d7add0f5d33acc779f627195e7180e81a..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes_Device.cu
+++ /dev/null
@@ -1,766 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void C06CompressibleNavierStokes_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( (BC != GEO_SOLID) && (BC != GEO_VOID) )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];//[ke   ];
-			real mfabb = (D.f[dM00])[kw ];//[kw   ];
-			real mfbcb = (D.f[d0P0])[k  ];//[kn   ];
-			real mfbab = (D.f[d0M0])[ks ];//[ks   ];
-			real mfbbc = (D.f[d00P])[k  ];//[kt   ];
-			real mfbba = (D.f[d00M])[kb ];//[kb   ];
-			real mfccb = (D.f[dPP0])[k  ];//[kne  ];
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];
-			real mfcab = (D.f[dPM0])[ks ];//[kse  ];
-			real mfacb = (D.f[dMP0])[kw ];//[knw  ];
-			real mfcbc = (D.f[dP0P])[k  ];//[kte  ];
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];
-			real mfcba = (D.f[dP0M])[kb ];//[kbe  ];
-			real mfabc = (D.f[dM0P])[kw ];//[ktw  ];
-			real mfbcc = (D.f[d0PP])[k  ];//[ktn  ];
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];
-			real mfbca = (D.f[d0PM])[kb ];//[kbn  ];
-			real mfbac = (D.f[d0MP])[ks ];//[kts  ];
-			real mfbbb = (D.f[d000])[k  ];//[kzero];
-			real mfccc = (D.f[dPPP])[k  ];//[ktne ];
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];
-			real mfcac = (D.f[dPMP])[ks ];//[ktse ];
-			real mfacc = (D.f[dMPP])[kw ];//[ktnw ];
-			real mfcca = (D.f[dPPM])[kb ];//[kbne ];
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ]
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];
-			////////////////////////////////////////////////////////////////////////////////////
-			real rho = (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-						   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-						   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb) + c1o1;//!!!Achtung + one
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb)) / rho;
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab)) / rho;
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special 
-			//real oMdrho = one - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-			//					   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-			//					   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-			////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimit = 0.01f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cascade
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz  = c1o1;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz  = c1o1;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4        = c1o1;
-			real O5        = c1o1;
-			real O6        = c1o1;
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy    += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz    += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 
-// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// 			//no correction
-// 			mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);
-// 			mxxMyy    += -(-omega) * (-mxxMyy);
-// 			mxxMzz    += -(-omega) * (-mxxMzz);
-// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb     += omega * (-mfabb);
-			mfbab     += omega * (-mfbab);
-			mfbba     += omega * (-mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			mfbbb     += wadjust * (-mfbbb);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			mxxyPyzz  += wadjust * (-mxxyPyzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			mxxyMyzz  += wadjust * (-mxxyMyzz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			mxxzPyyz  += wadjust * (-mxxzPyyz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			mxxzMyyz  += wadjust * (-mxxzMyyz);
-			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			mxyyPxzz  += wadjust * (-mxyyPxzz);
-			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			mxyyMxzz  += wadjust * (-mxyyMxzz);
-
-			// linear combinations back
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			mfacc = mfaaa * c1o9 * O4 + (c1o1 - O4) * mfacc; 
-			mfcac = mfaaa * c1o9 * O4 + (c1o1 - O4) * mfcac; 
-			mfcca = mfaaa * c1o9 * O4 + (c1o1 - O4) * mfcca; 
-			
-			mfbbc += O4 * (-mfbbc); 
-			mfbcb += O4 * (-mfbcb); 
-			mfcbb += O4 * (-mfcbb); 
-					
-			//5.
-			mfbcc += O5 * (-mfbcc);
-			mfcbc += O5 * (-mfcbc);
-			mfccb += O5 * (-mfccb);
-
-			//6.
-			mfccc = mfaaa * c1o27 * O6 + (c1o1 - O6) * mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa                * (c1o1- vz2)              - c1o1* oMdrho * vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca                  * (c1o1- vz2)              - c1o9 * oMdrho * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab                  * (c1o1- vy2)              - c2o3 * oMdrho * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab                  * (c1o1- vy2)              - c2o9 * oMdrho * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb                  * (c1o1- vx2)              - c4o9 * oMdrho * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00   ])[k   ] = mfabb;                                                                     
-			(D.f[ dM00   ])[kw  ] = mfcbb;                                                                   
-			(D.f[ d0P0   ])[k   ] = mfbab;
-			(D.f[ d0M0   ])[ks  ] = mfbcb;
-			(D.f[ d00P   ])[k   ] = mfbba;
-			(D.f[ d00M   ])[kb  ] = mfbbc;
-			(D.f[ dPP0  ])[k   ] = mfaab;
-			(D.f[ dMM0  ])[ksw ] = mfccb;
-			(D.f[ dPM0  ])[ks  ] = mfacb;
-			(D.f[ dMP0  ])[kw  ] = mfcab;
-			(D.f[ dP0P  ])[k   ] = mfaba;
-			(D.f[ dM0M  ])[kbw ] = mfcbc;
-			(D.f[ dP0M  ])[kb  ] = mfabc;
-			(D.f[ dM0P  ])[kw  ] = mfcba;
-			(D.f[ d0PP  ])[k   ] = mfbaa;
-			(D.f[ d0MM  ])[kbs ] = mfbcc;
-			(D.f[ d0PM  ])[kb  ] = mfbac;
-			(D.f[ d0MP  ])[ks  ] = mfbca;
-			(D.f[ d000])[k   ] = mfbbb;
-			(D.f[ dPPP ])[k   ] = mfaaa;
-			(D.f[ dPMP ])[ks  ] = mfaca;
-			(D.f[ dPPM ])[kb  ] = mfaac;
-			(D.f[ dPMM ])[kbs ] = mfacc;
-			(D.f[ dMPP ])[kw  ] = mfcaa;
-			(D.f[ dMMP ])[ksw ] = mfcca;
-			(D.f[ dMPM ])[kbw ] = mfcac;
-			(D.f[ dMMM ])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes_Device.cuh
deleted file mode 100644
index fb8fc657a03c89efbad879ca1c9b4e493acabd86..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes_Device.cuh
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef C06CompressibleNavierStokes_Device_H
-#define C06CompressibleNavierStokes_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void C06CompressibleNavierStokes_Device(
-	real s9,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes.cu
deleted file mode 100644
index 7e8a0f5af702da465116320c0a02638b4a5274f9..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes.cu
+++ /dev/null
@@ -1,41 +0,0 @@
-#include "K08CompressibleNavierStokes.h"
-
-#include "K08CompressibleNavierStokes_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<K08CompressibleNavierStokes> K08CompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K08CompressibleNavierStokes>(new K08CompressibleNavierStokes(para, level));
-}
-
-void K08CompressibleNavierStokes::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    K08CompressibleNavierStokes_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_Cum_Comp_SP_27 execution failed");
-}
-
-
-K08CompressibleNavierStokes::K08CompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
-
-K08CompressibleNavierStokes::K08CompressibleNavierStokes()
-{
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes.h
deleted file mode 100644
index 2f91a459818173775aeb0b966ec6677fe7803b48..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K08CompressibleNavierStokes_H
-#define K08CompressibleNavierStokes_H
-
-#include "Kernel/KernelImp.h"
-
-class K08CompressibleNavierStokes : public KernelImp
-{
-public:
-	static std::shared_ptr<K08CompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K08CompressibleNavierStokes();
-	K08CompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
-
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes_Device.cu
deleted file mode 100644
index 4c1b2979d9c38ab9a229d826ede1e0e33acc2337..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes_Device.cu
+++ /dev/null
@@ -1,907 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K08CompressibleNavierStokes_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kzero = k;
-			unsigned int ke = k;
-			unsigned int kw = neighborX[k];
-			unsigned int kn = k;
-			unsigned int ks = neighborY[k];
-			unsigned int kt = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			unsigned int kne = k;
-			unsigned int kse = ks;
-			unsigned int knw = kw;
-			unsigned int kbw = neighborZ[kw];
-			unsigned int kte = k;
-			unsigned int kbe = kb;
-			unsigned int ktw = kw;
-			unsigned int kbs = neighborZ[ks];
-			unsigned int ktn = k;
-			unsigned int kbn = kb;
-			unsigned int kts = ks;
-			unsigned int ktse = ks;
-			unsigned int kbnw = kbw;
-			unsigned int ktnw = kw;
-			unsigned int kbse = kbs;
-			unsigned int ktsw = ksw;
-			unsigned int kbne = kb;
-			unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real f_E = (D.f[dP00])[ke];// +  c2over27 ;
-			real f_W = (D.f[dM00])[kw];// +  c2over27 ;
-			real f_N = (D.f[d0P0])[kn];// +  c2over27 ;
-			real f_S = (D.f[d0M0])[ks];// +  c2over27 ;
-			real f_T = (D.f[d00P])[kt];// +  c2over27 ;
-			real f_B = (D.f[d00M])[kb];// +  c2over27 ;
-			real f_NE = (D.f[dPP0])[kne];// +  c1over54 ;
-			real f_SS = (D.f[dMM0])[ksw];// +  c1over54 ;
-			real f_SE = (D.f[dPM0])[kse];// +  c1over54 ;
-			real f_NW = (D.f[dMP0])[knw];// +  c1over54 ;
-			real f_TE = (D.f[dP0P])[kte];// +  c1over54 ;
-			real f_BW = (D.f[dM0M])[kbw];// +  c1over54 ;
-			real f_EB = (D.f[dP0M])[kbe];// +  c1over54 ;
-			real f_TW = (D.f[dM0P])[ktw];// +  c1over54 ;
-			real f_TN = (D.f[d0PP])[ktn];// +  c1over54 ;
-			real f_BS = (D.f[d0MM])[kbs];// +  c1over54 ;
-			real f_BN = (D.f[d0PM])[kbn];// +  c1over54 ;
-			real f_TS = (D.f[d0MP])[kts];// +  c1over54 ;
-			real f_R = (D.f[d000])[kzero];// +  c8over27 ;
-			real f_TNE = (D.f[dPPP])[ktne];// +  c1over216;
-			real f_TSW = (D.f[dMMP])[ktsw];// +  c1over216;
-			real f_TSE = (D.f[dPMP])[ktse];// +  c1over216;
-			real f_TNW = (D.f[dMPP])[ktnw];// +  c1over216;
-			real f_BNE = (D.f[dPPM])[kbne];// +  c1over216;
-			real f_BSW = (D.f[dMMM])[kbsw];// +  c1over216;
-			real f_BSE = (D.f[dPMM])[kbse];// +  c1over216;
-			real f_BNW = (D.f[dMPM])[kbnw];// +  c1over216;
-										   ////////////////////////////////////////////////////////////////////////////////////
-			real fx = c0o1;
-			real fy = c0o1;
-			real fz = c0o1;
-			////////////////////////////////////////////////////////////////////////////////////
-			real rho = f_NW + f_W + f_SS + f_S + f_SE + f_E + f_NE + f_N + f_R + f_TN + f_BN + f_TS + f_BS + f_TE + f_EB + f_TW + f_BW + f_TNW + f_BNW + f_TNE + f_BNE + f_TSW + f_BSW + f_TSE + f_BSE + f_T + f_B + c1o1;// ACHTUNG ne EINS !!!!!!!!
-			real pix = (f_NE + f_E + f_SE + f_TE + f_EB - f_NW - f_W - f_SS - f_TW - f_BW + f_TNE + f_BNE + f_TSE + f_BSE - f_TNW - f_BNW - f_TSW - f_BSW);
-			real piy = (f_NE + f_N + f_NW + f_TN + f_BN - f_SE - f_S - f_SS - f_TS - f_BS + f_TNE + f_BNE + f_TNW + f_BNW - f_TSE - f_BSE - f_TSW - f_BSW);
-			real piz = (f_TN + f_TS + f_TW + f_TE + f_T - f_BN - f_BS - f_BW - f_EB - f_B + f_TNE + f_TNW + f_TSE + f_TSW - f_BNE - f_BNW - f_BSE - f_BSW);
-			real vvx = pix / rho + fx;
-			real vvy = piy / rho + fy;
-			real vvz = piz / rho + fz;
-			real vx2 = vvx*vvx;
-			real vy2 = vvy*vvy;
-			real vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real mfaaa = f_BSW;
-			real mfaab = f_SS;
-			real mfaac = f_TSW;
-			real mfaba = f_BW;
-			real mfabb = f_W;
-			real mfabc = f_TW;
-			real mfbaa = f_BS;
-			real mfbab = f_S;
-			real mfbac = f_TS;
-			real mfbba = f_B;
-			real mfbbb = f_R;
-			real mfbbc = f_T;
-			real mfaca = f_BNW;
-			real mfacb = f_NW;
-			real mfacc = f_TNW;
-			real mfcaa = f_BSE;
-			real mfcab = f_SE;
-			real mfcac = f_TSE;
-			real mfcca = f_BNE;
-			real mfccb = f_NE;
-			real mfccc = f_TNE;
-			real mfbca = f_BN;
-			real mfbcb = f_N;
-			real mfbcc = f_TN;
-			real mfcba = f_EB;
-			real mfcbb = f_E;
-			real mfcbc = f_TE;
-			real m0, m1, m2;
-			real wadjust;
-			real qudricLimit = c1o100;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			//////////////////////////////////////////////////////////////////////////////////////
-			//// BGK
-			//////////////////////////////////////////////////////////////////////////////////////
-			////2.
-			//mfabb += -(-omega) * (-mfabb);
-			//mfbab += -(-omega) * (-mfbab);
-			//mfbba += -(-omega) * (-mfbba);
-			//
-			//mfcaa += -(-omega) * (c1o3 * mfaaa - mfcaa);
-			//mfaca += -(-omega) * (c1o3 * mfaaa - mfaca);
-			//mfaac += -(-omega) * (c1o3 * mfaaa - mfaac);
-			//
-			////3.
-			//mfabc += -(-omega) * (-mfabc);
-			//mfbac += -(-omega) * (-mfbac);
-			//
-			//mfacb += -(-omega) * (-mfacb);
-			//mfbca += -(-omega) * (-mfbca);
-
-			//mfcab += -(-omega) * (-mfcab);
-			//mfcba += -(-omega) * (-mfcba);
-
-			//mfbbb += -(-omega) * (-mfbbb);
-
-			////4.
-			//mfacc += -(-omega) * (c1o9 * mfaaa - mfacc);
-			//mfcac += -(-omega) * (c1o9 * mfaaa - mfcac);
-			//mfcca += -(-omega) * (c1o9 * mfaaa - mfcca);
-
-			//mfbbc += -(-omega) * (-mfbbc);
-			//mfbcb += -(-omega) * (-mfbcb);
-			//mfcbb += -(-omega) * (-mfcbb);
-
-			////5.
-			//mfbcc += -(-omega) * (-mfbcc);
-			//mfcbc += -(-omega) * (-mfcbc);
-			//mfccb += -(-omega) * (-mfccb);
-
-			////6.
-			//mfccc += -(-omega) * (c1o27 * mfaaa - mfccc);
-			//////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz = c1o1;//two+(-omega);//one;
-			real OxyyMxzz = c1o1;//two+(-omega);//one;
-			real O4 = c1o1;
-			real O5 = c1o1;
-			real O6 = c1o1;
-
-			//Cum 4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3 * rho) * mfabb + c2o1* mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3 * rho) * mfbab + c2o1* mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3 * rho) * mfbba + c2o1* mfbab * mfabb) / rho;
-
-			real CUMcca = mfcca - (mfcaa * mfaca + c2o1* mfbba * mfbba) / rho - c1o3 * (mfcaa + mfaca);
-			real CUMcac = mfcac - (mfcaa * mfaac + c2o1* mfbab * mfbab) / rho - c1o3 * (mfcaa + mfaac);
-			real CUMacc = mfacc - (mfaac * mfaca + c2o1* mfabb * mfabb) / rho - c1o3 * (mfaac + mfaca);
-
-			//Cum 5.
-			real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1* mfabb * mfbbb + c2o1* (mfbab * mfacb + mfbba * mfabc)) / rho - c1o3 * (mfbca + mfbac);
-			real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1* mfbab * mfbbb + c2o1* (mfabb * mfcab + mfbba * mfbac)) / rho - c1o3 * (mfcba + mfabc);
-			real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1* mfbba * mfbbb + c2o1* (mfbab * mfbca + mfabb * mfcba)) / rho - c1o3 * (mfacb + mfcab);
-
-			//Cum 6.
-			real CUMccc = mfccc + (-c4o1*  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1* (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1* (mfcaa * mfaca * mfaac)
-					+ c16o1*  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3* (mfacc + mfcac + mfcca)
-				+ c1o9* (mfcaa + mfaca + mfaac)
-				+ (c2o1* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3 / rho;
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			//relax
-			//hat noch nicht so gut funktioniert...Optimierungsbedarf
-			//{
-			//	real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			//	real dyuy = dxux + omega * c3o2 * mxxMyy;
-			//	real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//	//relax
-			//	mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//	mxxMyy    += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//	mxxMzz    += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-
-			//	//////////////////////////////////////////////////////////////////////////
-			//	//limiter-Scheise Teil 2
-			//	//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//	//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			//	//////////////////////////////////////////////////////////////////////////
-
-			//}
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-				mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-				//////////////////////////////////////////////////////////////////////////
-				//limiter-Scheise Teil 2
-				//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-				//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-				//////////////////////////////////////////////////////////////////////////
-
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += -(-omega) * (-mfabb);
-			mfbab += -(-omega) * (-mfbab);
-			mfbba += -(-omega) * (-mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mfbbb) / (abs(mfbbb) + qudricLimit);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimit);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimit);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimit);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimit);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimit);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimit);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			CUMacc += O4 * (-CUMacc);
-			CUMcac += O4 * (-CUMcac);
-			CUMcca += O4 * (-CUMcca);
-
-			CUMbbc += O4 * (-CUMbbc);
-			CUMbcb += O4 * (-CUMbcb);
-			CUMcbb += O4 * (-CUMcbb);
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3 * rho) * mfabb + c2o1* mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3 * rho) * mfbab + c2o1* mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3 * rho) * mfbba + c2o1* mfbab * mfabb) / rho;
-
-			mfcca = CUMcca + (mfcaa * mfaca + c2o1* mfbba * mfbba) / rho + c1o3 * (mfcaa + mfaca);
-			mfcac = CUMcac + (mfcaa * mfaac + c2o1* mfbab * mfbab) / rho + c1o3 * (mfcaa + mfaac);
-			mfacc = CUMacc + (mfaac * mfaca + c2o1* mfabb * mfabb) / rho + c1o3 * (mfaac + mfaca);
-
-			//5.
-			mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + c4o1* mfabb * mfbbb + c2o1* (mfbab * mfacb + mfbba * mfabc)) / rho + c1o3 * (mfbca + mfbac);
-			mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + c4o1* mfbab * mfbbb + c2o1* (mfabb * mfcab + mfbba * mfbac)) / rho + c1o3 * (mfcba + mfabc);
-			mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + c4o1* mfbba * mfbbb + c2o1* (mfbab * mfbca + mfabb * mfcba)) / rho + c1o3 * (mfacb + mfcab);
-
-			//6.
-			mfccc = CUMccc - ((-c4o1*  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1* (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1* (mfcaa * mfaca * mfaac)
-					+ c16o1*  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3* (mfacc + mfcac + mfcca)
-				+ c1o9* (mfcaa + mfaca + mfaac)
-				+ (c2o1* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3 / rho);
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + 1.) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa       * (c1o1 - vz2) - c1o1* vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + 1.) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca         * (c1o1 - vz2) - c1o3 * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa         * (c1o1 - vz2) - c1o3 * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca         * (c1o1 - vz2) - c1o9 * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa         * (c1o1 - vy2) - c1o6 * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab         * (c1o1 - vy2) - c2o3 * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac         * (c1o1 - vy2) - c1o6 * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa          * (c1o1 - vy2) - c1o18 * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab         * (c1o1 - vy2) - c2o9 * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac          * (c1o1 - vy2) - c1o18 * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa          * (c1o1 - vx2) - c1o36 * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba         * (c1o1 - vx2) - c1o9 * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca          * (c1o1 - vx2) - c1o36 * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab         * (c1o1 - vx2) - c1o9 * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb         * (c1o1 - vx2) - c4o9 * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb         * (c1o1 - vx2) - c1o9 * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac          * (c1o1 - vx2) - c1o36 * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc         * (c1o1 - vx2) - c1o9 * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc          * (c1o1 - vx2) - c1o36 * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[ke] = mfabb;// -  c2over27 ;//                                                                     
-			(D.f[dM00])[kw] = mfcbb;// -  c2over27 ;                                                                     
-			(D.f[d0P0])[kn] = mfbab;// -  c2over27 ;
-			(D.f[d0M0])[ks] = mfbcb;// -  c2over27 ;
-			(D.f[d00P])[kt] = mfbba;// -  c2over27 ;
-			(D.f[d00M])[kb] = mfbbc;// -  c2over27 ;
-			(D.f[dPP0])[kne] = mfaab;// -  c1over54 ;
-			(D.f[dMM0])[ksw] = mfccb;// -  c1over54 ;
-			(D.f[dPM0])[kse] = mfacb;// -  c1over54 ;
-			(D.f[dMP0])[knw] = mfcab;// -  c1over54 ;
-			(D.f[dP0P])[kte] = mfaba;// -  c1over54 ;
-			(D.f[dM0M])[kbw] = mfcbc;// -  c1over54 ;
-			(D.f[dP0M])[kbe] = mfabc;// -  c1over54 ;
-			(D.f[dM0P])[ktw] = mfcba;// -  c1over54 ;
-			(D.f[d0PP])[ktn] = mfbaa;// -  c1over54 ;
-			(D.f[d0MM])[kbs] = mfbcc;// -  c1over54 ;
-			(D.f[d0PM])[kbn] = mfbac;// -  c1over54 ;
-			(D.f[d0MP])[kts] = mfbca;// -  c1over54 ;
-			(D.f[d000])[kzero] = mfbbb;// -  c8over27 ;
-			(D.f[dPPP])[ktne] = mfaaa;// -  c1over216;
-			(D.f[dPMP])[ktse] = mfaca;// -  c1over216;
-			(D.f[dPPM])[kbne] = mfaac;// -  c1over216;
-			(D.f[dPMM])[kbse] = mfacc;// -  c1over216;
-			(D.f[dMPP])[ktnw] = mfcaa;// -  c1over216;
-			(D.f[dMMP])[ktsw] = mfcca;// -  c1over216;
-			(D.f[dMPM])[kbnw] = mfcac;// -  c1over216;
-			(D.f[dMMM])[kbsw] = mfccc;// -  c1over216;
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes_Device.cuh
deleted file mode 100644
index b2a6d02b6ab40e8dc89238b207c7f274ab7fe828..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes_Device.cuh
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K08CompressibleNavierStokes_Device_H
-#define K08CompressibleNavierStokes_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K08CompressibleNavierStokes_Device(
-	real s9,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes.cu
index 086914172185a45a7a84873ded4726ea77bc0985..2ba1af7a34b219d8f06e44708c354c609efc819f 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes.cu
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes.cu
@@ -6,49 +6,49 @@
 
 std::shared_ptr<K15CompressibleNavierStokes> K15CompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
 {
-	return std::shared_ptr<K15CompressibleNavierStokes>(new K15CompressibleNavierStokes(para, level));
+    return std::shared_ptr<K15CompressibleNavierStokes>(new K15CompressibleNavierStokes(para, level));
 }
 
 void K15CompressibleNavierStokes::run()
 {
-	int numberOfThreads = para->getParD(level)->numberofthreads;
-	int size_Mat = (int)para->getParD(level)->numberOfNodes;
-
-	int Grid = (size_Mat / numberOfThreads) + 1;
-	int Grid1, Grid2;
-	if (Grid > 512)
-	{
-		Grid1 = 512;
-		Grid2 = (Grid / Grid1) + 1;
-	}
-	else
-	{
-		Grid1 = 1;
-		Grid2 = Grid;
-	}
-	dim3 grid(Grid1, Grid2, 1);
-	dim3 threads(numberOfThreads, 1, 1);
-
-	K15CompressibleNavierStokes_Device <<< grid, threads >>>(
-		para->getParD(level)->omega,
-		para->getParD(level)->typeOfGridNode,
-		para->getParD(level)->neighborX,
-		para->getParD(level)->neighborY,
-		para->getParD(level)->neighborZ,
-		para->getParD(level)->distributions.f[0],
-		para->getParD(level)->numberOfNodes,
-		level,
-		para->getForcesDev(),
-		para->getParD(level)->isEvenTimestep);
-	getLastCudaError("LB_Kernel_CumulantK15Comp execution failed");
+    int numberOfThreads = para->getParD(level)->numberofthreads;
+    int size_Mat = (int)para->getParD(level)->numberOfNodes;
+
+    int Grid = (size_Mat / numberOfThreads) + 1;
+    int Grid1, Grid2;
+    if (Grid > 512)
+    {
+        Grid1 = 512;
+        Grid2 = (Grid / Grid1) + 1;
+    }
+    else
+    {
+        Grid1 = 1;
+        Grid2 = Grid;
+    }
+    dim3 grid(Grid1, Grid2, 1);
+    dim3 threads(numberOfThreads, 1, 1);
+
+    K15CompressibleNavierStokes_Device <<< grid, threads >>>(
+        para->getParD(level)->omega,
+        para->getParD(level)->typeOfGridNode,
+        para->getParD(level)->neighborX,
+        para->getParD(level)->neighborY,
+        para->getParD(level)->neighborZ,
+        para->getParD(level)->distributions.f[0],
+        para->getParD(level)->numberOfNodes,
+        level,
+        para->getForcesDev(),
+        para->getParD(level)->isEvenTimestep);
+    getLastCudaError("LB_Kernel_CumulantK15Comp execution failed");
 }
 
 K15CompressibleNavierStokes::K15CompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
 {
-	this->para = para;
-	this->level = level;
+    this->para = para;
+    this->level = level;
 
-	myPreProcessorTypes.push_back(InitCompSP27);
+    myPreProcessorTypes.push_back(InitCompSP27);
 
-	
+    
 }
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes.h
index 2410a8eb2d744bba87f5642218f22c9d9ab39fd1..51245a10e77ff24eccc434caf8e94475012976f3 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes.h
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes.h
@@ -6,11 +6,11 @@
 class K15CompressibleNavierStokes : public KernelImp
 {
 public:
-	static std::shared_ptr< K15CompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
+    static std::shared_ptr< K15CompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
+    void run();
 
 private:
-	K15CompressibleNavierStokes();
-	K15CompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
+    K15CompressibleNavierStokes();
+    K15CompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
 };
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity.cu
deleted file mode 100644
index b52f6cc855a5d4dba45b3106841e7951a1d7f3b3..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity.cu
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "K15CompressibleNavierStokesBulkViscosity.h"
-
-#include "K15CompressibleNavierStokesBulkViscosity_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<K15CompressibleNavierStokesBulkViscosity> K15CompressibleNavierStokesBulkViscosity::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K15CompressibleNavierStokesBulkViscosity>(new K15CompressibleNavierStokesBulkViscosity(para, level));
-}
-
-void K15CompressibleNavierStokesBulkViscosity::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    K15CompressibleNavierStokesBulkViscosity_Device <<<grid.grid, grid.threads>>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->numberOfNodes,
-        level,
-        para->getForcesDev(),
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_CumulantK15BulkComp execution failed");
-}
-
-K15CompressibleNavierStokesBulkViscosity::K15CompressibleNavierStokesBulkViscosity(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
-
-K15CompressibleNavierStokesBulkViscosity::K15CompressibleNavierStokesBulkViscosity()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity.h
deleted file mode 100644
index a29eb1b4e8712eb0ad0a1d1519840597620d91c6..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K15CompressibleNavierStokesBulkViscosity_H
-#define K15CompressibleNavierStokesBulkViscosity_H
-
-#include "Kernel/KernelImp.h"
-
-class K15CompressibleNavierStokesBulkViscosity : public KernelImp
-{
-public:
-	static std::shared_ptr<K15CompressibleNavierStokesBulkViscosity> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K15CompressibleNavierStokesBulkViscosity();
-	K15CompressibleNavierStokesBulkViscosity(std::shared_ptr< Parameter> para, int level);
-};
-
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity_Device.cu
deleted file mode 100644
index 8f693f37696a3d9808a08fdfe771b53ffef7db89..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity_Device.cu
+++ /dev/null
@@ -1,945 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K15CompressibleNavierStokesBulkViscosity_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	int level,
-	real* forces,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			//unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			//unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			//unsigned int kb   = neighborZ[k];
-			//unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			//unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			//unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			//unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-			vvx += fx;
-			vvy += fy;
-			vvz += fz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real omega = omega_in;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-							   //real oMdrho = one - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-							   //					   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-							   //					   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-							   //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-							   //				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-							   //				mfcbb-mfabb;
-							   //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-							   //				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-							   //				mfbcb-mfbab;
-							   //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-							   //				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-							   //				mfbbc-mfbba;
-							   ////////////////////////////////////////////////////////////////////////////////////
-							   // oMdrho assembler style -------> faaaaaastaaaa
-							   // or much sloooowaaaa ... it dep�ndssssss on sadaku
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = 0.01f;// * 0.0001f;
-			real qudricLimitM = 0.01f;// * 0.0001f;
-			real qudricLimitD = 0.01f;// * 0.001f;
-			real qudricLimitOmega2 = 0.01f;
-			const real gamma = 3400.f; //air
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   //Hin
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   // Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c4o1 * omega / (c4o1 + c3o1 * gamma * (c2o1 - omega));//one;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-
-																				   ////////////////////////////////////////////////////////////
-																				   //3.
-																				   //////////////////////////////
-			real OxyyPxzz = c1o1;
-			real OxyyMxzz = c1o1;
-			real Oxyz = c1o1;
-			////////////////////////////////////////////////////////////
-			//4.
-			//////////////////////////////
-			real O4 = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5 = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6 = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			//real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + two * mfbba * mfbab) / rho;  //bis 15.05.2015 verwendet
-			//real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + two * mfbba * mfabb) / rho;  //bis 15.05.2015 verwendet
-			//real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + two * mfbab * mfabb) / rho;  //bis 15.05.2015 verwendet
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;	//ab 15.05.2015 verwendet
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				//with limiter (bulk)
-				wadjust = OxxPyyPzz + (c1o1 - OxxPyyPzz)*abs(mfaaa - mxxPyyPzz - c3o1 * (c1o1 / OxxPyyPzz - c1o2) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)) /
-					(abs(mfaaa - mxxPyyPzz - c3o1 * (c1o1 / OxxPyyPzz - c1o2) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)) + qudricLimitOmega2);
-				mxxPyyPzz += wadjust*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-																																	 //without limiter (no bulk)
-																																	 //mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-				mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
-			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
-			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
-			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			CUMacc += O4 * (-CUMacc);
-			CUMcac += O4 * (-CUMcac);
-			CUMcca += O4 * (-CUMcca);
-
-			CUMbbc += O4 * (-CUMbbc);
-			CUMbcb += O4 * (-CUMbcb);
-			CUMcbb += O4 * (-CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity_Device.cuh
deleted file mode 100644
index 18c2a7a3400ce2511a17b589ca25236876af84d8..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity_Device.cuh
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef K15CompressibleNavierStokesBulkViscosity_Device_H
-#define K15CompressibleNavierStokesBulkViscosity_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-
-__global__ void K15CompressibleNavierStokesBulkViscosity_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	int level,
-	real* forces,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge.cu
deleted file mode 100644
index eadf2a147ed526943d1ada85474dfd0ba522cd38..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge.cu
+++ /dev/null
@@ -1,43 +0,0 @@
-#include "K15CompressibleNavierStokesSponge.h"
-
-#include "K15CompressibleNavierStokesSponge_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<K15CompressibleNavierStokesSponge> K15CompressibleNavierStokesSponge::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K15CompressibleNavierStokesSponge>(new K15CompressibleNavierStokesSponge(para, level));
-}
-
-void K15CompressibleNavierStokesSponge::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    K15CompressibleNavierStokesSponge_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->coordinateX,
-        para->getParD(level)->coordinateY,
-        para->getParD(level)->coordinateZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_CumulantK15SpongeComp execution failed");
-}
-
-K15CompressibleNavierStokesSponge::K15CompressibleNavierStokesSponge(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
-
-K15CompressibleNavierStokesSponge::K15CompressibleNavierStokesSponge()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge.h
deleted file mode 100644
index cff5a369bc68d868a041f436b2dd3975b66775ed..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K15CompressibleNavierStokesSponge_H
-#define K15CompressibleNavierStokesSponge_H
-
-#include "Kernel/KernelImp.h"
-
-class K15CompressibleNavierStokesSponge : public KernelImp
-{
-public:
-	static std::shared_ptr<K15CompressibleNavierStokesSponge> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K15CompressibleNavierStokesSponge();
-	K15CompressibleNavierStokesSponge(std::shared_ptr< Parameter> para, int level);
-
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge_Device.cu
deleted file mode 100644
index db530f8bb26fbf118cc1025e97294db4ef2a2a9e..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge_Device.cu
+++ /dev/null
@@ -1,926 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K15CompressibleNavierStokesSponge_Device(real omegaIn,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* coordX,
-	real* coordY,
-	real* coordZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];
-			real mfabb = (D.f[dM00])[kw];
-			real mfbcb = (D.f[d0P0])[k];
-			real mfbab = (D.f[d0M0])[ks];
-			real mfbbc = (D.f[d00P])[k];
-			real mfbba = (D.f[d00M])[kb];
-			real mfccb = (D.f[dPP0])[k];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];
-			real mfacb = (D.f[dMP0])[kw];
-			real mfcbc = (D.f[dP0P])[k];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];
-			real mfabc = (D.f[dM0P])[kw];
-			real mfbcc = (D.f[d0PP])[k];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];
-			real mfbac = (D.f[d0MP])[ks];
-			real mfbbb = (D.f[d000])[k];
-			real mfccc = (D.f[dPPP])[k];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks];
-			real mfacc = (D.f[dMPP])[kw];
-			real mfcca = (D.f[dPPM])[kb];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			real fx = c0o1; //0.000000005;//(two/1600000.0) / 120.0; //zero;
-			real fy = c0o1;
-			real fz = c0o1;
-			vvx += fx;
-			vvy += fy;
-			vvz += fz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real oMdrho = c1o1; // comp special
-							   ////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;
-			real vx2 = vvx * vvx;
-			real vy2 = vvy * vvy;
-			real vz2 = vvz * vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimit = 0.01f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//sponge layer inflow
-			real startXsponge = 1507.0f;//120.995703125;
-			real endXsponge = 1537.0f;//120.987890625;
-			real sizeSponge = endXsponge - startXsponge;
-			real factor = c1o1;
-			real omega = factor * omegaIn;
-			if (coordX[k] > startXsponge) {
-				factor = (((endXsponge - coordX[k]) / sizeSponge) * c1o2) + c1o2;
-				omega = factor * omegaIn;
-			}
-			////////////////////////////////////////////////////////////////////////////////////
-			//sponge layer outflow
-			endXsponge = 30.0f;
-			if (coordX[k] < endXsponge) {
-				factor = (((coordX[k]) / endXsponge) * c1o2) + c1o2;
-				omega = factor * omegaIn;
-			}
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-
-			////////////////////////////////////////////////////////////
-			//3.
-			//////////////////////////////
-			real OxyyPxzz = c1o1;//two-omega;//(1000.*(-2. + omega))/(-1000. + 439.*omega);//(eight * (omega - two)) / (omega - eight);//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz = c1o1;//two-omega;//(1000.*(-2. + omega))/(-1000. + 439.*omega);//(eight * (omega - two)) / (omega - eight);//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-								//////////////////////////////
-								//real OxyyPxzz  = two-omega;//
-								//real OxyyMxzz  = two-omega;//
-								//////////////////////////////
-								//real OxyyPxzz  = (eight * (omega - two)) / (omega - eight);//Ginzburg
-								//real OxyyMxzz  = (eight * (omega - two)) / (omega - eight);//Ginzburg
-								//////////////////////////////
-								//real OxyyPxzz  = omega;//BGK
-								//real OxyyMxzz  = omega;//BGK
-								//////////////////////////////
-								//real OxyyPxzz  = (one + omega) / two;//1P5
-								//real OxyyMxzz  = (one + omega) / two;//1P5
-								//////////////////////////////
-								//real OxyyPxzz  = (three - omega) / two;//0P5
-								//real OxyyMxzz  = (three - omega) / two;//0P5
-								//////////////////////////////
-								//real OxyyPxzz  = (one + (eight * (omega - two)) / (omega - eight)) / two;//one + Ginzburg / two ... Car
-								//real OxyyMxzz  = (one + (eight * (omega - two)) / (omega - eight)) / two;//one + Ginzburg / two ... Car
-								////////////////////////////////////////////////////////////
-								//4.
-								//////////////////////////////
-			real O4 = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5 = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6 = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			//+ c1o27*(one -three/rho +two/(rho*rho)));
-
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-				mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mfbbb) / (abs(mfbbb) + qudricLimit);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimit);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimit);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimit);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimit);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimit);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimit);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			mfbbb += OxyyMxzz * (-mfbbb);
-			mxxyPyzz += OxyyPxzz * (-mxxyPyzz);
-			mxxyMyzz += OxyyMxzz * (-mxxyMyzz);
-			mxxzPyyz += OxyyPxzz * (-mxxzPyyz);
-			mxxzMyyz += OxyyMxzz * (-mxxzMyyz);
-			mxyyPxzz += OxyyPxzz * (-mxyyPxzz);
-			mxyyMxzz += OxyyMxzz * (-mxyyMxzz);
-
-			//// linear combinations back
-
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			wadjust = O4 + (c1o1 - O4)*abs(CUMacc) / (abs(CUMacc) + qudricLimit);
-			CUMacc += wadjust * (-CUMacc);
-			wadjust = O4 + (c1o1 - O4)*abs(CUMcac) / (abs(CUMcac) + qudricLimit);
-			CUMcac += wadjust * (-CUMcac);
-			wadjust = O4 + (c1o1 - O4)*abs(CUMcca) / (abs(CUMcca) + qudricLimit);
-			CUMcca += wadjust * (-CUMcca);
-
-			wadjust = O4 + (c1o1 - O4)*abs(CUMbbc) / (abs(CUMbbc) + qudricLimit);
-			CUMbbc += wadjust * (-CUMbbc);
-			wadjust = O4 + (c1o1 - O4)*abs(CUMbcb) / (abs(CUMbcb) + qudricLimit);
-			CUMbcb += wadjust * (-CUMbcb);
-			wadjust = O4 + (c1o1 - O4)*abs(CUMcbb) / (abs(CUMcbb) + qudricLimit);
-			CUMcbb += wadjust * (-CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//CUMacc += O4 * (-CUMacc); 
-			//CUMcac += O4 * (-CUMcac); 
-			//CUMcca += O4 * (-CUMcca); 
-
-			//CUMbbc += O4 * (-CUMbbc); 
-			//CUMbcb += O4 * (-CUMbcb); 
-			//CUMcbb += O4 * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			//+ c1o27*(one -three/rho +two/(rho*rho)));
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;
-			(D.f[dM00])[kw] = mfcbb;
-			(D.f[d0P0])[k] = mfbab;
-			(D.f[d0M0])[ks] = mfbcb;
-			(D.f[d00P])[k] = mfbba;
-			(D.f[d00M])[kb] = mfbbc;
-			(D.f[dPP0])[k] = mfaab;
-			(D.f[dMM0])[ksw] = mfccb;
-			(D.f[dPM0])[ks] = mfacb;
-			(D.f[dMP0])[kw] = mfcab;
-			(D.f[dP0P])[k] = mfaba;
-			(D.f[dM0M])[kbw] = mfcbc;
-			(D.f[dP0M])[kb] = mfabc;
-			(D.f[dM0P])[kw] = mfcba;
-			(D.f[d0PP])[k] = mfbaa;
-			(D.f[d0MM])[kbs] = mfbcc;
-			(D.f[d0PM])[kb] = mfbac;
-			(D.f[d0MP])[ks] = mfbca;
-			(D.f[d000])[k] = mfbbb;
-			(D.f[dPPP])[k] = mfaaa;
-			(D.f[dPMP])[ks] = mfaca;
-			(D.f[dPPM])[kb] = mfaac;
-			(D.f[dPMM])[kbs] = mfacc;
-			(D.f[dMPP])[kw] = mfcaa;
-			(D.f[dMMP])[ksw] = mfcca;
-			(D.f[dMPM])[kbw] = mfcac;
-			(D.f[dMMM])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge_Device.cuh
deleted file mode 100644
index b79c2a9941c44c12f1e5eadf0b66a1402f394856..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge_Device.cuh
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef K15CompressibleNavierStokesSponge_Device_H
-#define K15CompressibleNavierStokesSponge_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K15CompressibleNavierStokesSponge_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* coordX,
-	real* coordY,
-	real* coordZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes_Device.cu
index c3be0a4e23b009e0c8d5b523b0a34da0c8551294..1e3e26e9445f413281b0781e5e19b7b247a0f84e 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes_Device.cu
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes_Device.cu
@@ -7,1269 +7,1269 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 __global__ void K15CompressibleNavierStokes_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	int level,
-	real* forces,
-	bool EvenOrOdd)
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    int level,
+    real* forces,
+    bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if (BC >= GEO_FLUID/*(BC != GEO_SOLID) && (BC != GEO_VOID)*/)
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			//unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			//unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			//unsigned int kb   = neighborZ[k];
-			//unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			//unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			//unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			//unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-			vvx += fx*c1o2;
-			vvy += fy*c1o2;
-			vvz += fz*c1o2;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real omega = omega_in;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-							   //real oMdrho = one - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-							   //					   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-							   //					   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-							   //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-							   //				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-							   //				mfcbb-mfabb;
-							   //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-							   //				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-							   //				mfbcb-mfbab;
-							   //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-							   //				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-							   //				mfbbc-mfbba;
-							   ////////////////////////////////////////////////////////////////////////////////////
-							   // oMdrho assembler style -------> faaaaaastaaaa
-							   // or much sloooowaaaa ... it dep�ndssssss on sadaku
-			real m0, m1, m2;
-			//real oMdrho;
-			//{
-			//	oMdrho=mfccc+mfaaa;
-			//	m0=mfaca+mfcac;
-			//	m1=mfacc+mfcaa;
-			//	m2=mfaac+mfcca;
-			//	oMdrho+=m0;
-			//	m1+=m2;
-			//	oMdrho+=m1;
-			//	m0=mfbac+mfbca;
-			//	m1=mfbaa+mfbcc;
-			//	m0+=m1;
-			//	m1=mfabc+mfcba;
-			//	m2=mfaba+mfcbc;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	m1=mfacb+mfcab;
-			//	m2=mfaab+mfccb;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	oMdrho+=m0;
-			//	m0=mfabb+mfcbb;
-			//	m1=mfbab+mfbcb;
-			//	m2=mfbba+mfbbc;
-			//	m0+=m1+m2;
-			//	m0+=mfbbb; //hat gefehlt
-			//	oMdrho = one - (oMdrho + m0);
-			//}
-			//real vvx;
-			real vx2;
-			//{
-			//	vvx = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfcaa-mfacc;
-			//	m2  = mfcca-mfaac;
-			//	vvx+= m0;
-			//	m1 += m2;
-			//	vvx+= m1;
-			//	vx2 = mfcba-mfabc;
-			//	m0  = mfcbc-mfaba;
-			//	m1  = mfcab-mfacb;
-			//	m2  = mfccb-mfaab;
-			//	vx2+= m0;
-			//	m1 += m2;
-			//	vx2+= m1;
-			//	vvx+= vx2;
-			//	vx2 = mfcbb-mfabb;
-			//	vvx+= vx2;
-			//}
-			//real vvy;
-			real vy2;
-			//{
-			//	vvy = mfccc-mfaaa;
-			//	m0  = mfaca-mfcac;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfcca-mfaac;
-			//	vvy+= m0;
-			//	m1 += m2;
-			//	vvy+= m1;
-			//	vy2 = mfbca-mfbac;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfacb-mfcab;
-			//	m2  = mfccb-mfaab;
-			//	vy2+= m0;
-			//	m1 += m2;
-			//	vy2+= m1;
-			//	vvy+= vy2;
-			//	vy2 = mfbcb-mfbab;
-			//	vvy+= vy2;
-			//}
-			//real vvz;
-			real vz2;
-			//{
-			//	vvz = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfaac-mfcca;
-			//	vvz+= m0;
-			//	m1 += m2;
-			//	vvz+= m1;
-			//	vz2 = mfbac-mfbca;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfabc-mfcba;
-			//	m2  = mfcbc-mfaba;
-			//	vz2+= m0;
-			//	m1 += m2;
-			//	vz2+= m1;
-			//	vvz+= vz2;
-			//	vz2 = mfbbc-mfbba;
-			//	vvz+= vz2;
-			//}
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			//////////////////////////////////////////////////////////////////////////////////////
-			//// test rundungsfehler....
-			//mfcbb = (mfcbb - c2over27* (rho-one))/(rho);
-			//mfabb = (mfabb - c2over27* (rho-one))/(rho);
-			//mfbcb = (mfbcb - c2over27* (rho-one))/(rho);
-			//mfbab = (mfbab - c2over27* (rho-one))/(rho);
-			//mfbbc = (mfbbc - c2over27* (rho-one))/(rho);
-			//mfbba = (mfbba - c2over27* (rho-one))/(rho);
-			//mfccb = (mfccb - c1over54* (rho-one))/(rho);
-			//mfaab = (mfaab - c1over54* (rho-one))/(rho);
-			//mfcab = (mfcab - c1over54* (rho-one))/(rho);
-			//mfacb = (mfacb - c1over54* (rho-one))/(rho);
-			//mfcbc = (mfcbc - c1over54* (rho-one))/(rho);
-			//mfaba = (mfaba - c1over54* (rho-one))/(rho);
-			//mfcba = (mfcba - c1over54* (rho-one))/(rho);
-			//mfabc = (mfabc - c1over54* (rho-one))/(rho);
-			//mfbcc = (mfbcc - c1over54* (rho-one))/(rho);
-			//mfbaa = (mfbaa - c1over54* (rho-one))/(rho);
-			//mfbca = (mfbca - c1over54* (rho-one))/(rho);
-			//mfbac = (mfbac - c1over54* (rho-one))/(rho);
-			//mfbbb = (mfbbb - c8over27* (rho-one))/(rho);
-			//mfccc = (mfccc - c1over216*(rho-one))/(rho);
-			//mfaac = (mfaac - c1over216*(rho-one))/(rho);
-			//mfcac = (mfcac - c1over216*(rho-one))/(rho);
-			//mfacc = (mfacc - c1over216*(rho-one))/(rho);
-			//mfcca = (mfcca - c1over216*(rho-one))/(rho);
-			//mfaaa = (mfaaa - c1over216*(rho-one))/(rho);
-			//mfcaa = (mfcaa - c1over216*(rho-one))/(rho);
-			//mfaca = (mfaca - c1over216*(rho-one))/(rho);
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = c1o100;// * 0.0001f;
-			real qudricLimitM = c1o100;// * 0.0001f;
-			real qudricLimitD = c1o100;// * 0.001f;
-									   //real s9 = minusomega;
-									   //test
-									   //s9 = 0.;
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   //Hin
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   // Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1; //omega; // one;	//set the bulk viscosity one is high / two is very low and zero is (too) high
-
-								  ////////////////////////////////////////////////////////////
-								  //3.
-								  //////////////////////////////
-			real OxyyPxzz = c1o1;//three  * (two - omega) / (three  - omega);//one;//(1000.*(-2. + omega))/(-1000. + 439.*omega);//(eight * (omega - two)) / (omega - eight);//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz = c1o1;//six    * (two - omega) / (six    - omega);//one;//two-omega;//(1000.*(-2. + omega))/(-1000. + 439.*omega);//(eight * (omega - two)) / (omega - eight);//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real Oxyz = c1o1;//twelve * (two - omega) / (twelve + omega);//one;//two-omega;//(1000.*(-2. + omega))/(-1000. + 439.*omega);//(eight * (omega - two)) / (omega - eight);//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-							//////////////////////////////
-							//real OxyyPxzz  = two-omega;//
-							//real OxyyMxzz  = two-omega;//
-							//////////////////////////////
-							//real OxyyPxzz  = (eight * (omega - two)) / (omega - eight);//Ginzburg
-							//real OxyyMxzz  = (eight * (omega - two)) / (omega - eight);//Ginzburg
-							//////////////////////////////
-							//real OxyyPxzz  = omega;//BGK
-							//real OxyyMxzz  = omega;//BGK
-							//////////////////////////////
-							//real OxyyPxzz  = (one + omega) / two;//1P5
-							//real OxyyMxzz  = (one + omega) / two;//1P5
-							//////////////////////////////
-							//real OxyyPxzz  = (three - omega) / two;//0P5
-							//real OxyyMxzz  = (three - omega) / two;//0P5
-							//////////////////////////////
-							//real OxyyPxzz  = (one + (eight * (omega - two)) / (omega - eight)) / two;//one + Ginzburg / two ... Car
-							//real OxyyMxzz  = (one + (eight * (omega - two)) / (omega - eight)) / two;//one + Ginzburg / two ... Car
-							////////////////////////////////////////////////////////////
-							//4.
-							//////////////////////////////
-			real O4 = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5 = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6 = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			//real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + two * mfbba * mfbab) / rho;  //bis 15.05.2015 verwendet
-			//real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + two * mfbba * mfabb) / rho;  //bis 15.05.2015 verwendet
-			//real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + two * mfbab * mfabb) / rho;  //bis 15.05.2015 verwendet
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;	//ab 15.05.2015 verwendet
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			//+ c1o27*(one -three/rho +two/(rho*rho)));
-
-
-
-
-			////Cum 4.
-			//real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + two * mfbba * mfbab)/rho; // 
-			//real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + two * mfbba * mfabb)/rho; // 
-			//real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + two * mfbab * mfabb)/rho; // 
-
-			//real CUMcca = mfcca - ((mfcaa * mfaca + two * mfbba * mfbba) /rho + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-one)*oMdrho);
-			//real CUMcac = mfcac - ((mfcaa * mfaac + two * mfbab * mfbab) /rho + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-one)*oMdrho);
-			//real CUMacc = mfacc - ((mfaac * mfaca + two * mfabb * mfabb) /rho + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-one)*oMdrho);
-
-			////Cum 5.
-			//real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) / rho - c1o3 * (mfbca + mfbac) * oMdrho;
-			//real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) / rho - c1o3 * (mfcba + mfabc) * oMdrho;
-			//real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) / rho - c1o3 * (mfacb + mfcab) * oMdrho;
-
-			////Cum 6.
-			//real CUMccc = mfccc  +((-four *  mfbbb * mfbbb  
-			//				-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			//				-    four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-			//				-     two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-			//				+(   four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-			//				+     two * (mfcaa * mfaca * mfaac)
-			//				+ sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
-			//				-    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
-			//				-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(one-two* oMdrho)- c1o27* oMdrho * oMdrho*(-two* oMdrho)
-			//				+(    two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-			//				+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) / rho * c2o3*oMdrho) +c1o27*oMdrho;
-
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			//////////////////////////////////////////////////////////////////////////
-			// 			real magicBulk=(CUMacc+CUMcac+CUMcca)*(one/OxxPyyPzz-c1o2)*c3o2*8.;
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 1
-			//real oxxyy,oxxzz,oxy,oxz,oyz;
-			//real smag=0.001;
-			//oxxyy    = omega+(one-omega)*abs(mxxMyy)/(abs(mxxMyy)+smag);
-			//oxxzz    = omega+(one-omega)*abs(mxxMzz)/(abs(mxxMzz)+smag);
-			//oxy      = omega+(one-omega)*abs(mfbba)/(abs(mfbba)+smag);
-			//oxz      = omega+(one-omega)*abs(mfbab)/(abs(mfbab)+smag);
-			//oyz      = omega+(one-omega)*abs(mfabb)/(abs(mfabb)+smag);
-
-			////////////////////////////////////////////////////////////////////////////
-			////Teil 1b
-			//real constante = 1000.0;
-			//real nuEddi = constante * abs(mxxPyyPzz);
-			//real omegaLimit = one / (one / omega + three * nuEddi);
-
-			//{
-			//	real dxux = c1o2 * (-omegaLimit) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			//	real dyuy = dxux + omegaLimit * c3o2 * mxxMyy;
-			//	real dzuz = dxux + omegaLimit * c3o2 * mxxMzz;
-
-			////relax
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//mxxMyy    += omegaLimit * (-mxxMyy) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vy2 * dyuy);
-			//mxxMzz    += omegaLimit * (-mxxMzz) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vz2 * dzuz);
-
-			//}
-			//mfabb     += omegaLimit * (-mfabb);
-			//mfbab     += omegaLimit * (-mfbab);
-			//mfbba     += omegaLimit * (-mfbba);
-			////////////////////////////////////////////////////////////////////////////
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-				mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-				//////////////////////////////////////////////////////////////////////////
-				//limiter-Scheise Teil 2
-				//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-				//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-				//////////////////////////////////////////////////////////////////////////
-
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 3
-			//mfabb     += oyz * (-mfabb);
-			//mfbab     += oxz * (-mfbab);
-			//mfbba     += oxy * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			//// linear combinations back
-			////generic
-			//mfcba =  zero;
-			//mfabc =  zero;
-			//mfcab =  zero;
-			//mfacb =  zero;
-			//mfbca =  zero;
-			//mfbac =  zero;
-
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//CUMacc =  zero; 
-			//CUMcac =  zero; 
-			//CUMcca =  zero; 
-			//	   
-			//CUMbbc =  zero; 
-			//CUMbcb =  zero; 
-			//CUMcbb =  zero; 
-			//	  
-			////5.   
-			//CUMbcc =  zero;
-			//CUMcbc =  zero;
-			//CUMccb =  zero;
-			//	   
-			////6.   
-			//CUMccc =  zero;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
-			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
-			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
-			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			CUMacc += O4 * (-CUMacc);
-			CUMcac += O4 * (-CUMcac);
-			CUMcca += O4 * (-CUMcca);
-
-			CUMbbc += O4 * (-CUMbbc);
-			CUMbcb += O4 * (-CUMbcb);
-			CUMcbb += O4 * (-CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			//mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + two * mfbba * mfbab) / rho; //bis 15.05.2015 verwendet
-			//mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + two * mfbba * mfabb) / rho; //bis 15.05.2015 verwendet
-			//mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + two * mfbab * mfabb) / rho; //bis 15.05.2015 verwendet
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho; //ab 15.05.2015 verwendet
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));//(one/rho-one));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));//(one/rho-one));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));//(one/rho-one));
-
-																														  //5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			//+ c1o27*(one -three/rho +two/(rho*rho)));
-
-
-			//mfccc = CUMccc - ((-four *  mfbbb * mfbbb  
-			//				-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			//				-    four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-			//				-     two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-			//				+(   four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-			//				+     two * (mfcaa * mfaca * mfaac)
-			//				+ sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
-			//				-    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
-			//				-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(one-two* oMdrho)- c1o27* oMdrho * oMdrho*(-two* oMdrho)
-			//				+(    two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-			//				+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) / rho * c2o3*oMdrho) -c1o27*oMdrho;
-
-
-
-
-
-			//mfccc = CUMccc  -(( -four *  mfbbb * mfbbb  
-			//				-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			//				-    four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-			//				-     two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-			//				+(   four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-			//				+     two * (mfcaa * mfaca * mfaac)
-			//				+ sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
-			//				+    (c1o3 * (mfacc + mfcac + mfcca) )/rho
-			//				+	 (c1o9 * (mfcaa + mfaca + mfaac) )/rho
-			//				- (four*c1o3*(mfabb * mfabb + mfbab * mfbab + mfbba * mfbba) + two * ( c1o3 *(mfcaa * mfaca + mfcaa * mfaac + mfaca * mfaac) + c1o9* (mfcaa + mfaca + mfaac )))/(rho*rho) 
-			//				+ c1o27*(three/rho - two/(rho * rho) - one);
-			//				//-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(one-two* oMdrho)- c1o27* oMdrho * oMdrho*(-two* oMdrho) //????
-			//				//+(    two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-			//				//+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) / rho * c2o3*oMdrho) -c1o27*oMdrho;
-
-			//Test Cascade
-			//4.
-			//mfacc = mfaaa * c1o9 * O4 + (one - O4) * mfacc; 
-			//mfcac = mfaaa * c1o9 * O4 + (one - O4) * mfcac; 
-			//mfcca = mfaaa * c1o9 * O4 + (one - O4) * mfcca; 
-			//
-			//mfbbc += O4 * (-mfbbc); 
-			//mfbcb += O4 * (-mfbcb); 
-			//mfcbb += O4 * (-mfcbb); 
-
-			////5.
-			//mfbcc += O5 * (-mfbcc);
-			//mfcbc += O5 * (-mfcbc);
-			//mfccb += O5 * (-mfccb);
-
-			//6.
-			//mfccc = mfaaa * c1o27 * O6 + (one - O6) * mfccc;
-
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			//////////////////////////////////////////////////////////////////////////////////////
-			//// test rundungsfehler....
-			//mfcbb = (mfcbb * rho + c2over27* (rho-one));
-			//mfabb = (mfabb * rho + c2over27* (rho-one));
-			//mfbcb = (mfbcb * rho + c2over27* (rho-one));
-			//mfbab = (mfbab * rho + c2over27* (rho-one));
-			//mfbbc = (mfbbc * rho + c2over27* (rho-one));
-			//mfbba = (mfbba * rho + c2over27* (rho-one));
-			//mfccb = (mfccb * rho + c1over54* (rho-one));
-			//mfaab = (mfaab * rho + c1over54* (rho-one));
-			//mfcab = (mfcab * rho + c1over54* (rho-one));
-			//mfacb = (mfacb * rho + c1over54* (rho-one));
-			//mfcbc = (mfcbc * rho + c1over54* (rho-one));
-			//mfaba = (mfaba * rho + c1over54* (rho-one));
-			//mfcba = (mfcba * rho + c1over54* (rho-one));
-			//mfabc = (mfabc * rho + c1over54* (rho-one));
-			//mfbcc = (mfbcc * rho + c1over54* (rho-one));
-			//mfbaa = (mfbaa * rho + c1over54* (rho-one));
-			//mfbca = (mfbca * rho + c1over54* (rho-one));
-			//mfbac = (mfbac * rho + c1over54* (rho-one));
-			//mfbbb = (mfbbb * rho + c8over27* (rho-one));
-			//mfccc = (mfccc * rho + c1over216*(rho-one));
-			//mfaac = (mfaac * rho + c1over216*(rho-one));
-			//mfcac = (mfcac * rho + c1over216*(rho-one));
-			//mfacc = (mfacc * rho + c1over216*(rho-one));
-			//mfcca = (mfcca * rho + c1over216*(rho-one));
-			//mfaaa = (mfaaa * rho + c1over216*(rho-one));
-			//mfcaa = (mfcaa * rho + c1over216*(rho-one));
-			//mfaca = (mfaca * rho + c1over216*(rho-one));
-			real drhoPost =
-				((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-					((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-			mfbbb += drho - drhoPost;
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if (k<size_Mat)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
+
+        if (BC >= GEO_FLUID/*(BC != GEO_SOLID) && (BC != GEO_VOID)*/)
+        {
+            Distributions27 D;
+            if (EvenOrOdd == true)
+            {
+                D.f[dP00] = &DDStart[dP00 * size_Mat];
+                D.f[dM00] = &DDStart[dM00 * size_Mat];
+                D.f[d0P0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0M0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00P] = &DDStart[d00P * size_Mat];
+                D.f[d00M] = &DDStart[d00M * size_Mat];
+                D.f[dPP0] = &DDStart[dPP0 * size_Mat];
+                D.f[dMM0] = &DDStart[dMM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dPM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dMP0 * size_Mat];
+                D.f[dP0P] = &DDStart[dP0P * size_Mat];
+                D.f[dM0M] = &DDStart[dM0M * size_Mat];
+                D.f[dP0M] = &DDStart[dP0M * size_Mat];
+                D.f[dM0P] = &DDStart[dM0P * size_Mat];
+                D.f[d0PP] = &DDStart[d0PP * size_Mat];
+                D.f[d0MM] = &DDStart[d0MM * size_Mat];
+                D.f[d0PM] = &DDStart[d0PM * size_Mat];
+                D.f[d0MP] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dPPP] = &DDStart[dPPP * size_Mat];
+                D.f[dMMP] = &DDStart[dMMP * size_Mat];
+                D.f[dPMP] = &DDStart[dPMP * size_Mat];
+                D.f[dMPP] = &DDStart[dMPP * size_Mat];
+                D.f[dPPM] = &DDStart[dPPM * size_Mat];
+                D.f[dMMM] = &DDStart[dMMM * size_Mat];
+                D.f[dPMM] = &DDStart[dPMM * size_Mat];
+                D.f[dMPM] = &DDStart[dMPM * size_Mat];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * size_Mat];
+                D.f[dP00] = &DDStart[dM00 * size_Mat];
+                D.f[d0M0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0P0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00M] = &DDStart[d00P * size_Mat];
+                D.f[d00P] = &DDStart[d00M * size_Mat];
+                D.f[dMM0] = &DDStart[dPP0 * size_Mat];
+                D.f[dPP0] = &DDStart[dMM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dPM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dMP0 * size_Mat];
+                D.f[dM0M] = &DDStart[dP0P * size_Mat];
+                D.f[dP0P] = &DDStart[dM0M * size_Mat];
+                D.f[dM0P] = &DDStart[dP0M * size_Mat];
+                D.f[dP0M] = &DDStart[dM0P * size_Mat];
+                D.f[d0MM] = &DDStart[d0PP * size_Mat];
+                D.f[d0PP] = &DDStart[d0MM * size_Mat];
+                D.f[d0MP] = &DDStart[d0PM * size_Mat];
+                D.f[d0PM] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dMMM] = &DDStart[dPPP * size_Mat];
+                D.f[dPPM] = &DDStart[dMMP * size_Mat];
+                D.f[dMPM] = &DDStart[dPMP * size_Mat];
+                D.f[dPMM] = &DDStart[dMPP * size_Mat];
+                D.f[dMMP] = &DDStart[dPPM * size_Mat];
+                D.f[dPPP] = &DDStart[dMMM * size_Mat];
+                D.f[dMPP] = &DDStart[dPMM * size_Mat];
+                D.f[dPMP] = &DDStart[dMPM * size_Mat];
+            }
+
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            //unsigned int kzero= k;
+            //unsigned int ke   = k;
+            unsigned int kw = neighborX[k];
+            //unsigned int kn   = k;
+            unsigned int ks = neighborY[k];
+            //unsigned int kt   = k;
+            unsigned int kb = neighborZ[k];
+            unsigned int ksw = neighborY[kw];
+            //unsigned int kne  = k;
+            //unsigned int kse  = ks;
+            //unsigned int knw  = kw;
+            unsigned int kbw = neighborZ[kw];
+            //unsigned int kte  = k;
+            //unsigned int kbe  = kb;
+            //unsigned int ktw  = kw;
+            unsigned int kbs = neighborZ[ks];
+            //unsigned int ktn  = k;
+            //unsigned int kbn  = kb;
+            //unsigned int kts  = ks;
+            //unsigned int ktse = ks;
+            //unsigned int kbnw = kbw;
+            //unsigned int ktnw = kw;
+            //unsigned int kbse = kbs;
+            //unsigned int ktsw = ksw;
+            //unsigned int kbne = kb;
+            //unsigned int ktne = k;
+            unsigned int kbsw = neighborZ[ksw];
+
+            //unsigned int kzero= k;
+            //unsigned int ke   = k;
+            //unsigned int kw   = neighborX[k];
+            //unsigned int kn   = k;
+            //unsigned int ks   = neighborY[k];
+            //unsigned int kt   = k;
+            //unsigned int kb   = neighborZ[k];
+            //unsigned int ksw  = neighborY[kw];
+            //unsigned int kne  = k;
+            //unsigned int kse  = ks;
+            //unsigned int knw  = kw;
+            //unsigned int kbw  = neighborZ[kw];
+            //unsigned int kte  = k;
+            //unsigned int kbe  = kb;
+            //unsigned int ktw  = kw;
+            //unsigned int kbs  = neighborZ[ks];
+            //unsigned int ktn  = k;
+            //unsigned int kbn  = kb;
+            //unsigned int kts  = ks;
+            //unsigned int ktse = ks;
+            //unsigned int kbnw = kbw;
+            //unsigned int ktnw = kw;
+            //unsigned int kbse = kbs;
+            //unsigned int ktsw = ksw;
+            //unsigned int kbne = kb;
+            //unsigned int ktne = k;
+            //unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
+            real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
+            real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
+            real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
+            real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
+            real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
+            real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
+            real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
+            real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
+            real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
+            real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
+            real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
+            real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
+            real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
+            real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
+            real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
+            real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
+            real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
+            real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
+            real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
+            real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
+            real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
+            real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
+            real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
+            real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
+            real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
+            real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
+                                            ////////////////////////////////////////////////////////////////////////////////////
+            real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
+                (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
+                ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
+
+            real rho = c1o1 + drho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //slow
+            //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+            //                       (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+            //                        ((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
+            real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
+                (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
+                (mfcbb - mfabb)) / rho;
+            real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
+                (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
+                (mfbcb - mfbab)) / rho;
+            real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
+                (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
+                (mfbbc - mfbba)) / rho;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //the force be with you
+            real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+            real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+            real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
+            vvx += fx*c1o2;
+            vvy += fy*c1o2;
+            vvz += fz*c1o2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //real omega = omega_in;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            real oMdrho = c1o1; // comp special
+                               //real oMdrho = one - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
+                               //                       mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
+                               //                       mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
+                               //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
+                               //                mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
+                               //                mfcbb-mfabb;
+                               //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
+                               //                mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
+                               //                mfbcb-mfbab;
+                               //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
+                               //                mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
+                               //                mfbbc-mfbba;
+                               ////////////////////////////////////////////////////////////////////////////////////
+                               // oMdrho assembler style -------> faaaaaastaaaa
+                               // or much sloooowaaaa ... it dep�ndssssss on sadaku
+            real m0, m1, m2;
+            //real oMdrho;
+            //{
+            //    oMdrho=mfccc+mfaaa;
+            //    m0=mfaca+mfcac;
+            //    m1=mfacc+mfcaa;
+            //    m2=mfaac+mfcca;
+            //    oMdrho+=m0;
+            //    m1+=m2;
+            //    oMdrho+=m1;
+            //    m0=mfbac+mfbca;
+            //    m1=mfbaa+mfbcc;
+            //    m0+=m1;
+            //    m1=mfabc+mfcba;
+            //    m2=mfaba+mfcbc;
+            //    m1+=m2;
+            //    m0+=m1;
+            //    m1=mfacb+mfcab;
+            //    m2=mfaab+mfccb;
+            //    m1+=m2;
+            //    m0+=m1;
+            //    oMdrho+=m0;
+            //    m0=mfabb+mfcbb;
+            //    m1=mfbab+mfbcb;
+            //    m2=mfbba+mfbbc;
+            //    m0+=m1+m2;
+            //    m0+=mfbbb; //hat gefehlt
+            //    oMdrho = one - (oMdrho + m0);
+            //}
+            //real vvx;
+            real vx2;
+            //{
+            //    vvx = mfccc-mfaaa;
+            //    m0  = mfcac-mfaca;
+            //    m1  = mfcaa-mfacc;
+            //    m2  = mfcca-mfaac;
+            //    vvx+= m0;
+            //    m1 += m2;
+            //    vvx+= m1;
+            //    vx2 = mfcba-mfabc;
+            //    m0  = mfcbc-mfaba;
+            //    m1  = mfcab-mfacb;
+            //    m2  = mfccb-mfaab;
+            //    vx2+= m0;
+            //    m1 += m2;
+            //    vx2+= m1;
+            //    vvx+= vx2;
+            //    vx2 = mfcbb-mfabb;
+            //    vvx+= vx2;
+            //}
+            //real vvy;
+            real vy2;
+            //{
+            //    vvy = mfccc-mfaaa;
+            //    m0  = mfaca-mfcac;
+            //    m1  = mfacc-mfcaa;
+            //    m2  = mfcca-mfaac;
+            //    vvy+= m0;
+            //    m1 += m2;
+            //    vvy+= m1;
+            //    vy2 = mfbca-mfbac;
+            //    m0  = mfbcc-mfbaa;
+            //    m1  = mfacb-mfcab;
+            //    m2  = mfccb-mfaab;
+            //    vy2+= m0;
+            //    m1 += m2;
+            //    vy2+= m1;
+            //    vvy+= vy2;
+            //    vy2 = mfbcb-mfbab;
+            //    vvy+= vy2;
+            //}
+            //real vvz;
+            real vz2;
+            //{
+            //    vvz = mfccc-mfaaa;
+            //    m0  = mfcac-mfaca;
+            //    m1  = mfacc-mfcaa;
+            //    m2  = mfaac-mfcca;
+            //    vvz+= m0;
+            //    m1 += m2;
+            //    vvz+= m1;
+            //    vz2 = mfbac-mfbca;
+            //    m0  = mfbcc-mfbaa;
+            //    m1  = mfabc-mfcba;
+            //    m2  = mfcbc-mfaba;
+            //    vz2+= m0;
+            //    m1 += m2;
+            //    vz2+= m1;
+            //    vvz+= vz2;
+            //    vz2 = mfbbc-mfbba;
+            //    vvz+= vz2;
+            //}
+            vx2 = vvx*vvx;
+            vy2 = vvy*vvy;
+            vz2 = vvz*vvz;
+            //////////////////////////////////////////////////////////////////////////////////////
+            //// test rundungsfehler....
+            //mfcbb = (mfcbb - c2over27* (rho-one))/(rho);
+            //mfabb = (mfabb - c2over27* (rho-one))/(rho);
+            //mfbcb = (mfbcb - c2over27* (rho-one))/(rho);
+            //mfbab = (mfbab - c2over27* (rho-one))/(rho);
+            //mfbbc = (mfbbc - c2over27* (rho-one))/(rho);
+            //mfbba = (mfbba - c2over27* (rho-one))/(rho);
+            //mfccb = (mfccb - c1over54* (rho-one))/(rho);
+            //mfaab = (mfaab - c1over54* (rho-one))/(rho);
+            //mfcab = (mfcab - c1over54* (rho-one))/(rho);
+            //mfacb = (mfacb - c1over54* (rho-one))/(rho);
+            //mfcbc = (mfcbc - c1over54* (rho-one))/(rho);
+            //mfaba = (mfaba - c1over54* (rho-one))/(rho);
+            //mfcba = (mfcba - c1over54* (rho-one))/(rho);
+            //mfabc = (mfabc - c1over54* (rho-one))/(rho);
+            //mfbcc = (mfbcc - c1over54* (rho-one))/(rho);
+            //mfbaa = (mfbaa - c1over54* (rho-one))/(rho);
+            //mfbca = (mfbca - c1over54* (rho-one))/(rho);
+            //mfbac = (mfbac - c1over54* (rho-one))/(rho);
+            //mfbbb = (mfbbb - c8over27* (rho-one))/(rho);
+            //mfccc = (mfccc - c1over216*(rho-one))/(rho);
+            //mfaac = (mfaac - c1over216*(rho-one))/(rho);
+            //mfcac = (mfcac - c1over216*(rho-one))/(rho);
+            //mfacc = (mfacc - c1over216*(rho-one))/(rho);
+            //mfcca = (mfcca - c1over216*(rho-one))/(rho);
+            //mfaaa = (mfaaa - c1over216*(rho-one))/(rho);
+            //mfcaa = (mfcaa - c1over216*(rho-one))/(rho);
+            //mfaca = (mfaca - c1over216*(rho-one))/(rho);
+            ////////////////////////////////////////////////////////////////////////////////////
+            real wadjust;
+            real qudricLimitP = c1o100;// * 0.0001f;
+            real qudricLimitM = c1o100;// * 0.0001f;
+            real qudricLimitD = c1o100;// * 0.001f;
+                                       //real s9 = minusomega;
+                                       //test
+                                       //s9 = 0.;
+                                       ////////////////////////////////////////////////////////////////////////////////////
+                                       //Hin
+                                       ////////////////////////////////////////////////////////////////////////////////////
+                                       // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+                                       ////////////////////////////////////////////////////////////////////////////////////
+                                       // Z - Dir
+            m2 = mfaaa + mfaac;
+            m1 = mfaac - mfaaa;
+            m0 = m2 + mfaab;
+            mfaaa = m0;
+            m0 += c1o36 * oMdrho;
+            mfaab = m1 - m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaba + mfabc;
+            m1 = mfabc - mfaba;
+            m0 = m2 + mfabb;
+            mfaba = m0;
+            m0 += c1o9 * oMdrho;
+            mfabb = m1 - m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaca + mfacc;
+            m1 = mfacc - mfaca;
+            m0 = m2 + mfacb;
+            mfaca = m0;
+            m0 += c1o36 * oMdrho;
+            mfacb = m1 - m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbaa + mfbac;
+            m1 = mfbac - mfbaa;
+            m0 = m2 + mfbab;
+            mfbaa = m0;
+            m0 += c1o9 * oMdrho;
+            mfbab = m1 - m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbba + mfbbc;
+            m1 = mfbbc - mfbba;
+            m0 = m2 + mfbbb;
+            mfbba = m0;
+            m0 += c4o9 * oMdrho;
+            mfbbb = m1 - m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbca + mfbcc;
+            m1 = mfbcc - mfbca;
+            m0 = m2 + mfbcb;
+            mfbca = m0;
+            m0 += c1o9 * oMdrho;
+            mfbcb = m1 - m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcaa + mfcac;
+            m1 = mfcac - mfcaa;
+            m0 = m2 + mfcab;
+            mfcaa = m0;
+            m0 += c1o36 * oMdrho;
+            mfcab = m1 - m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcba + mfcbc;
+            m1 = mfcbc - mfcba;
+            m0 = m2 + mfcbb;
+            mfcba = m0;
+            m0 += c1o9 * oMdrho;
+            mfcbb = m1 - m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcca + mfccc;
+            m1 = mfccc - mfcca;
+            m0 = m2 + mfccb;
+            mfcca = m0;
+            m0 += c1o36 * oMdrho;
+            mfccb = m1 - m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2 = mfaaa + mfaca;
+            m1 = mfaca - mfaaa;
+            m0 = m2 + mfaba;
+            mfaaa = m0;
+            m0 += c1o6 * oMdrho;
+            mfaba = m1 - m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaab + mfacb;
+            m1 = mfacb - mfaab;
+            m0 = m2 + mfabb;
+            mfaab = m0;
+            mfabb = m1 - m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaac + mfacc;
+            m1 = mfacc - mfaac;
+            m0 = m2 + mfabc;
+            mfaac = m0;
+            m0 += c1o18 * oMdrho;
+            mfabc = m1 - m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbaa + mfbca;
+            m1 = mfbca - mfbaa;
+            m0 = m2 + mfbba;
+            mfbaa = m0;
+            m0 += c2o3 * oMdrho;
+            mfbba = m1 - m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbab + mfbcb;
+            m1 = mfbcb - mfbab;
+            m0 = m2 + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 - m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbac + mfbcc;
+            m1 = mfbcc - mfbac;
+            m0 = m2 + mfbbc;
+            mfbac = m0;
+            m0 += c2o9 * oMdrho;
+            mfbbc = m1 - m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcaa + mfcca;
+            m1 = mfcca - mfcaa;
+            m0 = m2 + mfcba;
+            mfcaa = m0;
+            m0 += c1o6 * oMdrho;
+            mfcba = m1 - m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcab + mfccb;
+            m1 = mfccb - mfcab;
+            m0 = m2 + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 - m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcac + mfccc;
+            m1 = mfccc - mfcac;
+            m0 = m2 + mfcbc;
+            mfcac = m0;
+            m0 += c1o18 * oMdrho;
+            mfcbc = m1 - m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2 = mfaaa + mfcaa;
+            m1 = mfcaa - mfaaa;
+            m0 = m2 + mfbaa;
+            mfaaa = m0;
+            m0 += c1o1* oMdrho;
+            mfbaa = m1 - m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaba + mfcba;
+            m1 = mfcba - mfaba;
+            m0 = m2 + mfbba;
+            mfaba = m0;
+            mfbba = m1 - m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaca + mfcca;
+            m1 = mfcca - mfaca;
+            m0 = m2 + mfbca;
+            mfaca = m0;
+            m0 += c1o3 * oMdrho;
+            mfbca = m1 - m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaab + mfcab;
+            m1 = mfcab - mfaab;
+            m0 = m2 + mfbab;
+            mfaab = m0;
+            mfbab = m1 - m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfabb + mfcbb;
+            m1 = mfcbb - mfabb;
+            m0 = m2 + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 - m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfacb + mfccb;
+            m1 = mfccb - mfacb;
+            m0 = m2 + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 - m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaac + mfcac;
+            m1 = mfcac - mfaac;
+            m0 = m2 + mfbac;
+            mfaac = m0;
+            m0 += c1o3 * oMdrho;
+            mfbac = m1 - m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfabc + mfcbc;
+            m1 = mfcbc - mfabc;
+            m0 = m2 + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 - m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfacc + mfccc;
+            m1 = mfccc - mfacc;
+            m0 = m2 + mfbcc;
+            mfacc = m0;
+            m0 += c1o9 * oMdrho;
+            mfbcc = m1 - m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Cumulants
+            ////////////////////////////////////////////////////////////////////////////////////
+            real OxxPyyPzz = c1o1; //omega; // one;    //set the bulk viscosity one is high / two is very low and zero is (too) high
+
+                                  ////////////////////////////////////////////////////////////
+                                  //3.
+                                  //////////////////////////////
+            real OxyyPxzz = c1o1;//three  * (two - omega) / (three  - omega);//one;//(1000.*(-2. + omega))/(-1000. + 439.*omega);//(eight * (omega - two)) / (omega - eight);//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
+            real OxyyMxzz = c1o1;//six    * (two - omega) / (six    - omega);//one;//two-omega;//(1000.*(-2. + omega))/(-1000. + 439.*omega);//(eight * (omega - two)) / (omega - eight);//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
+            real Oxyz = c1o1;//twelve * (two - omega) / (twelve + omega);//one;//two-omega;//(1000.*(-2. + omega))/(-1000. + 439.*omega);//(eight * (omega - two)) / (omega - eight);//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
+                            //////////////////////////////
+                            //real OxyyPxzz  = two-omega;//
+                            //real OxyyMxzz  = two-omega;//
+                            //////////////////////////////
+                            //real OxyyPxzz  = (eight * (omega - two)) / (omega - eight);//Ginzburg
+                            //real OxyyMxzz  = (eight * (omega - two)) / (omega - eight);//Ginzburg
+                            //////////////////////////////
+                            //real OxyyPxzz  = omega;//BGK
+                            //real OxyyMxzz  = omega;//BGK
+                            //////////////////////////////
+                            //real OxyyPxzz  = (one + omega) / two;//1P5
+                            //real OxyyMxzz  = (one + omega) / two;//1P5
+                            //////////////////////////////
+                            //real OxyyPxzz  = (three - omega) / two;//0P5
+                            //real OxyyMxzz  = (three - omega) / two;//0P5
+                            //////////////////////////////
+                            //real OxyyPxzz  = (one + (eight * (omega - two)) / (omega - eight)) / two;//one + Ginzburg / two ... Car
+                            //real OxyyMxzz  = (one + (eight * (omega - two)) / (omega - eight)) / two;//one + Ginzburg / two ... Car
+                            ////////////////////////////////////////////////////////////
+                            //4.
+                            //////////////////////////////
+            real O4 = c1o1;
+            //////////////////////////////
+            //real O4        = omega;//TRT
+            ////////////////////////////////////////////////////////////
+            //5.
+            //////////////////////////////
+            real O5 = c1o1;
+            ////////////////////////////////////////////////////////////
+            //6.
+            //////////////////////////////
+            real O6 = c1o1;
+            ////////////////////////////////////////////////////////////
+
+
+            //central moments to cumulants
+            //4.
+            //real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + two * mfbba * mfbab) / rho;  //bis 15.05.2015 verwendet
+            //real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + two * mfbba * mfabb) / rho;  //bis 15.05.2015 verwendet
+            //real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + two * mfbab * mfabb) / rho;  //bis 15.05.2015 verwendet
+            real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;    //ab 15.05.2015 verwendet
+            real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
+            real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
+
+            real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
+            real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
+            real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
+
+            //5.
+            real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
+            real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
+            real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
+
+            //6.
+
+            real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
+                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
+                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
+                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+                    + c2o1 * (mfcaa * mfaca * mfaac)
+                    + c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
+                - c1o3 * (mfacc + mfcac + mfcca) / rho
+                - c1o9 * (mfcaa + mfaca + mfaac) / rho
+                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
+                    + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
+                + c1o27*((drho * drho - drho) / (rho*rho)));
+            //+ c1o27*(one -three/rho +two/(rho*rho)));
+
+
+
+
+            ////Cum 4.
+            //real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + two * mfbba * mfbab)/rho; // 
+            //real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + two * mfbba * mfabb)/rho; // 
+            //real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + two * mfbab * mfabb)/rho; // 
+
+            //real CUMcca = mfcca - ((mfcaa * mfaca + two * mfbba * mfbba) /rho + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho-one)*oMdrho);
+            //real CUMcac = mfcac - ((mfcaa * mfaac + two * mfbab * mfbab) /rho + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho-one)*oMdrho);
+            //real CUMacc = mfacc - ((mfaac * mfaca + two * mfabb * mfabb) /rho + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho-one)*oMdrho);
+
+            ////Cum 5.
+            //real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) / rho - c1o3 * (mfbca + mfbac) * oMdrho;
+            //real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) / rho - c1o3 * (mfcba + mfabc) * oMdrho;
+            //real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) / rho - c1o3 * (mfacb + mfcab) * oMdrho;
+
+            ////Cum 6.
+            //real CUMccc = mfccc  +((-four *  mfbbb * mfbbb  
+            //                -           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+            //                -    four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
+            //                -     two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
+            //                +(   four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+            //                +     two * (mfcaa * mfaca * mfaac)
+            //                + sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
+            //                -    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
+            //                -    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(one-two* oMdrho)- c1o27* oMdrho * oMdrho*(-two* oMdrho)
+            //                +(    two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
+            //                +           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) / rho * c2o3*oMdrho) +c1o27*oMdrho;
+
+
+
+
+
+            //2.
+            // linear combinations
+            real mxxPyyPzz = mfcaa + mfaca + mfaac;
+            real mxxMyy = mfcaa - mfaca;
+            real mxxMzz = mfcaa - mfaac;
+
+            //////////////////////////////////////////////////////////////////////////
+            //             real magicBulk=(CUMacc+CUMcac+CUMcca)*(one/OxxPyyPzz-c1o2)*c3o2*8.;
+
+            //////////////////////////////////////////////////////////////////////////
+            //limiter-Scheise Teil 1
+            //real oxxyy,oxxzz,oxy,oxz,oyz;
+            //real smag=0.001;
+            //oxxyy    = omega+(one-omega)*abs(mxxMyy)/(abs(mxxMyy)+smag);
+            //oxxzz    = omega+(one-omega)*abs(mxxMzz)/(abs(mxxMzz)+smag);
+            //oxy      = omega+(one-omega)*abs(mfbba)/(abs(mfbba)+smag);
+            //oxz      = omega+(one-omega)*abs(mfbab)/(abs(mfbab)+smag);
+            //oyz      = omega+(one-omega)*abs(mfabb)/(abs(mfabb)+smag);
+
+            ////////////////////////////////////////////////////////////////////////////
+            ////Teil 1b
+            //real constante = 1000.0;
+            //real nuEddi = constante * abs(mxxPyyPzz);
+            //real omegaLimit = one / (one / omega + three * nuEddi);
+
+            //{
+            //    real dxux = c1o2 * (-omegaLimit) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
+            //    real dyuy = dxux + omegaLimit * c3o2 * mxxMyy;
+            //    real dzuz = dxux + omegaLimit * c3o2 * mxxMzz;
+
+            ////relax
+            //mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
+            //mxxMyy    += omegaLimit * (-mxxMyy) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vy2 * dyuy);
+            //mxxMzz    += omegaLimit * (-mxxMzz) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vz2 * dzuz);
+
+            //}
+            //mfabb     += omegaLimit * (-mfabb);
+            //mfbab     += omegaLimit * (-mfbab);
+            //mfbba     += omegaLimit * (-mfbba);
+            ////////////////////////////////////////////////////////////////////////////
+
+            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //incl. correction        (hat noch nicht so gut funktioniert...Optimierungsbedarf??)
+            {
+                real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
+                real dyuy = dxux + omega * c3o2 * mxxMyy;
+                real dzuz = dxux + omega * c3o2 * mxxMzz;
+
+                //relax
+                mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
+                mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
+                mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
+
+                //////////////////////////////////////////////////////////////////////////
+                //limiter-Scheise Teil 2
+                //mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
+                //mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
+                //////////////////////////////////////////////////////////////////////////
+
+            }
+            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            ////no correction
+            //mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
+            //mxxMyy    += -(-omega) * (-mxxMyy);
+            //mxxMzz    += -(-omega) * (-mxxMzz);
+            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfabb += omega * (-mfabb);
+            mfbab += omega * (-mfbab);
+            mfbba += omega * (-mfbba);
+
+            //////////////////////////////////////////////////////////////////////////
+            //limiter-Scheise Teil 3
+            //mfabb     += oyz * (-mfabb);
+            //mfbab     += oxz * (-mfbab);
+            //mfbba     += oxy * (-mfbba);
+            //////////////////////////////////////////////////////////////////////////
+
+            // linear combinations back
+            mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
+            mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
+            mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
+
+            //3.
+            // linear combinations
+
+            real mxxyPyzz = mfcba + mfabc;
+            real mxxyMyzz = mfcba - mfabc;
+
+            real mxxzPyyz = mfcab + mfacb;
+            real mxxzMyyz = mfcab - mfacb;
+
+            real mxyyPxzz = mfbca + mfbac;
+            real mxyyMxzz = mfbca - mfbac;
+
+            //relax
+            //////////////////////////////////////////////////////////////////////////
+            //das ist der limiter
+            wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
+            mfbbb += wadjust * (-mfbbb);
+            wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
+            mxxyPyzz += wadjust * (-mxxyPyzz);
+            wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
+            mxxyMyzz += wadjust * (-mxxyMyzz);
+            wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
+            mxxzPyyz += wadjust * (-mxxzPyyz);
+            wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
+            mxxzMyyz += wadjust * (-mxxzMyyz);
+            wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
+            mxyyPxzz += wadjust * (-mxyyPxzz);
+            wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
+            mxyyMxzz += wadjust * (-mxyyMxzz);
+            //////////////////////////////////////////////////////////////////////////
+            //ohne limiter
+            //mfbbb     += OxyyMxzz * (-mfbbb);
+            //mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
+            //mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
+            //mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
+            //mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
+            //mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
+            //mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
+            //////////////////////////////////////////////////////////////////////////
+
+            //// linear combinations back
+            ////generic
+            //mfcba =  zero;
+            //mfabc =  zero;
+            //mfcab =  zero;
+            //mfacb =  zero;
+            //mfbca =  zero;
+            //mfbac =  zero;
+
+            mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
+            mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+            mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
+            mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+            mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
+            mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+            //4.
+            //CUMacc =  zero; 
+            //CUMcac =  zero; 
+            //CUMcca =  zero; 
+            //       
+            //CUMbbc =  zero; 
+            //CUMbcb =  zero; 
+            //CUMcbb =  zero; 
+            //      
+            ////5.   
+            //CUMbcc =  zero;
+            //CUMcbc =  zero;
+            //CUMccb =  zero;
+            //       
+            ////6.   
+            //CUMccc =  zero;
+
+            //4.
+            //////////////////////////////////////////////////////////////////////////
+            //mit limiter
+            //    wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
+            //CUMacc    += wadjust * (-CUMacc);
+            //    wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
+            //CUMcac    += wadjust * (-CUMcac); 
+            //    wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
+            //CUMcca    += wadjust * (-CUMcca); 
+
+            //    wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
+            //CUMbbc    += wadjust * (-CUMbbc); 
+            //    wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
+            //CUMbcb    += wadjust * (-CUMbcb); 
+            //    wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
+            //CUMcbb    += wadjust * (-CUMcbb); 
+            //////////////////////////////////////////////////////////////////////////
+            //ohne limiter
+            CUMacc += O4 * (-CUMacc);
+            CUMcac += O4 * (-CUMcac);
+            CUMcca += O4 * (-CUMcca);
+
+            CUMbbc += O4 * (-CUMbbc);
+            CUMbcb += O4 * (-CUMbcb);
+            CUMcbb += O4 * (-CUMcbb);
+            //////////////////////////////////////////////////////////////////////////
+
+
+            //5.
+            CUMbcc += O5 * (-CUMbcc);
+            CUMcbc += O5 * (-CUMcbc);
+            CUMccb += O5 * (-CUMccb);
+
+            //6.
+            CUMccc += O6 * (-CUMccc);
+
+
+
+            //back cumulants to central moments
+            //4.
+            //mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + two * mfbba * mfbab) / rho; //bis 15.05.2015 verwendet
+            //mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + two * mfbba * mfabb) / rho; //bis 15.05.2015 verwendet
+            //mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + two * mfbab * mfabb) / rho; //bis 15.05.2015 verwendet
+            mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho; //ab 15.05.2015 verwendet
+            mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
+            mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
+
+            mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));//(one/rho-one));
+            mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));//(one/rho-one));
+            mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));//(one/rho-one));
+
+                                                                                                                          //5.
+            mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
+            mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
+            mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
+
+            //6.
+
+            mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
+                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
+                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
+                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+                    + c2o1 * (mfcaa * mfaca * mfaac)
+                    + c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
+                - c1o3 * (mfacc + mfcac + mfcca) / rho
+                - c1o9 * (mfcaa + mfaca + mfaac) / rho
+                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
+                    + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
+                + c1o27*((drho * drho - drho) / (rho*rho)));
+            //+ c1o27*(one -three/rho +two/(rho*rho)));
+
+
+            //mfccc = CUMccc - ((-four *  mfbbb * mfbbb  
+            //                -           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+            //                -    four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
+            //                -     two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
+            //                +(   four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+            //                +     two * (mfcaa * mfaca * mfaac)
+            //                + sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
+            //                -    c1o3 * (mfacc + mfcac + mfcca) * oMdrho  -c1o9*oMdrho*oMdrho
+            //                -    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(one-two* oMdrho)- c1o27* oMdrho * oMdrho*(-two* oMdrho)
+            //                +(    two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
+            //                +           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) / rho * c2o3*oMdrho) -c1o27*oMdrho;
+
+
+
+
+
+            //mfccc = CUMccc  -(( -four *  mfbbb * mfbbb  
+            //                -           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+            //                -    four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
+            //                -     two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
+            //                +(   four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+            //                +     two * (mfcaa * mfaca * mfaac)
+            //                + sixteen *  mfbba * mfbab * mfabb) / (rho * rho)
+            //                +    (c1o3 * (mfacc + mfcac + mfcca) )/rho
+            //                +     (c1o9 * (mfcaa + mfaca + mfaac) )/rho
+            //                - (four*c1o3*(mfabb * mfabb + mfbab * mfbab + mfbba * mfbba) + two * ( c1o3 *(mfcaa * mfaca + mfcaa * mfaac + mfaca * mfaac) + c1o9* (mfcaa + mfaca + mfaac )))/(rho*rho) 
+            //                + c1o27*(three/rho - two/(rho * rho) - one);
+            //                //-    c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(one-two* oMdrho)- c1o27* oMdrho * oMdrho*(-two* oMdrho) //????
+            //                //+(    two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
+            //                //+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) / rho * c2o3*oMdrho) -c1o27*oMdrho;
+
+            //Test Cascade
+            //4.
+            //mfacc = mfaaa * c1o9 * O4 + (one - O4) * mfacc; 
+            //mfcac = mfaaa * c1o9 * O4 + (one - O4) * mfcac; 
+            //mfcca = mfaaa * c1o9 * O4 + (one - O4) * mfcca; 
+            //
+            //mfbbc += O4 * (-mfbbc); 
+            //mfbcb += O4 * (-mfbcb); 
+            //mfcbb += O4 * (-mfcbb); 
+
+            ////5.
+            //mfbcc += O5 * (-mfbcc);
+            //mfcbc += O5 * (-mfcbc);
+            //mfccb += O5 * (-mfccb);
+
+            //6.
+            //mfccc = mfaaa * c1o27 * O6 + (one - O6) * mfccc;
+
+            ////////////////////////////////////////////////////////////////////////////////////
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            //the force be with you
+            mfbaa = -mfbaa;
+            mfaba = -mfaba;
+            mfaab = -mfaab;
+            ////////////////////////////////////////////////////////////////////////////////////
+
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            //back
+            ////////////////////////////////////////////////////////////////////////////////////
+            //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
+            m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
+            mfaaa = m0;
+            mfaab = m1;
+            mfaac = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
+            m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
+            m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
+            mfaba = m0;
+            mfabb = m1;
+            mfabc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
+            m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
+            mfaca = m0;
+            mfacb = m1;
+            mfacc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
+            m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
+            m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
+            mfbaa = m0;
+            mfbab = m1;
+            mfbac = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
+            m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
+            m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
+            mfbba = m0;
+            mfbbb = m1;
+            mfbbc = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
+            m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
+            m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
+            mfbca = m0;
+            mfbcb = m1;
+            mfbcc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
+            m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
+            mfcaa = m0;
+            mfcab = m1;
+            mfcac = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
+            m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
+            m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
+            mfcba = m0;
+            mfcbb = m1;
+            mfcbc = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
+            m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
+            mfcca = m0;
+            mfccb = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
+            m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfaaa = m0;
+            mfaba = m1;
+            mfaca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
+            m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfaab = m0;
+            mfabb = m1;
+            mfacb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
+            m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfaac = m0;
+            mfabc = m1;
+            mfacc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
+            m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
+            m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
+            mfbaa = m0;
+            mfbba = m1;
+            mfbca = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
+            m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
+            m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
+            mfbab = m0;
+            mfbbb = m1;
+            mfbcb = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
+            m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
+            m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
+            mfbac = m0;
+            mfbbc = m1;
+            mfbcc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
+            m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfcaa = m0;
+            mfcba = m1;
+            mfcca = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
+            m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfcab = m0;
+            mfcbb = m1;
+            mfccb = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
+            m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfcac = m0;
+            mfcbc = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaaa = m0;
+            mfbaa = m1;
+            mfcaa = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaba = m0;
+            mfbba = m1;
+            mfcba = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaca = m0;
+            mfbca = m1;
+            mfcca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaab = m0;
+            mfbab = m1;
+            mfcab = m2;
+            ///////////b////////////////////////////////////////////////////////////////////////
+            m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
+            m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfabb = m0;
+            mfbbb = m1;
+            mfcbb = m2;
+            ///////////b////////////////////////////////////////////////////////////////////////
+            m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfacb = m0;
+            mfbcb = m1;
+            mfccb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaac = m0;
+            mfbac = m1;
+            mfcac = m2;
+            ///////////c////////////////////////////////////////////////////////////////////////
+            m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfabc = m0;
+            mfbbc = m1;
+            mfcbc = m2;
+            ///////////c////////////////////////////////////////////////////////////////////////
+            m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfacc = m0;
+            mfbcc = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+
+            //////////////////////////////////////////////////////////////////////////////////////
+            //// test rundungsfehler....
+            //mfcbb = (mfcbb * rho + c2over27* (rho-one));
+            //mfabb = (mfabb * rho + c2over27* (rho-one));
+            //mfbcb = (mfbcb * rho + c2over27* (rho-one));
+            //mfbab = (mfbab * rho + c2over27* (rho-one));
+            //mfbbc = (mfbbc * rho + c2over27* (rho-one));
+            //mfbba = (mfbba * rho + c2over27* (rho-one));
+            //mfccb = (mfccb * rho + c1over54* (rho-one));
+            //mfaab = (mfaab * rho + c1over54* (rho-one));
+            //mfcab = (mfcab * rho + c1over54* (rho-one));
+            //mfacb = (mfacb * rho + c1over54* (rho-one));
+            //mfcbc = (mfcbc * rho + c1over54* (rho-one));
+            //mfaba = (mfaba * rho + c1over54* (rho-one));
+            //mfcba = (mfcba * rho + c1over54* (rho-one));
+            //mfabc = (mfabc * rho + c1over54* (rho-one));
+            //mfbcc = (mfbcc * rho + c1over54* (rho-one));
+            //mfbaa = (mfbaa * rho + c1over54* (rho-one));
+            //mfbca = (mfbca * rho + c1over54* (rho-one));
+            //mfbac = (mfbac * rho + c1over54* (rho-one));
+            //mfbbb = (mfbbb * rho + c8over27* (rho-one));
+            //mfccc = (mfccc * rho + c1over216*(rho-one));
+            //mfaac = (mfaac * rho + c1over216*(rho-one));
+            //mfcac = (mfcac * rho + c1over216*(rho-one));
+            //mfacc = (mfacc * rho + c1over216*(rho-one));
+            //mfcca = (mfcca * rho + c1over216*(rho-one));
+            //mfaaa = (mfaaa * rho + c1over216*(rho-one));
+            //mfcaa = (mfcaa * rho + c1over216*(rho-one));
+            //mfaca = (mfaca * rho + c1over216*(rho-one));
+            real drhoPost =
+                ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
+                (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
+                    ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
+            mfbbb += drho - drhoPost;
+            ////////////////////////////////////////////////////////////////////////////////////
+            (D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
+            (D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
+            (D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;     (D.f[ d0P0   ])[k   ]
+            (D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;     (D.f[ d0M0   ])[ks  ]
+            (D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;     (D.f[ d00P   ])[k   ]
+            (D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;     (D.f[ d00M   ])[kb  ]
+            (D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;     (D.f[ dPP0  ])[k   ]
+            (D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;     (D.f[ dMM0  ])[ksw ]
+            (D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;     (D.f[ dPM0  ])[ks  ]
+            (D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;     (D.f[ dMP0  ])[kw  ]
+            (D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;     (D.f[ dP0P  ])[k   ]
+            (D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;     (D.f[ dM0M  ])[kbw ]
+            (D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;     (D.f[ dP0M  ])[kb  ]
+            (D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;     (D.f[ dM0P  ])[kw  ]
+            (D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;     (D.f[ d0PP  ])[k   ]
+            (D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;     (D.f[ d0MM  ])[kbs ]
+            (D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;     (D.f[ d0PM  ])[kb  ]
+            (D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;     (D.f[ d0MP  ])[ks  ]
+            (D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;     (D.f[ d000])[k   ]
+            (D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;     (D.f[ dPPP ])[k   ]
+            (D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;     (D.f[ dPMP ])[ks  ]
+            (D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;     (D.f[ dPPM ])[kb  ]
+            (D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;     (D.f[ dPMM ])[kbs ]
+            (D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;     (D.f[ dMPP ])[kw  ]
+            (D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;     (D.f[ dMMP ])[ksw ]
+            (D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;     (D.f[ dMPM ])[kbw ]
+            (D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;     (D.f[ dMMM ])[kbsw]
+                                        ////////////////////////////////////////////////////////////////////////////////////
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes_Device.cuh
index 0dfdb3488136575921eb169cde4364d9de1507f5..92a3c988bdb8c32302a082b4d7ed0351b32458c2 100644
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes_Device.cuh
+++ b/src/gpu/core/Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes_Device.cuh
@@ -4,15 +4,15 @@
 #include <DataTypes.h>
 #include <curand.h>
 
-__global__ void K15CompressibleNavierStokes_Device(	
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	int level,
-	real* forces,
-	bool EvenOrOdd);
+__global__ void K15CompressibleNavierStokes_Device(    
+    real omega,
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    int level,
+    real* forces,
+    bool EvenOrOdd);
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia.cu
deleted file mode 100644
index 70ae05f6f093fb933f03dc59190051a397c8975b..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia.cu
+++ /dev/null
@@ -1,65 +0,0 @@
-#include "K15CompressibleNavierStokesPorousMedia.h"
-
-#include "K15CompressibleNavierStokesPorousMedia_Device.cuh"
-#include "Parameter/Parameter.h"
-#include "Calculation/PorousMedia.h"
-
-std::shared_ptr<K15CompressibleNavierStokesPorousMedia> K15CompressibleNavierStokesPorousMedia::getNewInstance(std::shared_ptr<Parameter> para, std::vector<std::shared_ptr<PorousMedia>> pm, int level)
-{
-	return std::shared_ptr<K15CompressibleNavierStokesPorousMedia>(new K15CompressibleNavierStokesPorousMedia(para, pm, level));
-}
-
-void K15CompressibleNavierStokesPorousMedia::run()
-{
-	int size_Mat = (int)para->getParD(level)->numberOfNodes;
-	int numberOfThreads = para->getParD(level)->numberofthreads;
-
-	int Grid = (size_Mat / numberOfThreads) + 1;
-	int Grid1, Grid2;
-	if (Grid > 512)
-	{
-		Grid1 = 512;
-		Grid2 = (Grid / Grid1) + 1;
-	}
-	else
-	{
-		Grid1 = 1;
-		Grid2 = Grid;
-	}
-	dim3 grid(Grid1, Grid2, 1);
-	dim3 threads(numberOfThreads, 1, 1);
-
-	for (int i = 0; i < pm.size(); i++) {
-		K15CompressibleNavierStokesPorousMedia_Device <<< grid, threads >>>(
-			para->getParD(level)->omega,
-			para->getParD(level)->neighborX,
-			para->getParD(level)->neighborY,
-			para->getParD(level)->neighborZ,
-			para->getParD(level)->distributions.f[0],
-			para->getParD(level)->numberOfNodes,
-			level,
-			para->getForcesDev(),
-			pm[i]->getPorosity(),
-			pm[i]->getDarcyLBM(),
-			pm[i]->getForchheimerLBM(),
-			pm[i]->getSizePM(),
-			pm[i]->getHostNodeIDsPM(),
-			para->getParD(level)->isEvenTimestep);
-		getLastCudaError("K15CompressibleNavierStokesPorousMedia_Device execution failed");
-	}
-}
-
-K15CompressibleNavierStokesPorousMedia::K15CompressibleNavierStokesPorousMedia(std::shared_ptr<Parameter> para, std::vector<std::shared_ptr<PorousMedia>> pm, int level)
-{
-	this->para = para;
-	this->pm = pm;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitSP27);
-
-	
-}
-
-K15CompressibleNavierStokesPorousMedia::K15CompressibleNavierStokesPorousMedia()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia.h
deleted file mode 100644
index 4bda2ecdde646b14ba82d6e1e0c2df630986226f..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef K15CompressibleNavierStokesPorousMedia_H
-#define K15CompressibleNavierStokesPorousMedia_H
-
-#include "Kernel/KernelImp.h"
-
-class PorousMedia;
-
-class K15CompressibleNavierStokesPorousMedia : public KernelImp
-{
-public:
-	static std::shared_ptr<K15CompressibleNavierStokesPorousMedia> getNewInstance(std::shared_ptr< Parameter> para, std::vector<std::shared_ptr<PorousMedia>> pm, int level);
-	void run();
-
-private:
-	K15CompressibleNavierStokesPorousMedia();
-	K15CompressibleNavierStokesPorousMedia(std::shared_ptr< Parameter> para, std::vector<std::shared_ptr<PorousMedia>> pm, int level);
-
-	std::vector<std::shared_ptr<PorousMedia>> pm;
-};
-
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia_Device.cu
deleted file mode 100644
index 479415d9c150cf508ed7f4747290692a89755766..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia_Device.cu
+++ /dev/null
@@ -1,936 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K15CompressibleNavierStokesPorousMedia_Device(real omega,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	unsigned long long numberOfLBnodes,
-	int level,
-	real* forces,
-	real porosity,
-	real darcy,
-	real forchheimer,
-	unsigned int sizeOfPorousMedia,
-	unsigned int* nodeIdsPorousMedia,
-	bool EvenOrOdd)
-{
-	Distributions27 D;
-	if (EvenOrOdd == true)
-	{
-		D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-		D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-		D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-		D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-		D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-		D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-		D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-		D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-		D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-		D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-		D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-		D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-		D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-		D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-		D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-		D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-		D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-		D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-		D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-		D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-		D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-		D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-		D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-		D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-		D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-		D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-		D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-	}
-	else
-	{
-		D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-		D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-		D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-		D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-		D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-		D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-		D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-		D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-		D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-		D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-		D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-		D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-		D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-		D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-		D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-		D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-		D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-		D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-		D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-		D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-		D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-		D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-		D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-		D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-		D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-		D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-		D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-	}
-
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned kt = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (kt<sizeOfPorousMedia)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		//index
-		unsigned int k = nodeIdsPorousMedia[kt];
-		unsigned int kw = neighborX[k];
-		unsigned int ks = neighborY[k];
-		unsigned int kb = neighborZ[k];
-		unsigned int ksw = neighborY[kw];
-		unsigned int kbw = neighborZ[kw];
-		unsigned int kbs = neighborZ[ks];
-		unsigned int kbsw = neighborZ[ksw];
-		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		real mfcbb = (D.f[dP00])[k];
-		real mfabb = (D.f[dM00])[kw];
-		real mfbcb = (D.f[d0P0])[k];
-		real mfbab = (D.f[d0M0])[ks];
-		real mfbbc = (D.f[d00P])[k];
-		real mfbba = (D.f[d00M])[kb];
-		real mfccb = (D.f[dPP0])[k];
-		real mfaab = (D.f[dMM0])[ksw];
-		real mfcab = (D.f[dPM0])[ks];
-		real mfacb = (D.f[dMP0])[kw];
-		real mfcbc = (D.f[dP0P])[k];
-		real mfaba = (D.f[dM0M])[kbw];
-		real mfcba = (D.f[dP0M])[kb];
-		real mfabc = (D.f[dM0P])[kw];
-		real mfbcc = (D.f[d0PP])[k];
-		real mfbaa = (D.f[d0MM])[kbs];
-		real mfbca = (D.f[d0PM])[kb];
-		real mfbac = (D.f[d0MP])[ks];
-		real mfbbb = (D.f[d000])[k];
-		real mfccc = (D.f[dPPP])[k];
-		real mfaac = (D.f[dMMP])[ksw];
-		real mfcac = (D.f[dPMP])[ks];
-		real mfacc = (D.f[dMPP])[kw];
-		real mfcca = (D.f[dPPM])[kb];
-		real mfaaa = (D.f[dMMM])[kbsw];
-		real mfcaa = (D.f[dPMM])[kbs];
-		real mfaca = (D.f[dMPM])[kbw];
-		////////////////////////////////////////////////////////////////////////////////////
-		real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-			(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-			((mfabb + mfcbb) + (mfbab + mfbcb)) + (mfbba + mfbbc)) + mfbbb;
-
-		real rho = c1o1 + drho;
-		////////////////////////////////////////////////////////////////////////////////////
-		real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-			(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-			(mfcbb - mfabb)) / rho;
-		real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-			(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-			(mfbcb - mfbab)) / rho;
-		real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-			(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-			(mfbbc - mfbba)) / rho;
-		real vx2 = vvx*vvx;
-		real vy2 = vvy*vvy;
-		real vz2 = vvz*vvz;
-		////////////////////////////////////////////////////////////////////////////////////
-		//porous media
-		vvx = -(c2o1 * vvx) / (-c2o1 - darcy - forchheimer * sqrtf(vx2 + vy2 + vz2));
-		vvy = -(c2o1 * vvy) / (-c2o1 - darcy - forchheimer * sqrtf(vx2 + vy2 + vz2));
-		vvz = -(c2o1 * vvz) / (-c2o1 - darcy - forchheimer * sqrtf(vx2 + vy2 + vz2));
-		//vvx = (two * vvx) / (two + 134.4 + 0.0068287 * sqrtf(vx2 + vy2 + vz2));
-		//vvy = (two * vvy) / (two + 134.4 + 0.0068287 * sqrtf(vx2 + vy2 + vz2));
-		//vvz = (two * vvz) / (two + 134.4 + 0.0068287 * sqrtf(vx2 + vy2 + vz2));
-		////////////////////////////////////////////////////////////////////////////////////
-		//the force be with you
-		real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-		real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-		real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-		vvx += fx*c1o2;
-		vvy += fy*c1o2;
-		vvz += fz*c1o2;
-		////////////////////////////////////////////////////////////////////////////////////
-		//real omega = omega_in;
-		////////////////////////////////////////////////////////////////////////////////////
-		real oMdrho = c1o1; // comp special
-						   ////////////////////////////////////////////////////////////////////////////////////
-		real m0, m1, m2;
-		//////////////////////////////////////////////////////////////////////////////////////
-		real wadjust;
-		real qudricLimitP = 0.01f;// * 0.0001f;
-		real qudricLimitM = 0.01f;// * 0.0001f;
-		real qudricLimitD = 0.01f;// * 0.001f;
-								  ////////////////////////////////////////////////////////////////////////////////////
-								  //Hin
-								  ////////////////////////////////////////////////////////////////////////////////////
-								  // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-								  ////////////////////////////////////////////////////////////////////////////////////
-								  // Z - Dir
-		m2 = mfaaa + mfaac;
-		m1 = mfaac - mfaaa;
-		m0 = m2 + mfaab;
-		mfaaa = m0;
-		m0 += c1o36 * oMdrho;
-		mfaab = m1 - m0 * vvz;
-		mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfaba + mfabc;
-		m1 = mfabc - mfaba;
-		m0 = m2 + mfabb;
-		mfaba = m0;
-		m0 += c1o9 * oMdrho;
-		mfabb = m1 - m0 * vvz;
-		mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfaca + mfacc;
-		m1 = mfacc - mfaca;
-		m0 = m2 + mfacb;
-		mfaca = m0;
-		m0 += c1o36 * oMdrho;
-		mfacb = m1 - m0 * vvz;
-		mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfbaa + mfbac;
-		m1 = mfbac - mfbaa;
-		m0 = m2 + mfbab;
-		mfbaa = m0;
-		m0 += c1o9 * oMdrho;
-		mfbab = m1 - m0 * vvz;
-		mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfbba + mfbbc;
-		m1 = mfbbc - mfbba;
-		m0 = m2 + mfbbb;
-		mfbba = m0;
-		m0 += c4o9 * oMdrho;
-		mfbbb = m1 - m0 * vvz;
-		mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfbca + mfbcc;
-		m1 = mfbcc - mfbca;
-		m0 = m2 + mfbcb;
-		mfbca = m0;
-		m0 += c1o9 * oMdrho;
-		mfbcb = m1 - m0 * vvz;
-		mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfcaa + mfcac;
-		m1 = mfcac - mfcaa;
-		m0 = m2 + mfcab;
-		mfcaa = m0;
-		m0 += c1o36 * oMdrho;
-		mfcab = m1 - m0 * vvz;
-		mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfcba + mfcbc;
-		m1 = mfcbc - mfcba;
-		m0 = m2 + mfcbb;
-		mfcba = m0;
-		m0 += c1o9 * oMdrho;
-		mfcbb = m1 - m0 * vvz;
-		mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfcca + mfccc;
-		m1 = mfccc - mfcca;
-		m0 = m2 + mfccb;
-		mfcca = m0;
-		m0 += c1o36 * oMdrho;
-		mfccb = m1 - m0 * vvz;
-		mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-		////////////////////////////////////////////////////////////////////////////////////
-		// Y - Dir
-		m2 = mfaaa + mfaca;
-		m1 = mfaca - mfaaa;
-		m0 = m2 + mfaba;
-		mfaaa = m0;
-		m0 += c1o6 * oMdrho;
-		mfaba = m1 - m0 * vvy;
-		mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfaab + mfacb;
-		m1 = mfacb - mfaab;
-		m0 = m2 + mfabb;
-		mfaab = m0;
-		mfabb = m1 - m0 * vvy;
-		mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfaac + mfacc;
-		m1 = mfacc - mfaac;
-		m0 = m2 + mfabc;
-		mfaac = m0;
-		m0 += c1o18 * oMdrho;
-		mfabc = m1 - m0 * vvy;
-		mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfbaa + mfbca;
-		m1 = mfbca - mfbaa;
-		m0 = m2 + mfbba;
-		mfbaa = m0;
-		m0 += c2o3 * oMdrho;
-		mfbba = m1 - m0 * vvy;
-		mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfbab + mfbcb;
-		m1 = mfbcb - mfbab;
-		m0 = m2 + mfbbb;
-		mfbab = m0;
-		mfbbb = m1 - m0 * vvy;
-		mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfbac + mfbcc;
-		m1 = mfbcc - mfbac;
-		m0 = m2 + mfbbc;
-		mfbac = m0;
-		m0 += c2o9 * oMdrho;
-		mfbbc = m1 - m0 * vvy;
-		mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfcaa + mfcca;
-		m1 = mfcca - mfcaa;
-		m0 = m2 + mfcba;
-		mfcaa = m0;
-		m0 += c1o6 * oMdrho;
-		mfcba = m1 - m0 * vvy;
-		mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfcab + mfccb;
-		m1 = mfccb - mfcab;
-		m0 = m2 + mfcbb;
-		mfcab = m0;
-		mfcbb = m1 - m0 * vvy;
-		mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfcac + mfccc;
-		m1 = mfccc - mfcac;
-		m0 = m2 + mfcbc;
-		mfcac = m0;
-		m0 += c1o18 * oMdrho;
-		mfcbc = m1 - m0 * vvy;
-		mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-		////////////////////////////////////////////////////////////////////////////////////
-		// X - Dir
-		m2 = mfaaa + mfcaa;
-		m1 = mfcaa - mfaaa;
-		m0 = m2 + mfbaa;
-		mfaaa = m0;
-		m0 += c1o1* oMdrho;
-		mfbaa = m1 - m0 * vvx;
-		mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfaba + mfcba;
-		m1 = mfcba - mfaba;
-		m0 = m2 + mfbba;
-		mfaba = m0;
-		mfbba = m1 - m0 * vvx;
-		mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfaca + mfcca;
-		m1 = mfcca - mfaca;
-		m0 = m2 + mfbca;
-		mfaca = m0;
-		m0 += c1o3 * oMdrho;
-		mfbca = m1 - m0 * vvx;
-		mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfaab + mfcab;
-		m1 = mfcab - mfaab;
-		m0 = m2 + mfbab;
-		mfaab = m0;
-		mfbab = m1 - m0 * vvx;
-		mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfabb + mfcbb;
-		m1 = mfcbb - mfabb;
-		m0 = m2 + mfbbb;
-		mfabb = m0;
-		mfbbb = m1 - m0 * vvx;
-		mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfacb + mfccb;
-		m1 = mfccb - mfacb;
-		m0 = m2 + mfbcb;
-		mfacb = m0;
-		mfbcb = m1 - m0 * vvx;
-		mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfaac + mfcac;
-		m1 = mfcac - mfaac;
-		m0 = m2 + mfbac;
-		mfaac = m0;
-		m0 += c1o3 * oMdrho;
-		mfbac = m1 - m0 * vvx;
-		mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfabc + mfcbc;
-		m1 = mfcbc - mfabc;
-		m0 = m2 + mfbbc;
-		mfabc = m0;
-		mfbbc = m1 - m0 * vvx;
-		mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		m2 = mfacc + mfccc;
-		m1 = mfccc - mfacc;
-		m0 = m2 + mfbcc;
-		mfacc = m0;
-		m0 += c1o9 * oMdrho;
-		mfbcc = m1 - m0 * vvx;
-		mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-
-
-		////////////////////////////////////////////////////////////////////////////////////
-		// Cumulants
-		////////////////////////////////////////////////////////////////////////////////////
-		real OxxPyyPzz = c1o1;	//set the bulk viscosity one is high / two is very low and zero is (too) high
-
-								////////////////////////////////////////////////////////////
-								//3.
-								//////////////////////////////
-		real OxyyPxzz = c1o1;
-		real OxyyMxzz = c1o1;
-		real Oxyz = c1o1;
-		////////////////////////////////////////////////////////////
-		//4.
-		//////////////////////////////
-		real O4 = c1o1;
-		////////////////////////////////////////////////////////////
-		//5.
-		//////////////////////////////
-		real O5 = c1o1;
-		////////////////////////////////////////////////////////////
-		//6.
-		//////////////////////////////
-		real O6 = c1o1;
-		////////////////////////////////////////////////////////////
-
-
-		//central moments to cumulants
-		//4.
-		real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-		real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-		real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-		real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-		real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-		real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-		//5.
-		real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-		real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-		real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-		//6.
-
-		real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-			- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-			- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-			+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-				+ c2o1 * (mfcaa * mfaca * mfaac)
-				+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-			- c1o3 * (mfacc + mfcac + mfcca) / rho
-			- c1o9 * (mfcaa + mfaca + mfaac) / rho
-			+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-				+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-			+ c1o27*((drho * drho - drho) / (rho*rho)));
-		//+ c1o27*(one -three/rho +two/(rho*rho)));
-
-
-
-
-		//2.
-		// linear combinations
-		real mxxPyyPzz = mfcaa + mfaca + mfaac;
-		real mxxMyy = mfcaa - mfaca;
-		real mxxMzz = mfcaa - mfaac;
-
-		//////////////////////////////////////////////////////////////////////////
-		//real magicBulk = (CUMacc + CUMcac + CUMcca)*(c1o1 / OxxPyyPzz - c1o2)*c3o2*8.;
-
-		//////////////////////////////////////////////////////////////////////////
-		//limiter-Scheise Teil 1
-		//real oxxyy,oxxzz,oxy,oxz,oyz;
-		//real smag=0.001;
-		//oxxyy    = omega+(one-omega)*abs(mxxMyy)/(abs(mxxMyy)+smag);
-		//oxxzz    = omega+(one-omega)*abs(mxxMzz)/(abs(mxxMzz)+smag);
-		//oxy      = omega+(one-omega)*abs(mfbba)/(abs(mfbba)+smag);
-		//oxz      = omega+(one-omega)*abs(mfbab)/(abs(mfbab)+smag);
-		//oyz      = omega+(one-omega)*abs(mfabb)/(abs(mfabb)+smag);
-
-		////////////////////////////////////////////////////////////////////////////
-		////Teil 1b
-		//real constante = 1000.0;
-		//real nuEddi = constante * abs(mxxPyyPzz);
-		//real omegaLimit = one / (one / omega + three * nuEddi);
-
-		//{
-		//	real dxux = c1o2 * (-omegaLimit) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-		//	real dyuy = dxux + omegaLimit * c3o2 * mxxMyy;
-		//	real dzuz = dxux + omegaLimit * c3o2 * mxxMzz;
-
-		////relax
-		//mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-		//mxxMyy    += omegaLimit * (-mxxMyy) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vy2 * dyuy);
-		//mxxMzz    += omegaLimit * (-mxxMzz) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vz2 * dzuz);
-
-		//}
-		//mfabb     += omegaLimit * (-mfabb);
-		//mfbab     += omegaLimit * (-mfbab);
-		//mfbba     += omegaLimit * (-mfbba);
-		////////////////////////////////////////////////////////////////////////////
-
-		///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-		{
-			real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			real dyuy = dxux + omega * c3o2 * mxxMyy;
-			real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			////relax original
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-			//mxxMzz    += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			//relax porous media Mp
-			mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz + rho * (vx2 + vy2 + vz2) * (c1o1 / porosity - c1o1)) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-																																													  //relax porous media Ms
-			mxxMyy += omega * (rho * (vx2 - vy2) * (c1o1 / porosity - c1o1) - mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-			mxxMzz += omega * (rho * (vx2 - vz2) * (c1o1 / porosity - c1o1) - mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 2
-			//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			//////////////////////////////////////////////////////////////////////////
-
-		}
-		///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		////no correction
-		//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-		//mxxMyy    += -(-omega) * (-mxxMyy);
-		//mxxMzz    += -(-omega) * (-mxxMzz);
-		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		////original
-		//mfabb     += omega * (-mfabb);
-		//mfbab     += omega * (-mfbab);
-		//mfbba     += omega * (-mfbba);
-		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		//porous media M11
-		mfabb += omega * (rho * vvy * vvz * (c1o1 / porosity - c1o1) - mfabb);
-		mfbab += omega * (rho * vvx * vvz * (c1o1 / porosity - c1o1) - mfbab);
-		mfbba += omega * (rho * vvx * vvy * (c1o1 / porosity - c1o1) - mfbba);
-
-		//////////////////////////////////////////////////////////////////////////
-		//limiter-Scheise Teil 3
-		//mfabb     += oyz * (-mfabb);
-		//mfbab     += oxz * (-mfbab);
-		//mfbba     += oxy * (-mfbba);
-		//////////////////////////////////////////////////////////////////////////
-
-		// linear combinations back
-		mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-		mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-		mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-		//3.
-		// linear combinations
-
-		real mxxyPyzz = mfcba + mfabc;
-		real mxxyMyzz = mfcba - mfabc;
-
-		real mxxzPyyz = mfcab + mfacb;
-		real mxxzMyyz = mfcab - mfacb;
-
-		real mxyyPxzz = mfbca + mfbac;
-		real mxyyMxzz = mfbca - mfbac;
-
-		//relax
-		//////////////////////////////////////////////////////////////////////////
-		//das ist der limiter
-		wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-		mfbbb += wadjust * (-mfbbb);
-		wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-		mxxyPyzz += wadjust * (-mxxyPyzz);
-		wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-		mxxyMyzz += wadjust * (-mxxyMyzz);
-		wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-		mxxzPyyz += wadjust * (-mxxzPyyz);
-		wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-		mxxzMyyz += wadjust * (-mxxzMyyz);
-		wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-		mxyyPxzz += wadjust * (-mxyyPxzz);
-		wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-		mxyyMxzz += wadjust * (-mxyyMxzz);
-		//////////////////////////////////////////////////////////////////////////
-		//ohne limiter
-		//mfbbb     += OxyyMxzz * (-mfbbb);
-		//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-		//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-		//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-		//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-		//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-		//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-		//////////////////////////////////////////////////////////////////////////
-
-		//// linear combinations back
-
-		mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-		mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-		mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-		mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-		mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-		mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-		//4.
-		//////////////////////////////////////////////////////////////////////////
-		//mit limiter
-		//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-		//CUMacc    += wadjust * (-CUMacc);
-		//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-		//CUMcac    += wadjust * (-CUMcac); 
-		//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-		//CUMcca    += wadjust * (-CUMcca); 
-
-		//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-		//CUMbbc    += wadjust * (-CUMbbc); 
-		//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-		//CUMbcb    += wadjust * (-CUMbcb); 
-		//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-		//CUMcbb    += wadjust * (-CUMcbb); 
-		//////////////////////////////////////////////////////////////////////////
-		//ohne limiter
-		CUMacc += O4 * (-CUMacc);
-		CUMcac += O4 * (-CUMcac);
-		CUMcca += O4 * (-CUMcca);
-
-		CUMbbc += O4 * (-CUMbbc);
-		CUMbcb += O4 * (-CUMbcb);
-		CUMcbb += O4 * (-CUMcbb);
-		//////////////////////////////////////////////////////////////////////////
-
-
-		//5.
-		CUMbcc += O5 * (-CUMbcc);
-		CUMcbc += O5 * (-CUMcbc);
-		CUMccb += O5 * (-CUMccb);
-
-		//6.
-		CUMccc += O6 * (-CUMccc);
-
-
-
-		//back cumulants to central moments
-		//4.
-		mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-		mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-		mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-		mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-		mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-		mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-		//5.
-		mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-		mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-		mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-		//6.
-
-		mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-			- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-			- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-			+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-				+ c2o1 * (mfcaa * mfaca * mfaac)
-				+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-			- c1o3 * (mfacc + mfcac + mfcca) / rho
-			- c1o9 * (mfcaa + mfaca + mfaac) / rho
-			+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-				+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-			+ c1o27*((drho * drho - drho) / (rho*rho)));
-		//+ c1o27*(one -three/rho +two/(rho*rho)));
-		////////////////////////////////////////////////////////////////////////////////////
-
-		////////////////////////////////////////////////////////////////////////////////////
-		//the force be with you
-		mfbaa = -mfbaa;
-		mfaba = -mfaba;
-		mfaab = -mfaab;
-		////////////////////////////////////////////////////////////////////////////////////
-
-
-		////////////////////////////////////////////////////////////////////////////////////
-		//back
-		////////////////////////////////////////////////////////////////////////////////////
-		//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-		////////////////////////////////////////////////////////////////////////////////////
-		// Z - Dir
-		m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-		m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-		m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-		mfaaa = m0;
-		mfaab = m1;
-		mfaac = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-		m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-		m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-		mfaba = m0;
-		mfabb = m1;
-		mfabc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-		m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-		m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-		mfaca = m0;
-		mfacb = m1;
-		mfacc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-		m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-		m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-		mfbaa = m0;
-		mfbab = m1;
-		mfbac = m2;
-		/////////b//////////////////////////////////////////////////////////////////////////
-		m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-		m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-		m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-		mfbba = m0;
-		mfbbb = m1;
-		mfbbc = m2;
-		/////////b//////////////////////////////////////////////////////////////////////////
-		m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-		m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-		m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-		mfbca = m0;
-		mfbcb = m1;
-		mfbcc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-		m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-		m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-		mfcaa = m0;
-		mfcab = m1;
-		mfcac = m2;
-		/////////c//////////////////////////////////////////////////////////////////////////
-		m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-		m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-		m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-		mfcba = m0;
-		mfcbb = m1;
-		mfcbc = m2;
-		/////////c//////////////////////////////////////////////////////////////////////////
-		m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-		m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-		m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-		mfcca = m0;
-		mfccb = m1;
-		mfccc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-		////////////////////////////////////////////////////////////////////////////////////
-		// Y - Dir
-		m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-		m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-		m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-		mfaaa = m0;
-		mfaba = m1;
-		mfaca = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-		m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-		m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-		mfaab = m0;
-		mfabb = m1;
-		mfacb = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-		m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-		m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-		mfaac = m0;
-		mfabc = m1;
-		mfacc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-		m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-		m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-		mfbaa = m0;
-		mfbba = m1;
-		mfbca = m2;
-		/////////b//////////////////////////////////////////////////////////////////////////
-		m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-		m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-		m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-		mfbab = m0;
-		mfbbb = m1;
-		mfbcb = m2;
-		/////////b//////////////////////////////////////////////////////////////////////////
-		m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-		m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-		m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-		mfbac = m0;
-		mfbbc = m1;
-		mfbcc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-		m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-		m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-		mfcaa = m0;
-		mfcba = m1;
-		mfcca = m2;
-		/////////c//////////////////////////////////////////////////////////////////////////
-		m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-		m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-		m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-		mfcab = m0;
-		mfcbb = m1;
-		mfccb = m2;
-		/////////c//////////////////////////////////////////////////////////////////////////
-		m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-		m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-		m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-		mfcac = m0;
-		mfcbc = m1;
-		mfccc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-		////////////////////////////////////////////////////////////////////////////////////
-		// X - Dir
-		m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-		m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-		m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-		mfaaa = m0;
-		mfbaa = m1;
-		mfcaa = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-		m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-		m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-		mfaba = m0;
-		mfbba = m1;
-		mfcba = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-		m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-		m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-		mfaca = m0;
-		mfbca = m1;
-		mfcca = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-		m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-		m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-		mfaab = m0;
-		mfbab = m1;
-		mfcab = m2;
-		///////////b////////////////////////////////////////////////////////////////////////
-		m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-		m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-		m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-		mfabb = m0;
-		mfbbb = m1;
-		mfcbb = m2;
-		///////////b////////////////////////////////////////////////////////////////////////
-		m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-		m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-		m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-		mfacb = m0;
-		mfbcb = m1;
-		mfccb = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-		////////////////////////////////////////////////////////////////////////////////////
-		m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-		m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-		m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-		mfaac = m0;
-		mfbac = m1;
-		mfcac = m2;
-		///////////c////////////////////////////////////////////////////////////////////////
-		m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-		m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-		m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-		mfabc = m0;
-		mfbbc = m1;
-		mfcbc = m2;
-		///////////c////////////////////////////////////////////////////////////////////////
-		m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-		m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-		m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-		mfacc = m0;
-		mfbcc = m1;
-		mfccc = m2;
-		////////////////////////////////////////////////////////////////////////////////////
-
-		////////////////////////////////////////////////////////////////////////////////////
-		(D.f[dP00])[k] = mfabb;
-		(D.f[dM00])[kw] = mfcbb;
-		(D.f[d0P0])[k] = mfbab;
-		(D.f[d0M0])[ks] = mfbcb;
-		(D.f[d00P])[k] = mfbba;
-		(D.f[d00M])[kb] = mfbbc;
-		(D.f[dPP0])[k] = mfaab;
-		(D.f[dMM0])[ksw] = mfccb;
-		(D.f[dPM0])[ks] = mfacb;
-		(D.f[dMP0])[kw] = mfcab;
-		(D.f[dP0P])[k] = mfaba;
-		(D.f[dM0M])[kbw] = mfcbc;
-		(D.f[dP0M])[kb] = mfabc;
-		(D.f[dM0P])[kw] = mfcba;
-		(D.f[d0PP])[k] = mfbaa;
-		(D.f[d0MM])[kbs] = mfbcc;
-		(D.f[d0PM])[kb] = mfbac;
-		(D.f[d0MP])[ks] = mfbca;
-		(D.f[d000])[k] = mfbbb;
-		(D.f[dPPP])[k] = mfaaa;
-		(D.f[dPMP])[ks] = mfaca;
-		(D.f[dPPM])[kb] = mfaac;
-		(D.f[dPMM])[kbs] = mfacc;
-		(D.f[dMPP])[kw] = mfcaa;
-		(D.f[dMMP])[ksw] = mfcca;
-		(D.f[dMPM])[kbw] = mfcac;
-		(D.f[dMMM])[kbsw] = mfccc;
-		////////////////////////////////////////////////////////////////////////////////////
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia_Device.cuh
deleted file mode 100644
index 853c22145f401afd31c86cc4aa2996f13984cdf0..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia_Device.cuh
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef K15CompressibleNavierStokesPorousMedia_Device_H
-#define K15CompressibleNavierStokesPorousMedia_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K15CompressibleNavierStokesPorousMedia_Device(real omega,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	unsigned long long numberOfLBnodes,
-	int level,
-	real* forces,
-	real porosity,
-	real darcy,
-	real forchheimer,
-	unsigned int sizeOfPorousMedia,
-	unsigned int* nodeIdsPorousMedia,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale.cu
deleted file mode 100644
index b3fd5bebd5483aa66d9ee6b0af36d55d7cc08ead..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale.cu
+++ /dev/null
@@ -1,63 +0,0 @@
-#include "K15CompressibleNavierStokesWale.h"
-
-#include "K15CompressibleNavierStokesWale_Device.cuh"
-#include "Parameter/Parameter.h"
-
-std::shared_ptr<K15CompressibleNavierStokesWale> K15CompressibleNavierStokesWale::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K15CompressibleNavierStokesWale>(new K15CompressibleNavierStokesWale(para, level));
-}
-
-void K15CompressibleNavierStokesWale::run()
-{
-	int size_Mat = (int)para->getParD(level)->numberOfNodes;
-	int numberOfThreads = para->getParD(level)->numberofthreads;
-
-	int Grid = (size_Mat / numberOfThreads) + 1;
-	int Grid1, Grid2;
-	if (Grid > 512)
-	{
-		Grid1 = 512;
-		Grid2 = (Grid / Grid1) + 1;
-	}
-	else
-	{
-		Grid1 = 1;
-		Grid2 = Grid;
-	}
-	dim3 grid(Grid1, Grid2, 1);
-	dim3 threads(numberOfThreads, 1, 1);
-
-	K15CompressibleNavierStokesWale_Device <<< grid, threads >>>(
-		para->getParD(level)->omega,
-		para->getParD(level)->typeOfGridNode,
-		para->getParD(level)->neighborX,
-		para->getParD(level)->neighborY,
-		para->getParD(level)->neighborZ,
-		para->getParD(level)->neighborInverse,
-		para->getParD(level)->velocityX,
-		para->getParD(level)->velocityY,
-		para->getParD(level)->velocityZ,
-		para->getParD(level)->distributions.f[0],
-		para->getParD(level)->turbViscosity,
-		para->getParD(level)->numberOfNodes,
-		level,
-		para->getTimestepOfCoarseLevel(),
-		para->getForcesDev(),
-		para->getParD(level)->isEvenTimestep);
-	getLastCudaError("K15CompressibleNavierStokesWale_Device execution failed");
-}
-
-K15CompressibleNavierStokesWale::K15CompressibleNavierStokesWale(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
-
-K15CompressibleNavierStokesWale::K15CompressibleNavierStokesWale()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale.h
deleted file mode 100644
index c8b9c04caafbb2e692c36d91d1b89dbc3ad0f103..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K15CompressibleNavierStokesWale_H
-#define K15CompressibleNavierStokesWale_H
-
-#include "Kernel/KernelImp.h"
-
-class K15CompressibleNavierStokesWale : public KernelImp
-{
-public:
-	static std::shared_ptr<K15CompressibleNavierStokesWale> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K15CompressibleNavierStokesWale();
-	K15CompressibleNavierStokesWale(std::shared_ptr< Parameter> para, int level);
-
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale_Device.cu
deleted file mode 100644
index 97c2bcfbad3677255b738312a4cfb5805c38e511..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale_Device.cu
+++ /dev/null
@@ -1,1213 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K15CompressibleNavierStokesWale_Device(
-	real omega_in,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DDStart,
-	real* turbulentViscosity,
-	int size_Mat,
-	int level,
-	unsigned int timestep,
-	real* forces,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( BC == GEO_FLUID /*(BC != GEO_SOLID) && (BC != GEO_VOID)*/ )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];
-			real mfabb = (D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];
-			real mfbab = (D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];
-			real mfbba = (D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];
-			real mfacb = (D.f[dMP0])[kw ];
-			real mfcbc = (D.f[dP0P])[k  ];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];
-			real mfabc = (D.f[dM0P])[kw ];
-			real mfbcc = (D.f[d0PP])[k  ];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];
-			real mfbac = (D.f[d0MP])[ks ];
-			real mfbbb = (D.f[d000])[k  ];
-			real mfccc = (D.f[dPPP])[k  ];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks ];
-			real mfacc = (D.f[dMPP])[kw ];
-			real mfcca = (D.f[dPPM])[kb ];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-							(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-							((mfabb+mfcbb) + (mfbab+mfbcb) + (mfbba+mfbbc))) + mfbbb;
-
-			real rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb)) / rho;
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab)) / rho;
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real nuTurb = c0o1;
-			{
-				/////////////      Wale Model     ///////////////
-				//neighbor index
-				unsigned int kPx = neighborX[k];
-				unsigned int kPy = neighborY[k];
-				unsigned int kPz = neighborZ[k];
-				unsigned int kMxyz = neighborWSB[k];
-				unsigned int kMx = neighborZ[neighborY[kMxyz]];
-				unsigned int kMy = neighborZ[neighborX[kMxyz]];
-				unsigned int kMz = neighborY[neighborX[kMxyz]];
-				//getVeloX//
-				real veloXNeighborPx = veloX[kPx];
-				real veloXNeighborMx = veloX[kMx];
-				real veloXNeighborPy = veloX[kPy];
-				real veloXNeighborMy = veloX[kMy];
-				real veloXNeighborPz = veloX[kPz];
-				real veloXNeighborMz = veloX[kMz];
-				//getVeloY//
-				real veloYNeighborPx = veloY[kPx];
-				real veloYNeighborMx = veloY[kMx];
-				real veloYNeighborPy = veloY[kPy];
-				real veloYNeighborMy = veloY[kMy];
-				real veloYNeighborPz = veloY[kPz];
-				real veloYNeighborMz = veloY[kMz];
-				//getVeloZ//
-				real veloZNeighborPx = veloZ[kPx];
-				real veloZNeighborMx = veloZ[kMx];
-				real veloZNeighborPy = veloZ[kPy];
-				real veloZNeighborMy = veloZ[kMy];
-				real veloZNeighborPz = veloZ[kPz];
-				real veloZNeighborMz = veloZ[kMz];
-				//getVeloLocal//
-				real veloLocalX = veloX[k];
-				real veloLocalY = veloY[k];
-				real veloLocalZ = veloZ[k];
-
-				//////////////////////////////////////////////////////////////////////////////
-				real dxvx = c0o1;
-				real dyvx = c0o1;
-				real dzvx = c0o1;
-				real dxvy = c0o1;
-				real dyvy = c0o1;
-				real dzvy = c0o1;
-				real dxvz = c0o1;
-				real dyvz = c0o1;
-				real dzvz = c0o1;
-				real SumSd = c0o1;
-				real SumS = c0o1;
-				//////////////////////////////////////////////////////////////////////////////
-				//no central differences at the boundary nodes
-				//Dx
-				if (bcMatD[kPx] != GEO_FLUID)
-				{
-					dxvx = (veloLocalX - veloXNeighborMx);
-					dxvy = (veloLocalY - veloYNeighborMx);
-					dxvz = (veloLocalZ - veloZNeighborMx);
-				}
-				else if (bcMatD[kMx] != GEO_FLUID)
-				{
-					dxvx = (veloXNeighborPx - veloLocalX);
-					dxvy = (veloYNeighborPx - veloLocalY);
-					dxvz = (veloZNeighborPx - veloLocalZ);
-				}
-				else
-				{
-					dxvx = (veloXNeighborPx - veloXNeighborMx) / c2o1;
-					dxvy = (veloYNeighborPx - veloYNeighborMx) / c2o1;
-					dxvz = (veloZNeighborPx - veloZNeighborMx) / c2o1;
-				}
-				//Dy
-				if (bcMatD[kPy] != GEO_FLUID)
-				{
-					dyvx = (veloLocalX - veloXNeighborMy);
-					dyvy = (veloLocalY - veloYNeighborMy);
-					dyvz = (veloLocalZ - veloZNeighborMy);
-				}
-				else if (bcMatD[kMy] != GEO_FLUID)
-				{
-					dyvx = (veloXNeighborPy - veloLocalX);
-					dyvy = (veloYNeighborPy - veloLocalY);
-					dyvz = (veloZNeighborPy - veloLocalZ);
-				}
-				else
-				{
-					dyvx = (veloXNeighborPy - veloXNeighborMy) / c2o1;
-					dyvy = (veloYNeighborPy - veloYNeighborMy) / c2o1;
-					dyvz = (veloZNeighborPy - veloZNeighborMy) / c2o1;
-				}
-				//Dz
-				if (bcMatD[kPz] != GEO_FLUID)
-				{
-					dzvx = (veloLocalX - veloXNeighborMz);
-					dzvy = (veloLocalY - veloYNeighborMz);
-					dzvz = (veloLocalZ - veloZNeighborMz);
-				}
-				else if (bcMatD[kMz] != GEO_FLUID)
-				{
-					dzvx = (veloXNeighborPz - veloLocalX);
-					dzvy = (veloYNeighborPz - veloLocalY);
-					dzvz = (veloZNeighborPz - veloLocalZ);
-				}
-				else
-				{
-					dzvx = (veloXNeighborPz - veloXNeighborMz) / c2o1;
-					dzvy = (veloYNeighborPz - veloYNeighborMz) / c2o1;
-					dzvz = (veloZNeighborPz - veloZNeighborMz) / c2o1;
-				}
-				//////////////////////////////////////////////////////////////////////////////
-				////partial Div vx in x, y, z//
-				//dxvx = (veloXNeighborPx - veloXNeighborMx) / two; //deltaX * two??
-				//dyvx = (veloXNeighborPy - veloXNeighborMy) / two; //deltaX * two??
-				//dzvx = (veloXNeighborPz - veloXNeighborMz) / two; //deltaX * two??
-				//												  //partial Div vy in x, y, z//
-				//dxvy = (veloYNeighborPx - veloYNeighborMx) / two; //deltaX * two??
-				//dyvy = (veloYNeighborPy - veloYNeighborMy) / two; //deltaX * two??
-				//dzvy = (veloYNeighborPz - veloYNeighborMz) / two; //deltaX * two??
-				//												  //partial Div vz in x, y, z//
-				//dxvz = (veloZNeighborPx - veloZNeighborMx) / two; //deltaX * two??
-				//dyvz = (veloZNeighborPy - veloZNeighborMy) / two; //deltaX * two??
-				//dzvz = (veloZNeighborPz - veloZNeighborMz) / two; //deltaX * two??
-
-				real g11, g12, g13, g21, g22, g23, g31, g32, g33;
-				real g11sq, g12sq, g13sq, g21sq, g22sq, g23sq, g31sq, g32sq, g33sq;
-
-				g11 = dxvx;
-				g12 = dyvx;
-				g13 = dzvx;
-				g21 = dxvy;
-				g22 = dyvy;
-				g23 = dzvy;
-				g31 = dxvz;
-				g32 = dyvz;
-				g33 = dzvz;
-
-				g11sq = g11 * g11 + g12 * g21 + g13 * g31;
-				g12sq = g11 * g12 + g12 * g22 + g13 * g32;
-				g13sq = g11 * g13 + g12 * g23 + g13 * g33;
-				g21sq = g21 * g11 + g22 * g21 + g23 * g31;
-				g22sq = g21 * g12 + g22 * g22 + g23 * g32;
-				g23sq = g21 * g13 + g22 * g23 + g23 * g33;
-				g31sq = g31 * g11 + g32 * g21 + g33 * g31;
-				g32sq = g31 * g12 + g32 * g22 + g33 * g32;
-				g33sq = g31 * g13 * g32 * g23 + g33 * g33;
-
-				real gkk = g11sq + g22sq + g33sq;
-
-				real Sd11 = c1o2 * (g11sq + g11sq) - c1o3 * gkk;
-				real Sd12 = c1o2 * (g12sq + g21sq);
-				real Sd13 = c1o2 * (g13sq + g31sq);
-				real Sd21 = c1o2 * (g21sq + g12sq); // ==Sd12
-				real Sd22 = c1o2 * (g22sq + g22sq) - c1o3 * gkk;
-				real Sd23 = c1o2 * (g23sq + g32sq);
-				real Sd31 = c1o2 * (g31sq + g13sq); // ==Sd13
-				real Sd32 = c1o2 * (g32sq + g23sq); // ==Sd23
-				real Sd33 = c1o2 * (g33sq + g33sq) - c1o3 * gkk;
-
-				SumSd = Sd11*Sd11 + Sd12*Sd12 + Sd13*Sd13 + Sd21*Sd21 + Sd22*Sd22 + Sd23*Sd23 + Sd31*Sd31 + Sd32*Sd32 + Sd33*Sd33;
-
-
-
-				//real SumSd =
-				//	c1o2 * powf(dzvx, four) +
-				//	c1o2 * powf(dzvy, four) +
-				//	c2o3 * powf(dzvz, four) +
-				//	c2o3 * powf(dyvy, four) +
-				//	c1o2 * powf(dyvz, four) +
-				//	c2o3 * powf(dxvx, four) +
-				//	c1o2 * powf(dxvy, four) +
-				//	c1o2 * powf(dxvz, four) +
-				//	c1o2 * powf(dyvx, four) +
-				//	powf(dyvx, two) * powf(dxvy, two) +
-				//	powf(dzvx, two) * powf(dxvz, two) +
-				//	powf(dzvy, two) * powf(dyvz, two) -
-				//	c2o3 * powf(dzvz, two) * powf(dyvy, two) -
-				//	c2o3 * powf(dzvz, two) * powf(dxvx, two) -
-				//	c2o3 * powf(dyvy, two) * powf(dxvx, two);   //powf
-				//real SumSd =
-				//	((c1o2 * (((dzvx*dzvx)*(dzvx*dzvx)) + 
-				//		((dzvy*dzvy)*(dzvy*dzvy)) + 
-				//		((dyvz*dyvz)*(dyvz*dyvz)) + 
-				//		((dyvx*dyvx)*(dyvx*dyvx)) + 
-				//		((dxvy*dxvy)*(dxvy*dxvy)) + 
-				//		((dxvz*dxvz)*(dxvz*dxvz)))) +
-				//	(c2o3 * (((dxvx*dxvx)*(dxvx*dxvx)) + 
-				//		((dyvy*dyvy)*(dyvy*dyvy)) + 
-				//		((dzvz*dzvz)*(dzvz*dzvz)))) +
-				//	((dyvx * dyvx) * (dxvy * dxvy)) +
-				//	((dzvx * dzvx) * (dxvz * dxvz)) +
-				//	((dzvy * dzvy) * (dyvz * dyvz))) -
-				//	(c2o3 * ((dzvz * dzvz) * (dyvy * dyvy)) + 
-				//		((dzvz * dzvz) * (dxvx * dxvx)) + 
-				//		((dyvy * dyvy) * (dxvx * dxvx)));   //explicit
-				//real SumSd =
-				//	c1o2 * pow(dzvx, four) +
-				//	c1o2 * pow(dzvy, four) +
-				//	c2o3 * pow(dzvz, four) +
-				//	c2o3 * pow(dyvy, four) +
-				//	c1o2 * pow(dyvz, four) +
-				//	c2o3 * pow(dxvx, four) +
-				//	c1o2 * pow(dxvy, four) +
-				//	c1o2 * pow(dxvz, four) +
-				//	c1o2 * pow(dyvx, four) +
-				//	pow(dyvx, two) * pow(dxvy, two) +
-				//	pow(dzvx, two) * pow(dxvz, two) +
-				//	pow(dzvy, two) * pow(dyvz, two) -
-				//	c2o3 * pow(dzvz, two) * pow(dyvy, two) -
-				//	c2o3 * pow(dzvz, two) * pow(dxvx, two) -
-				//	c2o3 * pow(dyvy, two) * pow(dxvx, two);    //pow
-				//SumS
-				//real SumS =
-				//	powf(dxvx, two) +
-				//	powf(dyvy, two) +
-				//	powf(dzvz, two) +
-				//	c1o2 * powf(dyvx + dxvy, two) +
-				//	c1o2 * powf(dzvx + dxvz, two) +
-				//	c1o2 * powf(dyvz + dzvy, two);   //powf
-				SumS =
-					((dxvx * dxvx) +
-					(dyvy * dyvy) +
-						(dzvz * dzvz)) +
-						(c1o2 * (((dyvx + dxvy) * (dyvx + dxvy)) +
-					((dzvx + dxvz) * (dzvx + dxvz)) +
-							((dyvz + dzvy) * (dyvz + dzvy))));   //explicit
-																 //real SumS =
-																 //	pow(dxvx, two) +
-																 //	pow(dyvy, two) +
-																 //	pow(dzvz, two) +
-																 //	c1o2 * pow(dyvx + dxvy, two) +
-																 //	c1o2 * pow(dzvx + dxvz, two) +
-																 //	c1o2 * pow(dyvz + dzvy, two);   //pow
-																 //nu turbulent
-				real coefficient = 0.5; //0.325; //
-				real delta = coefficient * c1o1;
-				/////////////////////////////////
-				//real SumSsq = SumS * SumS;
-				//real SumSDsq = SumSd * SumSd;
-				real SumSsq = SumS;
-				real SumSDsq = SumSd;
-				//nuTurb = powf(delta, two) * powf(SumSDsq, c3o2) / (powf(SumSsq, c5o2) + powf(SumSDsq, c5o4) + cSmallSingle); //powf
-				//nuTurb = pow(delta, two) * pow(SumSDsq, c3o2) / (pow(SumSsq, c5o2) + pow(SumSDsq, c5o4) + cSmallSingle);     //pow
-				//nuTurb = (delta * delta) * (real)pow((double)SumSDsq, 1.5) / ((real)pow((double)SumSsq, 2.5) + (real)pow((double)SumSDsq, 1.25) + cSmallSingle); //SMversion//
-				nuTurb = (delta * delta) * (real)pow((double)SumSDsq, 0.25) /
-					((real)pow(((double)pow((double)SumSsq, 0.5) / ((real)pow((double)SumSDsq, 0.25) + c10eM10)), 5.0) + c1o1); //SMversion2//
-																																	  /////////////////////////////////
-																																	  //nuTurb = rho * powf(delta, two) * powf(SumSd*SumSd, c3o2) / (powf(SumS*SumS, c5o2) + powf(SumSd*SumSd, c5o4));
-																																	  //nuTurb = powf(delta, two) * powf(SumSd*SumSd, c3o2) / (powf(SumS*SumS, c5o2) + powf(SumSd*SumSd, c5o4));
-			}
-			//Test debug
-			//if (nuTurb > c1o100) nuTurb = c1o100;
-			//if (nuTurb < -c1o100) nuTurb = -c1o100;
-			//nuTurb = c1o100;
-			turbulentViscosity[k] = nuTurb;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			{
-				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-				vvx += fx*c1o2;
-				vvy += fy*c1o2;
-				vvz += fz*c1o2;
-			}
-			////////////////////////////////////////////////////////////////////////////////////
-			real omega = omega_in;
-			if (timestep >= 500000)
-			{
-				real nuOld = c1o3 * (c1o1 / omega_in - c1o2);
-				omega = c1o1 / (c3o1 * (nuOld + nuTurb) + c1o2);
-			}
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			//////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = 0.01f;// * 0.0001f;
-			real qudricLimitM = 0.01f;// * 0.0001f;
-			real qudricLimitD = 0.01f;// * 0.001f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-
-			////////////////////////////////////////////////////////////
-			//3.
-			//////////////////////////////
-			real OxyyPxzz  = c1o1;
-			real OxyyMxzz  = c1o1;
-			real Oxyz      = c1o1;
-			////////////////////////////////////////////////////////////
-			//4.
-			//////////////////////////////
-			real O4        = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5        = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6        = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-				  	 		
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
-			
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3 * (mfacc + mfcac + mfcca) /rho 
-							-    c1o9 * (mfcaa + mfaca + mfaac) /rho 
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
-							+ c1o27*((drho * drho - drho)/(rho*rho)));
-							//+ c1o27*(one -three/rho +two/(rho*rho)));
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-			
-			//////////////////////////////////////////////////////////////////////////
-// 			real magicBulk=(CUMacc+CUMcac+CUMcca)*(one/OxxPyyPzz-c1o2)*c3o2*8.;
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 1
-			//real oxxyy,oxxzz,oxy,oxz,oyz;
-			//real smag=0.001;
-			//oxxyy    = omega+(one-omega)*abs(mxxMyy)/(abs(mxxMyy)+smag);
-			//oxxzz    = omega+(one-omega)*abs(mxxMzz)/(abs(mxxMzz)+smag);
-			//oxy      = omega+(one-omega)*abs(mfbba)/(abs(mfbba)+smag);
-			//oxz      = omega+(one-omega)*abs(mfbab)/(abs(mfbab)+smag);
-			//oyz      = omega+(one-omega)*abs(mfabb)/(abs(mfabb)+smag);
-
-			////////////////////////////////////////////////////////////////////////////
-			////Teil 1b
-			//real constante = 1000.0;
-			//real nuEddi = constante * abs(mxxPyyPzz);
-			//real omegaLimit = one / (one / omega + three * nuEddi);
-
-			//{
-			//	real dxux = c1o2 * (-omegaLimit) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			//	real dyuy = dxux + omegaLimit * c3o2 * mxxMyy;
-			//	real dzuz = dxux + omegaLimit * c3o2 * mxxMzz;
-
-				////relax
-				//mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				//mxxMyy    += omegaLimit * (-mxxMyy) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vy2 * dyuy);
-				//mxxMzz    += omegaLimit * (-mxxMzz) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vz2 * dzuz);
-
-			//}
-			//mfabb     += omegaLimit * (-mfabb);
-			//mfbab     += omegaLimit * (-mfbab);
-			//mfbba     += omegaLimit * (-mfbba);
-			////////////////////////////////////////////////////////////////////////////
-
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
- 			{
- 				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
- 				real dyuy = dxux + omega * c3o2 * mxxMyy;
- 				real dzuz = dxux + omega * c3o2 * mxxMzz;
- 
- 				//relax
- 				mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
- 				mxxMyy    += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
- 				mxxMzz    += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
- 
- 				//////////////////////////////////////////////////////////////////////////
- 				//limiter-Scheise Teil 2
- 				//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
- 				//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
- 				//////////////////////////////////////////////////////////////////////////
- 
- 			}
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			////no correction
- 			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
- 			//mxxMyy    += -(-omega) * (-mxxMyy);
- 			//mxxMzz    += -(-omega) * (-mxxMzz);
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb     += omega * (-mfabb);
-			mfbab     += omega * (-mfbab);
-			mfbba     += omega * (-mfbba);
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 3
-			//mfabb     += oyz * (-mfabb);
-			//mfbab     += oxz * (-mfbab);
-			//mfbba     += oxy * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
- 			wadjust    = Oxyz+(c1o1-Oxyz)*abs(mfbbb)/(abs(mfbbb)+qudricLimitD);
- 			mfbbb     += wadjust * (-mfbbb);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimitP);
- 			mxxyPyzz  += wadjust * (-mxxyPyzz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimitM);
- 			mxxyMyzz  += wadjust * (-mxxyMyzz);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimitP);
- 			mxxzPyyz  += wadjust * (-mxxzPyyz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimitM);
- 			mxxzMyyz  += wadjust * (-mxxzMyyz);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimitP);
- 			mxyyPxzz  += wadjust * (-mxyyPxzz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimitM);
- 			mxyyMxzz  += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
- 		//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
- 		//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
- 		//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
- 		//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
- 		//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
- 		//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			CUMacc += O4 * (-CUMacc); 
-			CUMcac += O4 * (-CUMcac); 
-			CUMcca += O4 * (-CUMcca); 
-
-			CUMbbc += O4 * (-CUMbbc); 
-			CUMbcb += O4 * (-CUMbcb); 
-			CUMcbb += O4 * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			
-					
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-			
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho; //ab 15.05.2015 verwendet
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
-						   
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));//(one/rho-one));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));//(one/rho-one));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));//(one/rho-one));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
-			
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3 * (mfacc + mfcac + mfcca) /rho 
-							-    c1o9 * (mfcaa + mfaca + mfaac) /rho 
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
-							+ c1o27*((drho * drho - drho)/(rho*rho)));
-							//+ c1o27*(one -three/rho +two/(rho*rho)));
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa                * (c1o1- vz2)              - c1o1* oMdrho * vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca                  * (c1o1- vz2)              - c1o9 * oMdrho * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab                  * (c1o1- vy2)              - c2o3 * oMdrho * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab                  * (c1o1- vy2)              - c2o9 * oMdrho * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb                  * (c1o1- vx2)              - c4o9 * oMdrho * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00   ])[k   ] = mfabb;                                                                    
-			(D.f[ dM00   ])[kw  ] = mfcbb;                                                                  
-			(D.f[ d0P0   ])[k   ] = mfbab;
-			(D.f[ d0M0   ])[ks  ] = mfbcb;
-			(D.f[ d00P   ])[k   ] = mfbba;
-			(D.f[ d00M   ])[kb  ] = mfbbc;
-			(D.f[ dPP0  ])[k   ] = mfaab;
-			(D.f[ dMM0  ])[ksw ] = mfccb;
-			(D.f[ dPM0  ])[ks  ] = mfacb;
-			(D.f[ dMP0  ])[kw  ] = mfcab;
-			(D.f[ dP0P  ])[k   ] = mfaba;
-			(D.f[ dM0M  ])[kbw ] = mfcbc;
-			(D.f[ dP0M  ])[kb  ] = mfabc;
-			(D.f[ dM0P  ])[kw  ] = mfcba;
-			(D.f[ d0PP  ])[k   ] = mfbaa;
-			(D.f[ d0MM  ])[kbs ] = mfbcc;
-			(D.f[ d0PM  ])[kb  ] = mfbac;
-			(D.f[ d0MP  ])[ks  ] = mfbca;
-			(D.f[ d000])[k   ] = mfbbb;
-			(D.f[ dPPP ])[k   ] = mfaaa;
-			(D.f[ dPMP ])[ks  ] = mfaca;
-			(D.f[ dPPM ])[kb  ] = mfaac;
-			(D.f[ dPMM ])[kbs ] = mfacc;
-			(D.f[ dMPP ])[kw  ] = mfcaa;
-			(D.f[ dMMP ])[ksw ] = mfcca;
-			(D.f[ dMPM ])[kbw ] = mfcac;
-			(D.f[ dMMM ])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale_Device.cuh
deleted file mode 100644
index aa113e116cd2dd50658dd8c393ea83cee17ce208..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale_Device.cuh
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef K15CompressibleNavierStokesWale_Device_H
-#define K15CompressibleNavierStokesWale_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K15CompressibleNavierStokesWale_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DDStart,
-	real* turbulentViscosity,
-	int size_Mat,
-	int level,
-	unsigned int timestep,
-	real* forces,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav.cu
deleted file mode 100644
index ae7765280309e15b5052778f158936b88cd68fd2..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav.cu
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "K15CompressibleNavierStokesWaleBySoniMalav.h"
-
-#include "K15CompressibleNavierStokesWaleBySoniMalav_Device.cuh"
-#include "Parameter/Parameter.h"
-
-std::shared_ptr<K15CompressibleNavierStokesWaleBySoniMalav> K15CompressibleNavierStokesWaleBySoniMalav::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K15CompressibleNavierStokesWaleBySoniMalav>(new K15CompressibleNavierStokesWaleBySoniMalav(para, level));
-}
-
-void K15CompressibleNavierStokesWaleBySoniMalav::run()
-{
-	int size_Mat = (int)para->getParD(level)->numberOfNodes;
-	int numberOfThreads = para->getParD(level)->numberofthreads;
-
-	//int Grid = size_Array / numberOfThreads;
-	//dim3 grid(Grid, 1, 1);
-	//dim3 threads(numberOfThreads, 1, 1 );
-
-	int Grid = (size_Mat / numberOfThreads) + 1;
-	int Grid1, Grid2;
-	if (Grid > 512)
-	{
-		Grid1 = 512;
-		Grid2 = (Grid / Grid1) + 1;
-	}
-	else
-	{
-		Grid1 = 1;
-		Grid2 = Grid;
-	}
-	dim3 grid(Grid1, Grid2, 1);
-	dim3 threads(numberOfThreads, 1, 1);
-
-	K15CompressibleNavierStokesWaleBySoniMalav_Device <<< grid, threads >>>(
-		para->getParD(level)->omega,
-		para->getParD(level)->typeOfGridNode,
-		para->getParD(level)->neighborX,
-		para->getParD(level)->neighborY,
-		para->getParD(level)->neighborZ,
-		para->getParD(level)->neighborInverse,
-		para->getParD(level)->velocityX,
-		para->getParD(level)->velocityY,
-		para->getParD(level)->velocityZ,
-		para->getParD(level)->distributions.f[0],
-		para->getParD(level)->turbViscosity,
-		para->getParD(level)->numberOfNodes,
-		level,
-		para->getForcesDev(),
-		para->getParD(level)->isEvenTimestep);
-	getLastCudaError("K15CompressibleNavierStokesWaleBySoniMalav_Device execution failed");
-}
-
-K15CompressibleNavierStokesWaleBySoniMalav::K15CompressibleNavierStokesWaleBySoniMalav(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
-
-K15CompressibleNavierStokesWaleBySoniMalav::K15CompressibleNavierStokesWaleBySoniMalav()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav.h
deleted file mode 100644
index f446af208a634ca6d0e276f96450328dfdc0a7c6..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K15CompressibleNavierStokesWaleBySoniMalav_H
-#define K15CompressibleNavierStokesWaleBySoniMalav_H
-
-#include "Kernel/KernelImp.h"
-
-class K15CompressibleNavierStokesWaleBySoniMalav : public KernelImp
-{
-public:
-	static std::shared_ptr<K15CompressibleNavierStokesWaleBySoniMalav> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K15CompressibleNavierStokesWaleBySoniMalav();
-	K15CompressibleNavierStokesWaleBySoniMalav(std::shared_ptr< Parameter> para, int level);
-
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav_Device.cu
deleted file mode 100644
index 1e086df36eef085b25747bd83f21f46cbfaa0425..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav_Device.cu
+++ /dev/null
@@ -1,1037 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K15CompressibleNavierStokesWaleBySoniMalav_Device(
-	real omega_in,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DDStart,
-	real* turbulentViscosity,
-	int size_Mat,
-	int level,
-	real* forces,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( BC == GEO_FLUID /*(BC != GEO_SOLID) && (BC != GEO_VOID)*/ )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw   = neighborX[k];
-			unsigned int ks   = neighborY[k];
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			unsigned int kbw  = neighborZ[kw];
-			unsigned int kbs  = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];
-			real mfabb = (D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];
-			real mfbab = (D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];
-			real mfbba = (D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];
-			real mfacb = (D.f[dMP0])[kw ];
-			real mfcbc = (D.f[dP0P])[k  ];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];
-			real mfabc = (D.f[dM0P])[kw ];
-			real mfbcc = (D.f[d0PP])[k  ];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];
-			real mfbac = (D.f[d0MP])[ks ];
-			real mfbbb = (D.f[d000])[k  ];
-			real mfccc = (D.f[dPPP])[k  ];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks ];
-			real mfacc = (D.f[dMPP])[kw ];
-			real mfcca = (D.f[dPPM])[kb ];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-							(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-							((mfabb+mfcbb) + (mfbab+mfbcb) + (mfbba+mfbbc))) + mfbbb;
-
-			real rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb)) / rho;
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab)) / rho;
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba)) / rho;
-			//////////////////////////////////////////////////////////////////////////////////////
-			real nuOld = c1o3 * (c1o1 / omega_in - c1o2);
-			real nuTurb = c0o1;
-			unsigned int kPx = neighborX[k];
-			unsigned int kPy = neighborY[k];
-			unsigned int kPz = neighborZ[k];
-			unsigned int kMxyz = neighborWSB[k];
-			unsigned int kMx = neighborZ[neighborY[kMxyz]];
-			unsigned int kMy = neighborZ[neighborX[kMxyz]];
-			unsigned int kMz = neighborY[neighborX[kMxyz]];
-
-			real Cw = 0.55;
-			unsigned int DelX = 1;
-
-			////////////////////////////////////////////////////////////////////////////////////
-			/////////////////////          WALE model            ///////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-            // float tauTotal;
-			float wOper;									  // total relaxation time and operator for the WALE model
-			float dxux, dyuy, dzuz, dyux, dxuy, dzux, dxuz, dzuy, dyuz; // 9 velocity gradients required for computing the strain rate tensor and vorticity tensor
-
-			// gradients wrt X-axis
-			if (bcMatD[kMx] != GEO_FLUID)
-			{
-				dxux = (veloX[kPx] - veloX[k]) / c1o1;
-				dxuy = (veloY[kPx] - veloY[k]) / c1o1;
-				dxuz = (veloZ[kPx] - veloZ[k]) / c1o1;
-			}
-			else if (bcMatD[kPx] != GEO_FLUID)
-			{
-				dxux = (veloX[k] - veloX[kMx]) / c1o1;
-				dxuy = (veloY[k] - veloY[kMx]) / c1o1;
-				dxuz = (veloZ[k] - veloZ[kMx]) / c1o1;
-			}
-			else if (bcMatD[kPx] == GEO_FLUID && bcMatD[kMx] == GEO_FLUID)
-			{
-				dxux = (veloX[kPx] - veloX[kMx]) / c2o1;
-				dxuy = (veloY[kPx] - veloY[kMx]) / c2o1;
-				dxuz = (veloZ[kPx] - veloZ[kMx]) / c2o1;
-			}
-
-			// gradients wrt Y-axis
-			if (bcMatD[kMy] != GEO_FLUID)
-			{
-				dyux = (veloX[kPy] - veloX[k]) / c1o1;
-				dyuy = (veloY[kPy] - veloY[k]) / c1o1;
-				dyuz = (veloZ[kPy] - veloZ[k]) / c1o1;
-			}
-			else if (bcMatD[kPy] != GEO_FLUID)
-			{
-				dyux = (veloX[k] - veloX[kMy]) / c1o1;
-				dyuy = (veloY[k] - veloY[kMy]) / c1o1;
-				dyuz = (veloZ[k] - veloZ[kMy]) / c1o1;
-			}
-			else if (bcMatD[kPy] == GEO_FLUID && bcMatD[kMy] == GEO_FLUID)
-			{
-				dyux = (veloX[kPy] - veloX[kMy]) / c2o1;
-				dyuy = (veloY[kPy] - veloY[kMy]) / c2o1;
-				dyuz = (veloZ[kPy] - veloZ[kMy]) / c2o1;
-			}
-
-			// gradients wrt Z-axis
-			if (bcMatD[kMz] != GEO_FLUID)
-			{
-				dzux = (veloX[kPz] - veloX[k]) / c1o1;
-				dzuy = (veloY[kPz] - veloY[k]) / c1o1;
-				dzuz = (veloZ[kPz] - veloZ[k]) / c1o1;
-			}
-			else if (bcMatD[kPz] != GEO_FLUID)
-			{
-				dzux = (veloX[k] - veloX[kMz]) / c1o1;
-				dzuy = (veloY[k] - veloY[kMz]) / c1o1;
-				dzuz = (veloZ[k] - veloZ[kMz]) / c1o1;
-			}
-			else if (bcMatD[kPz] == GEO_FLUID && bcMatD[kMz] == GEO_FLUID)
-			{
-				dzux = (veloX[kPz] - veloX[kMz]) / c2o1;
-				dzuy = (veloY[kPz] - veloY[kMz]) / c2o1;
-				dzuz = (veloZ[kPz] - veloZ[kMz]) / c2o1;
-			}
-			//dxux = (veloX[kPx] - veloX[kMx]) / two;     dyux = (veloX[kPy] - veloX[kMy]) / two;     dzux = (veloX[kPz] - veloX[kMz]) / two;
-			//dxuy = (veloY[kPx] - veloY[kMx]) / two;     dyuy = (veloY[kPy] - veloY[kMy]) / two;     dzuy = (veloY[kPz] - veloY[kMz]) / two;
-			//dxuz = (veloZ[kPx] - veloZ[kMx]) / two;     dyuz = (veloZ[kPy] - veloZ[kMy]) / two;     dzuz = (veloZ[kPz] - veloZ[kMz]) / two;
-
-
-			/////////// Computing the strain rate and the vorticity tensor ///////////
-			/////////// i=1, j=2, k=3 will be used as indices to compute the strain tensor components as shown below 
-			/////////// S12 is equivalent to Sij and S13 equivalent to Sik and so on. The same applies for the vorticity tensor also////////
-
-			real Sii, Sij, Sik, Sji, Sjj, Sjk, Ski, Skj, Skk; // Strain tensor components
-
-
-			Sii = dxux;     Sij = c1o2 * (dyux + dxuy);     Sik = c1o2 * (dzux + dxuz);
-			Sji = Sij;      Sjj = dyuy;                     Sjk = c1o2 * (dzuy + dyuz);
-			Ski = Sik;      Skj = Sjk;                      Skk = dzuz;
-
-			real Rij, Rik, Rji, Rjk, Rki, Rkj; // Vorticity or Rotation tensor components
-												// the vorticity components will have zero diagonal components
-
-			Rij = c1o2 * (dyux - dxuy);     Rik = c1o2 * (dzux - dxuz);
-			Rji = -1.0f * Rij;								    Rjk = c1o2 * (dzuy - dyuz);
-			Rki = -1.0f * Rik;   Rkj = -1.0f * Rjk;
-
-			///////// Computation for the terms of the traceless tensor /////////////
-			///////// Terms for the matrix multiplication of strain tensor i.e Sik*Skj //////////
-
-			real S1t = Sii*Sii + Sij*Sji + Sik*Ski;     real S2t = Sii*Sij + Sij*Sjj + Sik*Skj;     real S3t = Sii*Sik + Sij*Sjk + Sik*Skk;
-			real S4t = Sji*Sii + Sjj*Sji + Sjk*Ski;     real S5t = Sji*Sij + Sjj*Sjj + Sjk*Skj;     real S6t = Sji*Sik + Sjj*Sjk + Sjk*Skk;
-			real S7t = Ski*Sii + Skj*Sji + Skk*Ski;     real S8t = Ski*Sij + Skj*Sjj + Skk*Skj;     real S9t = Ski*Sik + Skj*Sjk + Skk*Skk;
-
-			///////// Terms for the matrix multiplication of Rotation tensor i.e Rik*Rkj //////////
-
-			real R1t = Rij*Rji + Rik*Rki;     real R2t = Rik*Rkj;               real R3t = Rij*Rjk;
-			real R4t = Rjk*Rki;               real R5t = Rji*Rij + Rjk*Rkj;     real R6t = Rji*Rik;
-			real R7t = Rkj*Rji;               real R8t = Rki*Rij;               real R9t = Rki*Rik + Rkj*Rjk;
-
-			///// Inner product between the terms of the strain (Sij*Sij) and rotation tensor (Rij*Rij) ////
-
-			real S2 = Sii*Sii + c2o1 * Sij*Sij + c2o1 * Sik*Sik + Sjj*Sjj + c2o1 * Sjk*Sjk + Skk*Skk;
-			real R2 = c2o1 * Rij*Rij + c2o1 * Rik*Rik + c2o1 * Rjk*Rjk;
-
-			//Computation for the traceless tensor
-
-			real traceTerm = c1o3 * (S2 - R2);
-
-			real S1d, S2d, S3d, S4d, S5d, S6d, S7d, S8d, S9d;
-
-			S1d = S1t + R1t - traceTerm;     S2d = S2t + R2t;                  S3d = S3t + R3t;
-			S4d = S4t + R4t;                 S5d = S5t + R5t - traceTerm;      S6d = S6t + R6t;
-			S7d = S7t + R7t;                 S8d = S8t + R8t;                  S9d = S9t + R9t - traceTerm;
-
-			// Contraction of the traceless tensor
-
-			real SdSd = S1d*S1d + S2d*S2d + S3d*S3d + S4d*S4d + S5d*S5d + S6d*S6d + S7d*S7d + S8d*S8d + S9d*S9d;
-			/////////////// Computing turbulent viscosity ///////////////////////
-
-			//wOper = (real)pow((double)SdSd, 1.5) / ((real)pow((double)S2, 2.5) + (real)pow((double)SdSd, 1.25) + cSmallSingle);// 1e-26f);
-			wOper = (float)pow((double)SdSd, 0.25) / ((float)pow((double)((float)pow((double)S2, 0.5) / ((float)pow((double)SdSd, 0.25) + 1e-10)), 5.0) + 1);
-
-			nuTurb = (Cw*Cw * DelX*DelX) * wOper;
-
-			turbulentViscosity[k] = nuTurb;
-
-			real omega = c1o1 / (c3o1 * (nuOld + nuTurb) + c1o2);
-
-			/////////////      Wale Model     ///////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			{
-				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-				vvx += fx*c1o2;
-				vvy += fy*c1o2;
-				vvz += fz*c1o2;
-			}
-			////////////////////////////////////////////////////////////////////////////////////
-			//real omega = omega_in + nuTurb;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			//////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = 0.01f;// * 0.0001f;
-			real qudricLimitM = 0.01f;// * 0.0001f;
-			real qudricLimitD = 0.01f;// * 0.001f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-
-			////////////////////////////////////////////////////////////
-			//3.
-			//////////////////////////////
-			real OxyyPxzz  = c1o1;
-			real OxyyMxzz  = c1o1;
-			real Oxyz      = c1o1;
-			////////////////////////////////////////////////////////////
-			//4.
-			//////////////////////////////
-			real O4        = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5        = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6        = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;	//ab 15.05.2015 verwendet
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
-				  	 		
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
-			
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3 * (mfacc + mfcac + mfcca) /rho 
-							-    c1o9 * (mfcaa + mfaca + mfaac) /rho 
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
-							+ c1o27*((drho * drho - drho)/(rho*rho)));
-							//+ c1o27*(one -three/rho +two/(rho*rho)));
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			
-			
-			
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-			
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			//incl. correction
- 			{
- 				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
- 				real dyuy = dxux + omega * c3o2 * mxxMyy;
- 				real dzuz = dxux + omega * c3o2 * mxxMzz;
- 
- 				//relax
- 				mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
- 				mxxMyy    += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
- 				mxxMzz    += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
- 
- 			}
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			////no correction
- 			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
- 			//mxxMyy    += -(-omega) * (-mxxMyy);
- 			//mxxMzz    += -(-omega) * (-mxxMzz);
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb     += omega * (-mfabb);
-			mfbab     += omega * (-mfbab);
-			mfbba     += omega * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
- 			wadjust    = Oxyz+(c1o1-Oxyz)*abs(mfbbb)/(abs(mfbbb)+qudricLimitD);
- 			mfbbb     += wadjust * (-mfbbb);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimitP);
- 			mxxyPyzz  += wadjust * (-mxxyPyzz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimitM);
- 			mxxyMyzz  += wadjust * (-mxxyMyzz);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimitP);
- 			mxxzPyyz  += wadjust * (-mxxzPyyz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimitM);
- 			mxxzMyyz  += wadjust * (-mxxzMyyz);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimitP);
- 			mxyyPxzz  += wadjust * (-mxyyPxzz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimitM);
- 			mxyyMxzz  += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
- 		//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
- 		//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
- 		//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
- 		//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
- 		//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
- 		//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			CUMacc += O4 * (-CUMacc); 
-			CUMcac += O4 * (-CUMcac); 
-			CUMcca += O4 * (-CUMcca); 
-
-			CUMbbc += O4 * (-CUMbbc); 
-			CUMbcb += O4 * (-CUMbcb); 
-			CUMcbb += O4 * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			
-					
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-			
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho; //ab 15.05.2015 verwendet
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet
-						   
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));//(one/rho-one));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));//(one/rho-one));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));//(one/rho-one));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
-			
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3 * (mfacc + mfcac + mfcca) /rho 
-							-    c1o9 * (mfcaa + mfaca + mfaac) /rho 
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
-							+ c1o27*((drho * drho - drho)/(rho*rho)));
-							//+ c1o27*(one -three/rho +two/(rho*rho)));
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa                * (c1o1- vz2)              - c1o1* oMdrho * vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca                  * (c1o1- vz2)              - c1o9 * oMdrho * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab                  * (c1o1- vy2)              - c2o3 * oMdrho * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab                  * (c1o1- vy2)              - c2o9 * oMdrho * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb                  * (c1o1- vx2)              - c4o9 * oMdrho * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00   ])[k   ] = mfabb;                                                                    
-			(D.f[ dM00   ])[kw  ] = mfcbb;                                                                  
-			(D.f[ d0P0   ])[k   ] = mfbab;
-			(D.f[ d0M0   ])[ks  ] = mfbcb;
-			(D.f[ d00P   ])[k   ] = mfbba;
-			(D.f[ d00M   ])[kb  ] = mfbbc;
-			(D.f[ dPP0  ])[k   ] = mfaab;
-			(D.f[ dMM0  ])[ksw ] = mfccb;
-			(D.f[ dPM0  ])[ks  ] = mfacb;
-			(D.f[ dMP0  ])[kw  ] = mfcab;
-			(D.f[ dP0P  ])[k   ] = mfaba;
-			(D.f[ dM0M  ])[kbw ] = mfcbc;
-			(D.f[ dP0M  ])[kb  ] = mfabc;
-			(D.f[ dM0P  ])[kw  ] = mfcba;
-			(D.f[ d0PP  ])[k   ] = mfbaa;
-			(D.f[ d0MM  ])[kbs ] = mfbcc;
-			(D.f[ d0PM  ])[kb  ] = mfbac;
-			(D.f[ d0MP  ])[ks  ] = mfbca;
-			(D.f[ d000])[k   ] = mfbbb;
-			(D.f[ dPPP ])[k   ] = mfaaa;
-			(D.f[ dPMP ])[ks  ] = mfaca;
-			(D.f[ dPPM ])[kb  ] = mfaac;
-			(D.f[ dPMM ])[kbs ] = mfacc;
-			(D.f[ dMPP ])[kw  ] = mfcaa;
-			(D.f[ dMMP ])[ksw ] = mfcca;
-			(D.f[ dMPM ])[kbw ] = mfcac;
-			(D.f[ dMMM ])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav_Device.cuh
deleted file mode 100644
index 998adc4d3d6a134b362f8f9d2a0b610c215730ec..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav_Device.cuh
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef K15CompressibleNavierStokesWaleBySoniMalav_Device_H
-#define K15CompressibleNavierStokesWaleBySoniMalav_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K15CompressibleNavierStokesWaleBySoniMalav_Device(real omega_in,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DDStart,
-	real* turbulentViscosity,
-	int size_Mat,
-	int level,
-	real* forces,
-	bool EvenOrOdd);
-
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity.cu
deleted file mode 100644
index bf6e7801cfc5c6c431f10f12d41521842955d7b4..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity.cu
+++ /dev/null
@@ -1,47 +0,0 @@
-#include "K17CompressibleNavierStokesBulkViscosity.h"
-
-#include "K17CompressibleNavierStokesBulkViscosity_Device.cuh"
-#include "Parameter/Parameter.h"
-
-std::shared_ptr<K17CompressibleNavierStokesBulkViscosity> K17CompressibleNavierStokesBulkViscosity::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K17CompressibleNavierStokesBulkViscosity>(new K17CompressibleNavierStokesBulkViscosity(para, level));
-}
-
-void K17CompressibleNavierStokesBulkViscosity::run()
-{
-	int size_Array = para->getParD(level)->size_Array_SP;
-	int numberOfThreads = para->getParD(level)->numberofthreads;
-
-	int Grid = size_Array / numberOfThreads;
-	dim3 grid(Grid, 1, 1);
-	dim3 threads(numberOfThreads, 1, 1);
-
-	K17CompressibleNavierStokesBulkViscosity_Device << < grid, threads >> >(
-		para->getParD(level)->omega,
-		para->getParD(level)->typeOfGridNode,
-		para->getParD(level)->neighborX,
-		para->getParD(level)->neighborY,
-		para->getParD(level)->neighborZ,
-		para->getParD(level)->distributions.f[0],
-		para->getParD(level)->numberOfNodes,
-		level,
-		para->getForcesDev(),
-		para->getQuadricLimitersDev(),
-		para->getParD(level)->isEvenTimestep);
-	getLastCudaError("K17CompressibleNavierStokesBulkViscosity_Device execution failed");
-}
-
-K17CompressibleNavierStokesBulkViscosity::K17CompressibleNavierStokesBulkViscosity(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
-
-K17CompressibleNavierStokesBulkViscosity::K17CompressibleNavierStokesBulkViscosity()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity.h
deleted file mode 100644
index 9411cc4969af4fcd13f1a853710510a40fdf5069..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K17CompressibleNavierStokesBulkViscosity_H
-#define K17CompressibleNavierStokesBulkViscosity_H
-
-#include "Kernel/KernelImp.h"
-
-class K17CompressibleNavierStokesBulkViscosity : public KernelImp
-{
-public:
-	static std::shared_ptr<K17CompressibleNavierStokesBulkViscosity> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K17CompressibleNavierStokesBulkViscosity();
-	K17CompressibleNavierStokesBulkViscosity(std::shared_ptr< Parameter> para, int level);
-
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity_Device.cu
deleted file mode 100644
index 171921fa8a468bd54d14edec7c3b8e386e1a3fd1..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity_Device.cu
+++ /dev/null
@@ -1,919 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K17CompressibleNavierStokesBulkViscosity_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	int level,
-	real* forces,
-	real* quadricLimiters,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-			vvx += fx;
-			vvy += fy;
-			vvz += fz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real omega = omega_in;
-			////////////////////////////////////////////////////////////////////////////////////
-			real oMdrho = c1o1; // comp special
-							   ////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = quadricLimiters[0];  //0.01f; //  * 0.0001f; // 1000000.0f; // 1000000.0f; //
-			real qudricLimitM = quadricLimiters[1];  //0.01f; //  * 0.0001f; // 1000000.0f; // 1000000.0f; //
-			real qudricLimitD = quadricLimiters[2];  //0.01f; //  * 0.001f;  // 1000000.0f; // 1000000.0f; //
-			real qudricLimitOmega2 = 0.01f;
-			const real gamma = 3400.f; //air
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   //Hin
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   // Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c4o1 * omega / (c4o1 + c3o1 * gamma * (c2o1 - omega));//one;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-
-																				   ////////////////////////////////////////////////////////////
-																				   //3.
-																				   //////////////////////////////
-																				   //no bulk viscosity
-																				   //real OxyyPxzz  = eight*(-two+omega)*(one+two*omega)/(-eight-fourteen*omega+seven*omega*omega);//one;
-																				   //real OxyyMxzz  = eight*(-two+omega)*(-seven+four*omega)/(fiftysix-fifty*omega+nine*omega*omega);//one;
-																				   //real Oxyz      = twentyfour*(-two+omega)*(-two-seven*omega+three*omega*omega)/(fourtyeight+c152*omega-c130*omega*omega+twentynine*omega*omega*omega);//one;
-																				   //with bulk viscosity
-			real OxyyPxzz = c8o1*(-c2o1 + omega)*(OxxPyyPzz * (-c1o1 + c3o1*omega) - c5o1 * omega) / (c8o1 * (c5o1 - c2o1 * omega) * omega + OxxPyyPzz * (c8o1 + omega * (c9o1 * omega - c26o1)));//one;
-			real OxyyMxzz = c8o1*(-c2o1 + omega)*(omega + OxxPyyPzz*(c3o1 * omega - c7o1)) / (OxxPyyPzz * (c56o1 - c42o1 * omega + c9o1 * omega * omega) - c8o1 * omega);//one;
-			real Oxyz = c24o1*(-c2o1 + omega)*(c4o1*omega*omega + omega * OxxPyyPzz * (c18o1 - c13o1 * omega) + OxxPyyPzz * OxxPyyPzz * (c2o1 + omega * (c6o1 * omega - c11o1))) /
-				(c16o1 * omega * omega * (omega - c6o1) - c2o1 * omega * OxxPyyPzz *(c216o1 + c5o1  * omega * (c9o1 * omega - c46o1)) +
-					OxxPyyPzz * OxxPyyPzz * (omega * (c3o1 * omega - c10o1) * (c15o1 * omega - c28o1) - c48o1));//one;
-																															  ////////////////////////////////////////////////////////////
-																															  //4.
-																															  //////////////////////////////
-			real O4 = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5 = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6 = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			////////////////////////////////////////////////////////////////////////////
-			real Dxy = -c3o1*omega*mfbba;
-			real Dxz = -c3o1*omega*mfbab;
-			real Dyz = -c3o1*omega*mfabb;
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-
-			real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			real dyuy = dxux + omega * c3o2 * mxxMyy;
-			real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//relax
-			//with limiter (bulk)
-			wadjust = OxxPyyPzz + (c1o1 - OxxPyyPzz)*abs(mfaaa - mxxPyyPzz - c3o1 * (c1o1 / OxxPyyPzz - c1o2) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)) /
-				(abs(mfaaa - mxxPyyPzz - c3o1 * (c1o1 / OxxPyyPzz - c1o2) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)) + qudricLimitOmega2);
-			mxxPyyPzz += wadjust*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-																																 //without limiter (no bulk)
-																																 //mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-			mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-			mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-
-			//////////////////////////////////////////////////////////////////////////
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			real factorA = (c4o1 * omega * omega + c2o1 * omega * OxxPyyPzz * (omega - c6o1) + OxxPyyPzz * OxxPyyPzz * (omega * (c10o1 - c3o1 * omega) - c4o1)) /
-				((omega - OxxPyyPzz) * (OxxPyyPzz * (c2o1 + c3o1 * omega) - c8o1 * omega));
-			real factorB = (c4o1 * omega * OxxPyyPzz * (c9o1 * omega - c16o1) - c4o1 * omega * omega - c2o1 * OxxPyyPzz * OxxPyyPzz * (c2o1 + c9o1 * omega * (omega - c2o1))) /
-				(c3o1 * (omega - OxxPyyPzz) * (OxxPyyPzz * (c2o1 + c3o1 * omega) - c8o1 * omega));
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//CUMacc += O4 * (-CUMacc); 
-			//CUMcac += O4 * (-CUMcac); 
-			//CUMcca += O4 * (-CUMcca); 
-			//CUMbbc += O4 * (-CUMbbc); 
-			//CUMbcb += O4 * (-CUMbcb); 
-			//CUMcbb += O4 * (-CUMcbb); 
-			//no bulk viscosity 
-			//CUMacc = -O4*(one/omega-c1o2)*(dyuy+dzuz)*c2o3 *(four+two*omega-three*omega*omega)/(two-seven*omega+five*omega*omega)+(one-O4) * (CUMacc);
-			//CUMcac = -O4*(one/omega-c1o2)*(dxux+dzuz)*c2o3 *(four+two*omega-three*omega*omega)/(two-seven*omega+five*omega*omega)+(one-O4) * (CUMcac);
-			//CUMcca = -O4*(one/omega-c1o2)*(dyuy+dxux)*c2o3 *(four+two*omega-three*omega*omega)/(two-seven*omega+five*omega*omega)+(one-O4) * (CUMcca);
-			//CUMbbc = -O4*(one/omega-c1o2)*Dxy*c1o3 *(four+twentyeight*omega-fourteen*omega*omega)/(six-twentyone*omega+fiveteen*omega*omega)+(one-O4) * (CUMbbc);
-			//CUMbcb = -O4*(one/omega-c1o2)*Dxz*c1o3 *(four+twentyeight*omega-fourteen*omega*omega)/(six-twentyone*omega+fiveteen*omega*omega)+(one-O4) * (CUMbcb);
-			//CUMcbb = -O4*(one/omega-c1o2)*Dyz*c1o3 *(four+twentyeight*omega-fourteen*omega*omega)/(six-twentyone*omega+fiveteen*omega*omega)+(one-O4) * (CUMcbb);
-			//with bulk viscosity 
-			CUMacc = -O4 * (c1o1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMacc);
-			CUMcac = -O4 * (c1o1 / omega - c1o2) * (dxux + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMcac);
-			CUMcca = -O4 * (c1o1 / omega - c1o2) * (dyuy + dxux) * c2o3 * factorA + (c1o1 - O4) * (CUMcca);
-			CUMbbc = -O4 * (c1o1 / omega - c1o2) * Dxy           * c1o3 * factorB + (c1o1 - O4) * (CUMbbc);
-			CUMbcb = -O4 * (c1o1 / omega - c1o2) * Dxz           * c1o3 * factorB + (c1o1 - O4) * (CUMbcb);
-			CUMcbb = -O4 * (c1o1 / omega - c1o2) * Dyz           * c1o3 * factorB + (c1o1 - O4) * (CUMcbb);
-
-
-			//////////////////////////////////////////////////////////////////////////
-
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity_Device.cuh
deleted file mode 100644
index 62b349df5750bd5baf743feb52e14146aeddea2b..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity_Device.cuh
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef K17CompressibleNavierStokesBulkViscosity_Device_H
-#define K17CompressibleNavierStokesBulkViscosity_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K17CompressibleNavierStokesBulkViscosity_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	int level,
-	real* forces,
-    real* quadricLimiters,
-	bool EvenOrOdd);
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy.cu
deleted file mode 100644
index 0f637558ba9ed16afb0311ab4eefba5d7b4d1208..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy.cu
+++ /dev/null
@@ -1,38 +0,0 @@
-#include "K17CompressibleNavierStokesChimeraLegacy.h"
-
-#include "Parameter/Parameter.h"
-#include "K17CompressibleNavierStokesChimeraLegacy_Device.cuh"
-#include "cuda_helper/CudaGrid.h"
-
-std::shared_ptr<K17CompressibleNavierStokesChimeraLegacy> K17CompressibleNavierStokesChimeraLegacy::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K17CompressibleNavierStokesChimeraLegacy>(new K17CompressibleNavierStokesChimeraLegacy(para,level));
-}
-
-void K17CompressibleNavierStokesChimeraLegacy::run()
-{
-	K17CompressibleNavierStokesChimeraLegacy_Device <<< cudaGrid.grid, cudaGrid.threads >>>(
-		para->getParD(level)->omega,
-		para->getParD(level)->typeOfGridNode,
-		para->getParD(level)->neighborX,
-		para->getParD(level)->neighborY,
-		para->getParD(level)->neighborZ,
-		para->getParD(level)->distributions.f[0],
-		para->getParD(level)->numberOfNodes,
-		level,
-		para->getIsBodyForce(),
-		para->getForcesDev(),
-		para->getParD(level)->forceX_SP,
-		para->getParD(level)->forceY_SP,
-		para->getParD(level)->forceZ_SP,
-        para->getQuadricLimitersDev(),
-		para->getParD(level)->isEvenTimestep);
-	getLastCudaError("K17CompressibleNavierStokesChimeraLegacy_Device execution failed");
-}
-
-K17CompressibleNavierStokesChimeraLegacy::K17CompressibleNavierStokesChimeraLegacy(std::shared_ptr<Parameter> para, int level): KernelImp(para, level)
-{
-	myPreProcessorTypes.push_back(InitCompSP27);
-	
-	this->cudaGrid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy.h
deleted file mode 100644
index b611526ce8f53ec0ed8215e3378764cf9858d19b..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K17CompressibleNavierStokesChimeraLegacy_H
-#define K17CompressibleNavierStokesChimeraLegacy_H
-
-#include "Kernel/KernelImp.h"
-
-class K17CompressibleNavierStokesChimeraLegacy : public KernelImp
-{
-public:
-	static std::shared_ptr<K17CompressibleNavierStokesChimeraLegacy> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-    K17CompressibleNavierStokesChimeraLegacy();
-    K17CompressibleNavierStokesChimeraLegacy(std::shared_ptr<Parameter> para, int level);
-};
-
-#endif 
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy_Device.cu
deleted file mode 100644
index b54575fcc1ffe05ee82d7c9c60604cec5bffb90e..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy_Device.cu
+++ /dev/null
@@ -1,655 +0,0 @@
-//=======================================================================================
-// ____          ____    __    ______     __________   __      __       __        __         
-// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |        
-//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |        
-//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |        
-//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____    
-//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|   
-//      \    \  |    |   ________________________________________________________________    
-//       \    \ |    |  |  ______________________________________________________________|   
-//        \    \|    |  |  |         __          __     __     __     ______      _______    
-//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)   
-//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______    
-//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
-//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/   
-//
-//  This file is part of VirtualFluids. VirtualFluids is free software: you can 
-//  redistribute it and/or modify it under the terms of the GNU General Public
-//  License as published by the Free Software Foundation, either version 3 of 
-//  the License, or (at your option) any later version.
-//  
-//  VirtualFluids is distributed in the hope that it will be useful, but WITHOUT 
-//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
-//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
-//  for more details.
-//  
-//  You should have received a copy of the GNU General Public License along
-//  with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
-//
-//! \file Cumulant27chim.cu
-//! \ingroup GPU
-//! \author Martin Schoenherr
-//=======================================================================================
-/* Device code */
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include "basics/constants/NumericConstants.h"
-#include "LBM/GPUHelperFunctions/ChimeraTransformation.h"
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-using namespace vf::gpu;
-
-////////////////////////////////////////////////////////////////////////////////
-__global__ void K17CompressibleNavierStokesChimeraLegacy_Device(
-	real omega,
-	uint* typeOfGridNode,
-	uint* neighborX,
-	uint* neighborY,
-	uint* neighborZ,
-	real* distributions,
-	int size_Mat,
-	int level,
-    bool bodyForce,
-	real* forces,
-    real* bodyForceX,
-    real* bodyForceY,
-    real* bodyForceZ,
-	real* quadricLimiters,
-	bool isEvenTimestep)
-{
-    //////////////////////////////////////////////////////////////////////////
-    //! Cumulant K17 Kernel is based on \ref
-    //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040
-    //! ]</b></a> and \ref <a href="https://doi.org/10.1016/j.jcp.2017.07.004"><b>[ M. Geier et al. (2017),
-    //! DOI:10.1016/j.jcp.2017.07.004 ]</b></a>
-    //!
-    //! The cumulant kernel is executed in the following steps
-    //!
-    ////////////////////////////////////////////////////////////////////////////////
-    //! - Get node index coordinates from threadIdx, blockIdx, blockDim and gridDim.
-    //!
-    const unsigned x = threadIdx.x;
-    const unsigned y = blockIdx.x;
-    const unsigned z = blockIdx.y;
-
-    const unsigned nx = blockDim.x;
-    const unsigned ny = gridDim.x;
-
-    const unsigned k = nx * (ny * z + y) + x;
-
-    //////////////////////////////////////////////////////////////////////////
-    // run for all indices in size_Mat and fluid nodes
-    if ((k < size_Mat) && (typeOfGridNode[k] == GEO_FLUID)) {
-        //////////////////////////////////////////////////////////////////////////
-        //! - Read distributions: style of reading and writing the distributions from/to stored arrays dependent on
-        //! timestep is based on the esoteric twist algorithm \ref <a
-        //! href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017),
-        //! DOI:10.3390/computation5020019 ]</b></a>
-        //!
-        Distributions27 dist;
-        if (isEvenTimestep) {
-            dist.f[dP00]    = &distributions[dP00 * size_Mat];
-            dist.f[dM00]    = &distributions[dM00 * size_Mat];
-            dist.f[d0P0]    = &distributions[d0P0 * size_Mat];
-            dist.f[d0M0]    = &distributions[d0M0 * size_Mat];
-            dist.f[d00P]    = &distributions[d00P * size_Mat];
-            dist.f[d00M]    = &distributions[d00M * size_Mat];
-            dist.f[dPP0]   = &distributions[dPP0 * size_Mat];
-            dist.f[dMM0]   = &distributions[dMM0 * size_Mat];
-            dist.f[dPM0]   = &distributions[dPM0 * size_Mat];
-            dist.f[dMP0]   = &distributions[dMP0 * size_Mat];
-            dist.f[dP0P]   = &distributions[dP0P * size_Mat];
-            dist.f[dM0M]   = &distributions[dM0M * size_Mat];
-            dist.f[dP0M]   = &distributions[dP0M * size_Mat];
-            dist.f[dM0P]   = &distributions[dM0P * size_Mat];
-            dist.f[d0PP]   = &distributions[d0PP * size_Mat];
-            dist.f[d0MM]   = &distributions[d0MM * size_Mat];
-            dist.f[d0PM]   = &distributions[d0PM * size_Mat];
-            dist.f[d0MP]   = &distributions[d0MP * size_Mat];
-            dist.f[d000] = &distributions[d000 * size_Mat];
-            dist.f[dPPP]  = &distributions[dPPP * size_Mat];
-            dist.f[dMMP]  = &distributions[dMMP * size_Mat];
-            dist.f[dPMP]  = &distributions[dPMP * size_Mat];
-            dist.f[dMPP]  = &distributions[dMPP * size_Mat];
-            dist.f[dPPM]  = &distributions[dPPM * size_Mat];
-            dist.f[dMMM]  = &distributions[dMMM * size_Mat];
-            dist.f[dPMM]  = &distributions[dPMM * size_Mat];
-            dist.f[dMPM]  = &distributions[dMPM * size_Mat];
-        } else {
-            dist.f[dM00]    = &distributions[dP00 * size_Mat];
-            dist.f[dP00]    = &distributions[dM00 * size_Mat];
-            dist.f[d0M0]    = &distributions[d0P0 * size_Mat];
-            dist.f[d0P0]    = &distributions[d0M0 * size_Mat];
-            dist.f[d00M]    = &distributions[d00P * size_Mat];
-            dist.f[d00P]    = &distributions[d00M * size_Mat];
-            dist.f[dMM0]   = &distributions[dPP0 * size_Mat];
-            dist.f[dPP0]   = &distributions[dMM0 * size_Mat];
-            dist.f[dMP0]   = &distributions[dPM0 * size_Mat];
-            dist.f[dPM0]   = &distributions[dMP0 * size_Mat];
-            dist.f[dM0M]   = &distributions[dP0P * size_Mat];
-            dist.f[dP0P]   = &distributions[dM0M * size_Mat];
-            dist.f[dM0P]   = &distributions[dP0M * size_Mat];
-            dist.f[dP0M]   = &distributions[dM0P * size_Mat];
-            dist.f[d0MM]   = &distributions[d0PP * size_Mat];
-            dist.f[d0PP]   = &distributions[d0MM * size_Mat];
-            dist.f[d0MP]   = &distributions[d0PM * size_Mat];
-            dist.f[d0PM]   = &distributions[d0MP * size_Mat];
-            dist.f[d000] = &distributions[d000 * size_Mat];
-            dist.f[dMMM]  = &distributions[dPPP * size_Mat];
-            dist.f[dPPM]  = &distributions[dMMP * size_Mat];
-            dist.f[dMPM]  = &distributions[dPMP * size_Mat];
-            dist.f[dPMM]  = &distributions[dMPP * size_Mat];
-            dist.f[dMMP]  = &distributions[dPPM * size_Mat];
-            dist.f[dPPP]  = &distributions[dMMM * size_Mat];
-            dist.f[dMPP]  = &distributions[dPMM * size_Mat];
-            dist.f[dPMP]  = &distributions[dMPM * size_Mat];
-        }
-        ////////////////////////////////////////////////////////////////////////////////
-        //! - Set neighbor indices (necessary for indirect addressing)
-        uint kw   = neighborX[k];
-        uint ks   = neighborY[k];
-        uint kb   = neighborZ[k];
-        uint ksw  = neighborY[kw];
-        uint kbw  = neighborZ[kw];
-        uint kbs  = neighborZ[ks];
-        uint kbsw = neighborZ[ksw];
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Set local distributions
-        //!
-        real mfcbb = (dist.f[dP00])[k];
-        real mfabb = (dist.f[dM00])[kw];
-        real mfbcb = (dist.f[d0P0])[k];
-        real mfbab = (dist.f[d0M0])[ks];
-        real mfbbc = (dist.f[d00P])[k];
-        real mfbba = (dist.f[d00M])[kb];
-        real mfccb = (dist.f[dPP0])[k];
-        real mfaab = (dist.f[dMM0])[ksw];
-        real mfcab = (dist.f[dPM0])[ks];
-        real mfacb = (dist.f[dMP0])[kw];
-        real mfcbc = (dist.f[dP0P])[k];
-        real mfaba = (dist.f[dM0M])[kbw];
-        real mfcba = (dist.f[dP0M])[kb];
-        real mfabc = (dist.f[dM0P])[kw];
-        real mfbcc = (dist.f[d0PP])[k];
-        real mfbaa = (dist.f[d0MM])[kbs];
-        real mfbca = (dist.f[d0PM])[kb];
-        real mfbac = (dist.f[d0MP])[ks];
-        real mfbbb = (dist.f[d000])[k];
-        real mfccc = (dist.f[dPPP])[k];
-        real mfaac = (dist.f[dMMP])[ksw];
-        real mfcac = (dist.f[dPMP])[ks];
-        real mfacc = (dist.f[dMPP])[kw];
-        real mfcca = (dist.f[dPPM])[kb];
-        real mfaaa = (dist.f[dMMM])[kbsw];
-        real mfcaa = (dist.f[dPMM])[kbs];
-        real mfaca = (dist.f[dMPM])[kbw];
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref
-        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015),
-        //! DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-        //!
-        real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-                     (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) +
-                      ((mfacb + mfcab) + (mfaab + mfccb))) +
-                     ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) +
-                    mfbbb;
-
-        real rho   = c1o1 + drho;
-        real OOrho = c1o1 / rho;
-
-        real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-                    (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + (mfcbb - mfabb)) *
-                   OOrho;
-        real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-                    (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) + (mfbcb - mfbab)) *
-                   OOrho;
-        real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-                    (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) + (mfbbc - mfbba)) *
-                   OOrho;
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Add half of the acceleration (body force) to the velocity as in Eq. (42) \ref
-        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015),
-        //! DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-        //!
-        real factor = c1o1;
-        for (size_t i = 1; i <= level; i++) {
-            factor *= c2o1;
-        }
-        
-        real fx = forces[0];
-        real fy = forces[1];
-        real fz = forces[2];
-
-        if( bodyForce ){
-            fx += bodyForceX[k];
-            fy += bodyForceY[k];
-            fz += bodyForceZ[k];
-
-            //Reset body force
-            bodyForceX[k] = 0.0f;
-            bodyForceY[k] = 0.0f;
-            bodyForceZ[k] = 0.0f;
-        }
-        
-        vvx += fx * c1o2 / factor;
-        vvy += fy * c1o2 / factor;
-        vvz += fz * c1o2 / factor;
-        ////////////////////////////////////////////////////////////////////////////////////
-        // calculate the square of velocities for this lattice node
-        real vx2 = vvx * vvx;
-        real vy2 = vvy * vvy;
-        real vz2 = vvz * vvz;
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Set relaxation limiters for third order cumulants to default value \f$ \lambda=0.001 \f$ according to
-        //! section 6 in \ref <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
-        //! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-        //!
-        real wadjust;
-        real qudricLimitP = quadricLimiters[0];
-        real qudricLimitM = quadricLimiters[1];
-        real qudricLimitD = quadricLimiters[2];
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Chimera transform from well conditioned distributions to central moments as defined in Appendix J in \ref
-        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015),
-        //! DOI:10.1016/j.camwa.2015.05.001 ]</b></a> see also Eq. (6)-(14) in \ref <a
-        //! href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040
-        //! ]</b></a>
-        //!
-        ////////////////////////////////////////////////////////////////////////////////////
-        // Z - Dir
-        forwardInverseChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, c36o1, c1o36);
-        forwardInverseChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, c9o1, c1o9);
-        forwardInverseChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c36o1, c1o36);
-        forwardInverseChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, c9o1, c1o9);
-        forwardInverseChimeraWithK(mfbba, mfbbb, mfbbc, vvz, vz2, c9o4, c4o9);
-        forwardInverseChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, c9o1, c1o9);
-        forwardInverseChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c36o1, c1o36);
-        forwardInverseChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, c9o1, c1o9);
-        forwardInverseChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c36o1, c1o36);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        // Y - Dir
-        forwardInverseChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c6o1, c1o6);
-        forwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-        forwardInverseChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c18o1, c1o18);
-        forwardInverseChimeraWithK(mfbaa, mfbba, mfbca, vvy, vy2, c3o2, c2o3);
-        forwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-        forwardInverseChimeraWithK(mfbac, mfbbc, mfbcc, vvy, vy2, c9o2, c2o9);
-        forwardInverseChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c6o1, c1o6);
-        forwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-        forwardInverseChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c18o1, c1o18);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        // X - Dir
-        forwardInverseChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1o1, c1o1);
-        forwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-        forwardInverseChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c3o1, c1o3);
-        forwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-        forwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-        forwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-        forwardInverseChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c3o1, c1o3);
-        forwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-        forwardInverseChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c3o1, c1o9);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Setting relaxation rates for non-hydrodynamic cumulants (default values). Variable names and equations
-        //! according to <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
-        //! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-        //!  => [NAME IN PAPER]=[NAME IN CODE]=[DEFAULT VALUE].
-        //!  - Trace of second order cumulants \f$ C_{200}+C_{020}+C_{002} \f$ used to adjust bulk
-        //!  viscosity:\f$\omega_2=OxxPyyPzz=1.0 \f$.
-        //!  - Third order cumulants \f$ C_{120}+C_{102}, C_{210}+C_{012}, C_{201}+C_{021} \f$: \f$ \omega_3=OxyyPxzz
-        //!  \f$ set according to Eq. (111) with simplifications assuming \f$ \omega_2=1.0\f$.
-        //!  - Third order cumulants \f$ C_{120}-C_{102}, C_{210}-C_{012}, C_{201}-C_{021} \f$: \f$ \omega_4 = OxyyMxzz
-        //!  \f$ set according to Eq. (112) with simplifications assuming \f$ \omega_2 = 1.0\f$.
-        //!  - Third order cumulants \f$ C_{111} \f$: \f$ \omega_5 = Oxyz \f$ set according to Eq. (113) with
-        //!  simplifications assuming \f$ \omega_2 = 1.0\f$  (modify for different bulk viscosity).
-        //!  - Fourth order cumulants \f$ C_{220}, C_{202}, C_{022}, C_{211}, C_{121}, C_{112} \f$: for simplification
-        //!  all set to the same default value \f$ \omega_6=\omega_7=\omega_8=O4=1.0 \f$.
-        //!  - Fifth order cumulants \f$ C_{221}, C_{212}, C_{122}\f$: \f$\omega_9=O5=1.0\f$.
-        //!  - Sixth order cumulant \f$ C_{222}\f$: \f$\omega_{10}=O6=1.0\f$.
-        //!
-        ////////////////////////////////////////////////////////////
-        // 2.
-        real OxxPyyPzz = c1o1;
-        ////////////////////////////////////////////////////////////
-        // 3.
-        real OxyyPxzz = c8o1 * (-c2o1 + omega) * (c1o1 + c2o1 * omega) / (-c8o1 - c14o1 * omega + c7o1 * omega * omega);
-        real OxyyMxzz =
-            c8o1 * (-c2o1 + omega) * (-c7o1 + c4o1 * omega) / (c56o1 - c50o1 * omega + c9o1 * omega * omega);
-        real Oxyz = c24o1 * (-c2o1 + omega) * (-c2o1 - c7o1 * omega + c3o1 * omega * omega) /
-                    (c48o1 + c152o1 * omega - c130o1 * omega * omega + c29o1 * omega * omega * omega);
-        ////////////////////////////////////////////////////////////
-        // 4.
-        real O4 = c1o1;
-        ////////////////////////////////////////////////////////////
-        // 5.
-        real O5 = c1o1;
-        ////////////////////////////////////////////////////////////
-        // 6.
-        real O6 = c1o1;
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - A and d00M: parameters for fourth order convergence of the diffusion term according to Eq. (115) and (116)
-        //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
-        //! DOI:10.1016/j.jcp.2017.05.040 ]</b></a> with simplifications assuming \f$ \omega_2 = 1.0 \f$ (modify for
-        //! different bulk viscosity).
-        //!
-        real factorA = (c4o1 + c2o1 * omega - c3o1 * omega * omega) / (c2o1 - c7o1 * omega + c5o1 * omega * omega);
-        real factorB = (c4o1 + c28o1 * omega - c14o1 * omega * omega) / (c6o1 - c21o1 * omega + c15o1 * omega * omega);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Compute cumulants from central moments according to Eq. (20)-(23) in
-        //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
-        //! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-        //!
-        ////////////////////////////////////////////////////////////
-        // 4.
-        real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) * OOrho;
-        real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) * OOrho;
-        real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) * OOrho;
-
-        real CUMcca =
-            mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) * OOrho - c1o9 * (drho * OOrho));
-        real CUMcac =
-            mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) * OOrho - c1o9 * (drho * OOrho));
-        real CUMacc =
-            mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) * OOrho - c1o9 * (drho * OOrho));
-        ////////////////////////////////////////////////////////////
-        // 5.
-        real CUMbcc =
-            mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) +
-                     c1o3 * (mfbca + mfbac)) *
-                        OOrho;
-        real CUMcbc =
-            mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) +
-                     c1o3 * (mfcba + mfabc)) *
-                        OOrho;
-        real CUMccb =
-            mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) +
-                     c1o3 * (mfacb + mfcab)) *
-                        OOrho;
-        ////////////////////////////////////////////////////////////
-        // 6.
-        real CUMccc = mfccc + ((-c4o1 * mfbbb * mfbbb - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) -
-                                c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) -
-                                c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) *
-                                   OOrho +
-                               (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) +
-                                c2o1 * (mfcaa * mfaca * mfaac) + c16o1 * mfbba * mfbab * mfabb) *
-                                   OOrho * OOrho -
-                               c1o3 * (mfacc + mfcac + mfcca) * OOrho - c1o9 * (mfcaa + mfaca + mfaac) * OOrho +
-                               (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) +
-                                (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 * (mfaac + mfaca + mfcaa)) *
-                                   OOrho * OOrho * c2o3 +
-                               c1o27 * ((drho * drho - drho) * OOrho * OOrho));
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Compute linear combinations of second and third order cumulants
-        //!
-        ////////////////////////////////////////////////////////////
-        // 2.
-        real mxxPyyPzz = mfcaa + mfaca + mfaac;
-        real mxxMyy    = mfcaa - mfaca;
-        real mxxMzz    = mfcaa - mfaac;
-        ////////////////////////////////////////////////////////////
-        // 3.
-        real mxxyPyzz = mfcba + mfabc;
-        real mxxyMyzz = mfcba - mfabc;
-
-        real mxxzPyyz = mfcab + mfacb;
-        real mxxzMyyz = mfcab - mfacb;
-
-        real mxyyPxzz = mfbca + mfbac;
-        real mxyyMxzz = mfbca - mfbac;
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        // incl. correction
-        ////////////////////////////////////////////////////////////
-        //! - Compute velocity  gradients from second order cumulants according to Eq. (27)-(32)
-        //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
-        //! DOI:10.1016/j.jcp.2017.05.040 ]</b></a> Further explanations of the correction in viscosity in Appendix H of
-        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015),
-        //! DOI:10.1016/j.camwa.2015.05.001 ]</b></a> Note that the division by rho is omitted here as we need rho times
-        //! the gradients later.
-        //!
-        real Dxy  = -c3o1 * omega * mfbba;
-        real Dxz  = -c3o1 * omega * mfbab;
-        real Dyz  = -c3o1 * omega * mfabb;
-        real dxux = c1o2 * (-omega) * (mxxMyy + mxxMzz) + c1o2 * OxxPyyPzz * (mfaaa - mxxPyyPzz);
-        real dyuy = dxux + omega * c3o2 * mxxMyy;
-        real dzuz = dxux + omega * c3o2 * mxxMzz;
-        ////////////////////////////////////////////////////////////
-        //! - Relaxation of second order cumulants with correction terms according to Eq. (33)-(35) in
-        //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
-        //! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-        //!
-        mxxPyyPzz +=
-            OxxPyyPzz * (mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-        mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-        mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        ////no correction
-        // mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz);
-        // mxxMyy += -(-omega) * (-mxxMyy);
-        // mxxMzz += -(-omega) * (-mxxMzz);
-        //////////////////////////////////////////////////////////////////////////
-        mfabb += omega * (-mfabb);
-        mfbab += omega * (-mfbab);
-        mfbba += omega * (-mfbba);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        // relax
-        //////////////////////////////////////////////////////////////////////////
-        // incl. limiter
-        //! - Relaxation of third order cumulants including limiter according to Eq. (116)-(123)
-        //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
-        //! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-        //!
-        wadjust = Oxyz + (c1o1 - Oxyz) * abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-        mfbbb += wadjust * (-mfbbb);
-        wadjust = OxyyPxzz + (c1o1 - OxyyPxzz) * abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-        mxxyPyzz += wadjust * (-mxxyPyzz);
-        wadjust = OxyyMxzz + (c1o1 - OxyyMxzz) * abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-        mxxyMyzz += wadjust * (-mxxyMyzz);
-        wadjust = OxyyPxzz + (c1o1 - OxyyPxzz) * abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-        mxxzPyyz += wadjust * (-mxxzPyyz);
-        wadjust = OxyyMxzz + (c1o1 - OxyyMxzz) * abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-        mxxzMyyz += wadjust * (-mxxzMyyz);
-        wadjust = OxyyPxzz + (c1o1 - OxyyPxzz) * abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-        mxyyPxzz += wadjust * (-mxyyPxzz);
-        wadjust = OxyyMxzz + (c1o1 - OxyyMxzz) * abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-        mxyyMxzz += wadjust * (-mxyyMxzz);
-        //////////////////////////////////////////////////////////////////////////
-        // no limiter
-        // mfbbb += OxyyMxzz * (-mfbbb);
-        // mxxyPyzz += OxyyPxzz * (-mxxyPyzz);
-        // mxxyMyzz += OxyyMxzz * (-mxxyMyzz);
-        // mxxzPyyz += OxyyPxzz * (-mxxzPyyz);
-        // mxxzMyyz += OxyyMxzz * (-mxxzMyyz);
-        // mxyyPxzz += OxyyPxzz * (-mxyyPxzz);
-        // mxyyMxzz += OxyyMxzz * (-mxyyMxzz);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Compute inverse linear combinations of second and third order cumulants
-        //!
-        mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-        mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz);
-        mfaac = c1o3 * (mxxMyy - c2o1 * mxxMzz + mxxPyyPzz);
-
-        mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-        mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-        mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-        mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-        mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-        mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-        //////////////////////////////////////////////////////////////////////////
-
-        //////////////////////////////////////////////////////////////////////////
-        // 4.
-        // no limiter
-        //! - Relax fourth order cumulants to modified equilibrium for fourth order convergence of diffusion according
-        //! to Eq. (43)-(48) <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
-        //! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-        //!
-        CUMacc = -O4 * (c1o1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMacc);
-        CUMcac = -O4 * (c1o1 / omega - c1o2) * (dxux + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMcac);
-        CUMcca = -O4 * (c1o1 / omega - c1o2) * (dyuy + dxux) * c2o3 * factorA + (c1o1 - O4) * (CUMcca);
-        CUMbbc = -O4 * (c1o1 / omega - c1o2) * Dxy * c1o3 * factorB + (c1o1 - O4) * (CUMbbc);
-        CUMbcb = -O4 * (c1o1 / omega - c1o2) * Dxz * c1o3 * factorB + (c1o1 - O4) * (CUMbcb);
-        CUMcbb = -O4 * (c1o1 / omega - c1o2) * Dyz * c1o3 * factorB + (c1o1 - O4) * (CUMcbb);
-
-        //////////////////////////////////////////////////////////////////////////
-        // 5.
-        CUMbcc += O5 * (-CUMbcc);
-        CUMcbc += O5 * (-CUMcbc);
-        CUMccb += O5 * (-CUMccb);
-
-        //////////////////////////////////////////////////////////////////////////
-        // 6.
-        CUMccc += O6 * (-CUMccc);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Compute central moments from post collision cumulants according to Eq. (53)-(56) in
-        //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017),
-        //! DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
-        //!
-
-        //////////////////////////////////////////////////////////////////////////
-        // 4.
-        mfcbb = CUMcbb + c1o3 * ((c3o1 * mfcaa + c1o1) * mfabb + c6o1 * mfbba * mfbab) * OOrho;
-        mfbcb = CUMbcb + c1o3 * ((c3o1 * mfaca + c1o1) * mfbab + c6o1 * mfbba * mfabb) * OOrho;
-        mfbbc = CUMbbc + c1o3 * ((c3o1 * mfaac + c1o1) * mfbba + c6o1 * mfbab * mfabb) * OOrho;
-
-        mfcca =
-            CUMcca +
-            (((mfcaa * mfaca + c2o1 * mfbba * mfbba) * c9o1 + c3o1 * (mfcaa + mfaca)) * OOrho - (drho * OOrho)) * c1o9;
-        mfcac =
-            CUMcac +
-            (((mfcaa * mfaac + c2o1 * mfbab * mfbab) * c9o1 + c3o1 * (mfcaa + mfaac)) * OOrho - (drho * OOrho)) * c1o9;
-        mfacc =
-            CUMacc +
-            (((mfaac * mfaca + c2o1 * mfabb * mfabb) * c9o1 + c3o1 * (mfaac + mfaca)) * OOrho - (drho * OOrho)) * c1o9;
-
-        //////////////////////////////////////////////////////////////////////////
-        // 5.
-        mfbcc = CUMbcc + c1o3 *
-                             (c3o1 * (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb +
-                                      c2o1 * (mfbab * mfacb + mfbba * mfabc)) +
-                              (mfbca + mfbac)) *
-                             OOrho;
-        mfcbc = CUMcbc + c1o3 *
-                             (c3o1 * (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb +
-                                      c2o1 * (mfabb * mfcab + mfbba * mfbac)) +
-                              (mfcba + mfabc)) *
-                             OOrho;
-        mfccb = CUMccb + c1o3 *
-                             (c3o1 * (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb +
-                                      c2o1 * (mfbab * mfbca + mfabb * mfcba)) +
-                              (mfacb + mfcab)) *
-                             OOrho;
-
-        //////////////////////////////////////////////////////////////////////////
-        // 6.
-        mfccc = CUMccc - ((-c4o1 * mfbbb * mfbbb - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) -
-                           c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) -
-                           c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) *
-                              OOrho +
-                          (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) +
-                           c2o1 * (mfcaa * mfaca * mfaac) + c16o1 * mfbba * mfbab * mfabb) *
-                              OOrho * OOrho -
-                          c1o3 * (mfacc + mfcac + mfcca) * OOrho - c1o9 * (mfcaa + mfaca + mfaac) * OOrho +
-                          (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) +
-                           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 * (mfaac + mfaca + mfcaa)) *
-                              OOrho * OOrho * c2o3 +
-                          c1o27 * ((drho * drho - drho) * OOrho * OOrho));
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! -  Add acceleration (body force) to first order cumulants according to Eq. (85)-(87) in
-        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015),
-        //! DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
-        //!
-        mfbaa = -mfbaa;
-        mfaba = -mfaba;
-        mfaab = -mfaab;
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Chimera transform from central moments to well conditioned distributions as defined in Appendix J in
-        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015),
-        //! DOI:10.1016/j.camwa.2015.05.001 ]</b></a> see also Eq. (88)-(96) in <a
-        //! href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040
-        //! ]</b></a>
-        //!
-        ////////////////////////////////////////////////////////////////////////////////////
-        // X - Dir
-        backwardInverseChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1o1, c1o1);
-        backwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
-        backwardInverseChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c3o1, c1o3);
-        backwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
-        backwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
-        backwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
-        backwardInverseChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c3o1, c1o3);
-        backwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
-        backwardInverseChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c9o1, c1o9);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        // Y - Dir
-        backwardInverseChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c6o1, c1o6);
-        backwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
-        backwardInverseChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c18o1, c1o18);
-        backwardInverseChimeraWithK(mfbaa, mfbba, mfbca, vvy, vy2, c3o2, c2o3);
-        backwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
-        backwardInverseChimeraWithK(mfbac, mfbbc, mfbcc, vvy, vy2, c9o2, c2o9);
-        backwardInverseChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c6o1, c1o6);
-        backwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
-        backwardInverseChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c18o1, c1o18);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        // Z - Dir
-        backwardInverseChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, c36o1, c1o36);
-        backwardInverseChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, c9o1, c1o9);
-        backwardInverseChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c36o1, c1o36);
-        backwardInverseChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, c9o1, c1o9);
-        backwardInverseChimeraWithK(mfbba, mfbbb, mfbbc, vvz, vz2, c9o4, c4o9);
-        backwardInverseChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, c9o1, c1o9);
-        backwardInverseChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c36o1, c1o36);
-        backwardInverseChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, c9o1, c1o9);
-        backwardInverseChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c36o1, c1o36);
-
-        ////////////////////////////////////////////////////////////////////////////////////
-        //! - Write distributions: style of reading and writing the distributions from/to
-        //! stored arrays dependent on timestep is based on the esoteric twist algorithm
-        //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017),
-        //! DOI:10.3390/computation5020019 ]</b></a>
-        //!
-        (dist.f[dP00])[k]      = mfabb;
-        (dist.f[dM00])[kw]     = mfcbb;
-        (dist.f[d0P0])[k]      = mfbab;
-        (dist.f[d0M0])[ks]     = mfbcb;
-        (dist.f[d00P])[k]      = mfbba;
-        (dist.f[d00M])[kb]     = mfbbc;
-        (dist.f[dPP0])[k]     = mfaab;
-        (dist.f[dMM0])[ksw]   = mfccb;
-        (dist.f[dPM0])[ks]    = mfacb;
-        (dist.f[dMP0])[kw]    = mfcab;
-        (dist.f[dP0P])[k]     = mfaba;
-        (dist.f[dM0M])[kbw]   = mfcbc;
-        (dist.f[dP0M])[kb]    = mfabc;
-        (dist.f[dM0P])[kw]    = mfcba;
-        (dist.f[d0PP])[k]     = mfbaa;
-        (dist.f[d0MM])[kbs]   = mfbcc;
-        (dist.f[d0PM])[kb]    = mfbac;
-        (dist.f[d0MP])[ks]    = mfbca;
-        (dist.f[d000])[k]   = mfbbb;
-        (dist.f[dPPP])[k]    = mfaaa;
-        (dist.f[dPMP])[ks]   = mfaca;
-        (dist.f[dPPM])[kb]   = mfaac;
-        (dist.f[dPMM])[kbs]  = mfacc;
-        (dist.f[dMPP])[kw]   = mfcaa;
-        (dist.f[dMMP])[ksw]  = mfcca;
-        (dist.f[dMPM])[kbw]  = mfcac;
-        (dist.f[dMMM])[kbsw] = mfccc;
-    }
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy_Device.cuh
deleted file mode 100644
index bd2bd08ca184f468bd5491532fc9c444328ab487..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy_Device.cuh
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef K17CompressibleNavierStokesChimeraLegacy_Device_H
-#define K17CompressibleNavierStokesChimeraLegacy_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K17CompressibleNavierStokesChimeraLegacy_Device(
-	real omega,
-	uint* typeOfGridNode,
-	uint* neighborX,
-	uint* neighborY,
-	uint* neighborZ,
-	real* distributions,
-	int size_Mat,
-	int level,
-	bool bodyForce,
-	real* forces,
-	real* bodyForceX,
-	real* bodyForceY,
-	real* bodyForceZ,
-	real* quadricLimiters,
-	bool isEvenTimestep);
-#endif
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants.cu
deleted file mode 100644
index 1b3c978487bd8c2cd39ab92e6ac6d2af59c5cf04..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants.cu
+++ /dev/null
@@ -1,39 +0,0 @@
-#include "K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants.h"
-
-#include "K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device.cuh"
-#include "Parameter/Parameter.h"
-#include "cuda_helper/CudaGrid.h"
-
-std::shared_ptr<K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants> K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants>(new K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants(para, level));
-}
-
-void K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->numberOfNodes,
-        level,
-        para->getForcesDev(),
-        para->getQuadricLimitersDev(),
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_Cumulant_D3Q27All4 execution failed");
-}
-
-K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants::K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants.h
deleted file mode 100644
index cfc30852016375a4c6512f1ed1e35f069d5e366a..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_H
-#define K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_H
-
-#include "Kernel/KernelImp.h"
-
-class K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants : public KernelImp
-{
-public:
-	static std::shared_ptr<K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-	
-private:
-	K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants();
-	K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants(std::shared_ptr< Parameter> para, int level);
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device.cu
deleted file mode 100644
index 54361f0a560cc4125767a9965413c2959e0b3b34..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device.cu
+++ /dev/null
@@ -1,1095 +0,0 @@
-#include "K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device.cuh"
-
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device(	
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	int level,
-	real* forces,
-	real* quadricLimiters,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k < size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			//unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			//unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			//unsigned int kb   = neighborZ[k];
-			//unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			//unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			//unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			//unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-			vvx += fx;
-			vvy += fy;
-			vvz += fz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real omega = omega_in;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-							   //real oMdrho = one - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-							   //					   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-							   //					   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-							   //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-							   //				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-							   //				mfcbb-mfabb;
-							   //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-							   //				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-							   //				mfbcb-mfbab;
-							   //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-							   //				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-							   //				mfbbc-mfbba;
-							   ////////////////////////////////////////////////////////////////////////////////////
-							   // oMdrho assembler style -------> faaaaaastaaaa
-							   // or much sloooowaaaa ... it dep�ndssssss on sadaku
-			real m0, m1, m2;
-			//real oMdrho;
-			//{
-			//	oMdrho=mfccc+mfaaa;
-			//	m0=mfaca+mfcac;
-			//	m1=mfacc+mfcaa;
-			//	m2=mfaac+mfcca;
-			//	oMdrho+=m0;
-			//	m1+=m2;
-			//	oMdrho+=m1;
-			//	m0=mfbac+mfbca;
-			//	m1=mfbaa+mfbcc;
-			//	m0+=m1;
-			//	m1=mfabc+mfcba;
-			//	m2=mfaba+mfcbc;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	m1=mfacb+mfcab;
-			//	m2=mfaab+mfccb;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	oMdrho+=m0;
-			//	m0=mfabb+mfcbb;
-			//	m1=mfbab+mfbcb;
-			//	m2=mfbba+mfbbc;
-			//	m0+=m1+m2;
-			//	m0+=mfbbb; //hat gefehlt
-			//	oMdrho = one - (oMdrho + m0);
-			//}
-			//real vvx;
-			real vx2;
-			//{
-			//	vvx = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfcaa-mfacc;
-			//	m2  = mfcca-mfaac;
-			//	vvx+= m0;
-			//	m1 += m2;
-			//	vvx+= m1;
-			//	vx2 = mfcba-mfabc;
-			//	m0  = mfcbc-mfaba;
-			//	m1  = mfcab-mfacb;
-			//	m2  = mfccb-mfaab;
-			//	vx2+= m0;
-			//	m1 += m2;
-			//	vx2+= m1;
-			//	vvx+= vx2;
-			//	vx2 = mfcbb-mfabb;
-			//	vvx+= vx2;
-			//}
-			//real vvy;
-			real vy2;
-			//{
-			//	vvy = mfccc-mfaaa;
-			//	m0  = mfaca-mfcac;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfcca-mfaac;
-			//	vvy+= m0;
-			//	m1 += m2;
-			//	vvy+= m1;
-			//	vy2 = mfbca-mfbac;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfacb-mfcab;
-			//	m2  = mfccb-mfaab;
-			//	vy2+= m0;
-			//	m1 += m2;
-			//	vy2+= m1;
-			//	vvy+= vy2;
-			//	vy2 = mfbcb-mfbab;
-			//	vvy+= vy2;
-			//}
-			//real vvz;
-			real vz2;
-			//{
-			//	vvz = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfaac-mfcca;
-			//	vvz+= m0;
-			//	m1 += m2;
-			//	vvz+= m1;
-			//	vz2 = mfbac-mfbca;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfabc-mfcba;
-			//	m2  = mfcbc-mfaba;
-			//	vz2+= m0;
-			//	m1 += m2;
-			//	vz2+= m1;
-			//	vvz+= vz2;
-			//	vz2 = mfbbc-mfbba;
-			//	vvz+= vz2;
-			//}
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = quadricLimiters[0];  //0.01f; //  * 0.0001f; // 1000000.0f; // 1000000.0f; //
-			real qudricLimitM = quadricLimiters[1];  //0.01f; //  * 0.0001f; // 1000000.0f; // 1000000.0f; //
-			real qudricLimitD = quadricLimiters[2];  //0.01f; //  * 0.001f;  // 1000000.0f; // 1000000.0f; //
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   //Hin
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-									   ////////////////////////////////////////////////////////////////////////////////////
-									   // Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//limiter advect
-			//real lambdaAdvect = 1000;//100000;
-			//real limAdvect = lambdaAdvect * (c1o1 / omega - c1o2) * (c1o1 / omega - c1o2);
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-
-									////////////////////////////////////////////////////////////
-									//3.
-									//////////////////////////////
-			real OxyyPxzz = c8o1*(-c2o1 + omega)*(c1o1 + c2o1*omega) / (-c8o1 - c14o1*omega + c7o1*omega*omega);//one;
-			real OxyyMxzz = c8o1*(-c2o1 + omega)*(-c7o1 + c4o1*omega) / (c56o1 - c50o1*omega + c9o1*omega*omega);//one;
-			real Oxyz = c24o1*(-c2o1 + omega)*(-c2o1 - c7o1*omega + c3o1*omega*omega) / (c48o1 + c152o1*omega - c130o1*omega*omega + c29o1*omega*omega*omega);//one;
-																																										  ////////////////////////////////////////////////////////////
-																																										  //4.
-																																										  //////////////////////////////
-																																										  //real O4 = one;
-																																										  //////////////////////////////
-			real O4 = c1o1 / (100 * (c1o1 / omega - c1o2) + c1o2);//TRT
-																////////////////////////////////////////////////////////////
-																//5.
-																//////////////////////////////
-			real O5 = OxyyPxzz;// two - omega; // one;
-							   ////////////////////////////////////////////////////////////
-							   //6.
-							   //////////////////////////////
-			real O6 = c1o1;
-			////////////////////////////////////////////////////////////
-
-			real factorA = (c4o1 * omega * omega + c2o1 * omega * OxxPyyPzz * (omega - c6o1) + OxxPyyPzz * OxxPyyPzz * (omega * (c10o1 - c3o1 * omega) - c4o1)) /
-				((omega - OxxPyyPzz) * (OxxPyyPzz * (c2o1 + c3o1 * omega) - c8o1 * omega));
-			real factorB = (c4o1 * omega * OxxPyyPzz * (c9o1 * omega - c16o1) - c4o1 * omega * omega - c2o1 * OxxPyyPzz * OxxPyyPzz * (c2o1 + c9o1 * omega * (omega - c2o1))) /
-				(c3o1 * (omega - OxxPyyPzz) * (OxxPyyPzz * (c2o1 + c3o1 * omega) - c8o1 * omega));
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)*(c1o1 + rho*c6o1*factorB / (c2o1 + c3o1 * factorB))) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)*(c1o1 + rho*c6o1*factorB / (c2o1 + c3o1 * factorB))) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)*(c1o1 + rho*c6o1*factorB / (c2o1 + c3o1 * factorB))) / rho;
-
-			real scaleD2 =
-				(-c27o1 * omega*(omega - OxxPyyPzz)*(c2o1 * OxxPyyPzz + omega*(-c8o1 + c3o1 * OxxPyyPzz))*(-c4o1 * OxxPyyPzz + omega*(-c2o1 + c3o1 * OxxPyyPzz))*O5) /
-				((-c2o1 + omega)*(c6o1 * OxxPyyPzz*(c32o1 + (c100o1 - c69o1 * OxxPyyPzz)*OxxPyyPzz)*(omega*omega) +
-				(c40o1 + c3o1 * OxxPyyPzz*(-c52o1 + c3o1 * OxxPyyPzz*(-c8o1 + c9o1 * OxxPyyPzz)))*(omega*omega*omega) +
-					c264o1 * omega*(-c3o1 + c2o1 * OxxPyyPzz)*(OxxPyyPzz*OxxPyyPzz) - c88o1 * (OxxPyyPzz*OxxPyyPzz*OxxPyyPzz)));
-
-			real dxxux = CUMbcc*scaleD2;
-			real dyyuy = CUMcbc*scaleD2;
-			real dzzuz = CUMccb*scaleD2;
-
-			//dxxux *= limAdvect / (limAdvect + sqrt(abs(vvx * dxxux)));
-			//dyyuy *= limAdvect / (limAdvect + sqrt(abs(vvy * dyyuy)));
-			//dzzuz *= limAdvect / (limAdvect + sqrt(abs(vvz * dzzuz)));
-
-			//real limD2 = 1.0e10;
-			//dxxux /= one + limD2*abs(dxxux);
-			//dyyuy /= one + limD2*abs(dyyuy);
-			//dzzuz /= one + limD2*abs(dzzuz);
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-
-			////////////////////////////////////////////////////////////////////////////
-			real Dxy = -c3o1*omega*mfbba;
-			real Dxz = -c3o1*omega*mfbab;
-			real Dyz = -c3o1*omega*mfabb;
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-
-			real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			real dyuy = dxux + omega * c3o2 * mxxMyy;
-			real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//////////////////////////////////////////////////////////////////////////////
-			//real divTest = (mxxPyyPzz - (mfaaa + (-c3o1 * (c1o1 - OxxPyyPzz*c1o2)*(vx2*dxux + vy2*dyuy + vz2*dzuz) + (c6o1 - c3o1 * (omega + OxxPyyPzz) + omega*OxxPyyPzz) /
-				//(c3o1 * omega)*(dxux*dxux / rho + dyuy*dyuy / rho + dzuz*dzuz / rho + vvx*dxxux + vvy*dyyuy + vvz*dzzuz)) / OxxPyyPzz)) / OxxPyyPzz;
-
-			//dxxux *= limAdvect / (limAdvect + sqrt(abs(divTest)));
-			//dyyuy *= limAdvect / (limAdvect + sqrt(abs(divTest)));
-			//dzzuz *= limAdvect / (limAdvect + sqrt(abs(divTest)));
-
-			//dxxux *= exp(-sqrt(fabs(divTest))/limAdvect);
-			//dyyuy *= exp(-sqrt(fabs(divTest)) / limAdvect);
-			//dzzuz *= exp(-sqrt(fabs(divTest)) / limAdvect);
-
-			////////////////////////////////////////////////////////////////////////////
-			//relax
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-			//mxxMzz += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)
-				+ (c6o1 - c3o1 * (omega + OxxPyyPzz) + omega * OxxPyyPzz) / (c3o1 * omega) * ((dxux * dxux + dyuy * dyuy + dzuz * dzuz) / rho + vvx * dxxux + vvy * dyyuy + vvz * dzzuz);
-			mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy)
-				+ omega * (c2o1*(c1o1 / omega - c1o2) * (c1o1 / omega - c1o2) - c1o6) * ((dxux * dxux - dyuy * dyuy) / rho + vvx * dxxux - vvy * dyyuy);
-			mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz)
-				+ omega * (c2o1*(c1o1 / omega - c1o2) * (c1o1 / omega - c1o2) - c1o6) * ((dxux * dxux - dzuz * dzuz) / rho + vvx * dxxux - vvz * dzzuz);
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
-			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
-			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
-			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//CUMacc += O4 * (-CUMacc);
-			//CUMcac += O4 * (-CUMcac);
-			//CUMcca += O4 * (-CUMcca);
-			//CUMbbc += O4 * (-CUMbbc);
-			//CUMbcb += O4 * (-CUMbcb);
-			//CUMcbb += O4 * (-CUMcbb);
-			//CUMacc = -O4*(one / omega - c1o2)*(dyuy + dzuz)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMacc);
-			//CUMcac = -O4*(one / omega - c1o2)*(dxux + dzuz)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMcac);
-			//CUMcca = -O4*(one / omega - c1o2)*(dyuy + dxux)*c2o3 *(four + two*omega - three*omega*omega) / (two - seven*omega + five*omega*omega) + (one - O4) * (CUMcca);
-			//CUMbbc = -O4*(one / omega - c1o2)*Dxy*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMbbc);
-			//CUMbcb = -O4*(one / omega - c1o2)*Dxz*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMbcb);
-			//CUMcbb = -O4*(one / omega - c1o2)*Dyz*c1o3 *(four + twentyeight*omega - fourteen*omega*omega) / (six - twentyone*omega + fiveteen*omega*omega) + (one - O4) * (CUMcbb);
-			CUMacc = -O4 * (c1o1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMacc);
-			CUMcac = -O4 * (c1o1 / omega - c1o2) * (dxux + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMcac);
-			CUMcca = -O4 * (c1o1 / omega - c1o2) * (dyuy + dxux) * c2o3 * factorA + (c1o1 - O4) * (CUMcca);
-			CUMbbc = -O4 * (c1o1 / omega - c1o2) * Dxy           * c1o3 * factorB + (c1o1 - O4) * (CUMbbc);
-			CUMbcb = -O4 * (c1o1 / omega - c1o2) * Dxz           * c1o3 * factorB + (c1o1 - O4) * (CUMbcb);
-			CUMcbb = -O4 * (c1o1 / omega - c1o2) * Dyz           * c1o3 * factorB + (c1o1 - O4) * (CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)*(c1o1 + rho*c6o1*factorB / (c2o1 + c3o1 * factorB))) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)*(c1o1 + rho*c6o1*factorB / (c2o1 + c3o1 * factorB))) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)*(c1o1 + rho*c6o1*factorB / (c2o1 + c3o1 * factorB))) / rho;
-
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device.cuh
deleted file mode 100644
index df7f6a09676740503aaed1f4b16b0b8db96624c8..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device.cuh
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device_H
-#define K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants_Device(	
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	int level,
-	real* forces,
-    real* quadricLimiters,
-	bool EvenOrOdd);
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale.cu
deleted file mode 100644
index 58de3b738d5dfba9f3a4ef7a83f239f9976d1ee9..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale.cu
+++ /dev/null
@@ -1,68 +0,0 @@
-#include "K17CompressibleNavierStokesWale.h"
-
-#include "K17CompressibleNavierStokesWale_Device.cuh"
-#include "Parameter/Parameter.h"
-
-std::shared_ptr<K17CompressibleNavierStokesWale> K17CompressibleNavierStokesWale::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K17CompressibleNavierStokesWale>(new K17CompressibleNavierStokesWale(para, level));
-}
-
-void K17CompressibleNavierStokesWale::run()
-{
-	int size_Mat = (int)para->getParD(level)->numberOfNodes;
-	int numberOfThreads = para->getParD(level)->numberofthreads;
-
-	//int Grid = size_Array / numberOfThreads;
-	//dim3 grid(Grid, 1, 1);
-	//dim3 threads(numberOfThreads, 1, 1 );
-
-	int Grid = (size_Mat / numberOfThreads) + 1;
-	int Grid1, Grid2;
-	if (Grid > 512)
-	{
-		Grid1 = 512;
-		Grid2 = (Grid / Grid1) + 1;
-	}
-	else
-	{
-		Grid1 = 1;
-		Grid2 = Grid;
-	}
-	dim3 grid(Grid1, Grid2, 1);
-	dim3 threads(numberOfThreads, 1, 1);
-
-	K17CompressibleNavierStokesWale_Device <<< grid, threads >>>(
-		para->getParD(level)->omega,
-		para->getParD(level)->typeOfGridNode,
-		para->getParD(level)->neighborX,
-		para->getParD(level)->neighborY,
-		para->getParD(level)->neighborZ,
-		para->getParD(level)->neighborInverse,
-		para->getParD(level)->velocityX,
-		para->getParD(level)->velocityY,
-		para->getParD(level)->velocityZ,
-		para->getParD(level)->distributions.f[0],
-		para->getParD(level)->turbViscosity,
-		para->getParD(level)->numberOfNodes,
-		level,
-		para->getTimestepOfCoarseLevel(),
-		para->getForcesDev(),
-        para->getQuadricLimitersDev(),
-		para->getParD(level)->isEvenTimestep);
-	getLastCudaError("K17CompressibleNavierStokesWale_Device execution failed");
-}
-
-K17CompressibleNavierStokesWale::K17CompressibleNavierStokesWale(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
-
-K17CompressibleNavierStokesWale::K17CompressibleNavierStokesWale()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale.h
deleted file mode 100644
index 2aa010e83c52392a8326b22ac658774d51cf7a42..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K17CompressibleNavierStokesWale_H
-#define K17CompressibleNavierStokesWale_H
-
-#include "Kernel/KernelImp.h"
-
-class K17CompressibleNavierStokesWale : public KernelImp
-{
-public:
-	static std::shared_ptr<K17CompressibleNavierStokesWale> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K17CompressibleNavierStokesWale();
-	K17CompressibleNavierStokesWale(std::shared_ptr< Parameter> para, int level);
-
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale_Device.cu
deleted file mode 100644
index c51f047aeb4de412d4001e8dee8337c072dea743..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale_Device.cu
+++ /dev/null
@@ -1,1175 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K17CompressibleNavierStokesWale_Device(
-	real omega_in,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DDStart,
-	real* turbulentViscosity,
-	int size_Mat,
-	int level,
-	unsigned int timestep, 
-	real* forces,
-	real* quadricLimiters,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if(k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if( BC == GEO_FLUID /*(BC != GEO_SOLID) && (BC != GEO_VOID)*/ )
-		{
-			Distributions27 D;
-			if (EvenOrOdd==true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb   = neighborZ[k];
-			unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k  ];
-			real mfabb = (D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k  ];
-			real mfbab = (D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k  ];
-			real mfbba = (D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k  ];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks ];
-			real mfacb = (D.f[dMP0])[kw ];
-			real mfcbc = (D.f[dP0P])[k  ];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb ];
-			real mfabc = (D.f[dM0P])[kw ];
-			real mfbcc = (D.f[d0PP])[k  ];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb ];
-			real mfbac = (D.f[d0MP])[ks ];
-			real mfbbb = (D.f[d000])[k  ];
-			real mfccc = (D.f[dPPP])[k  ];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks ];
-			real mfacc = (D.f[dMPP])[kw ];
-			real mfcca = (D.f[dPPM])[kb ];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-							(((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-							((mfabb+mfcbb) + (mfbab+mfbcb) + (mfbba+mfbbc))) + mfbbb;
-
-			real rho = c1o1+drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			real vvx    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + 
-						     (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) +
-						       (mfcbb-mfabb)) / rho;
-			real vvy    =((((mfccc-mfaaa) + (mfaca-mfcac)) + ((mfacc-mfcaa) + (mfcca-mfaac))) + 
-				             (((mfbca-mfbac) + (mfbcc-mfbaa)) + ((mfacb-mfcab) + (mfccb-mfaab))) +
-				               (mfbcb-mfbab)) / rho;
-			real vvz    =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfacc-mfcaa) + (mfaac-mfcca))) + 
-				             (((mfbac-mfbca) + (mfbcc-mfbaa)) + ((mfabc-mfcba) + (mfcbc-mfaba))) +
-				               (mfbbc-mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real nuTurb = c0o1;
-			{
-				/////////////      Wale Model     ///////////////
-				//neighbor index
-				unsigned int kPx = neighborX[k];
-				unsigned int kPy = neighborY[k];
-				unsigned int kPz = neighborZ[k];
-				unsigned int kMxyz = neighborWSB[k];
-				unsigned int kMx = neighborZ[neighborY[kMxyz]];
-				unsigned int kMy = neighborZ[neighborX[kMxyz]];
-				unsigned int kMz = neighborY[neighborX[kMxyz]];
-				//getVeloX//
-				real veloXNeighborPx = veloX[kPx];
-				real veloXNeighborMx = veloX[kMx];
-				real veloXNeighborPy = veloX[kPy];
-				real veloXNeighborMy = veloX[kMy];
-				real veloXNeighborPz = veloX[kPz];
-				real veloXNeighborMz = veloX[kMz];
-				//getVeloY//
-				real veloYNeighborPx = veloY[kPx];
-				real veloYNeighborMx = veloY[kMx];
-				real veloYNeighborPy = veloY[kPy];
-				real veloYNeighborMy = veloY[kMy];
-				real veloYNeighborPz = veloY[kPz];
-				real veloYNeighborMz = veloY[kMz];
-				//getVeloZ//
-				real veloZNeighborPx = veloZ[kPx];
-				real veloZNeighborMx = veloZ[kMx];
-				real veloZNeighborPy = veloZ[kPy];
-				real veloZNeighborMy = veloZ[kMy];
-				real veloZNeighborPz = veloZ[kPz];
-				real veloZNeighborMz = veloZ[kMz];
-				//getVeloLocal//
-				real veloLocalX = veloX[k];
-				real veloLocalY = veloY[k];
-				real veloLocalZ = veloZ[k];
-
-				//////////////////////////////////////////////////////////////////////////////
-				real dxvx = c0o1;
-				real dyvx = c0o1;
-				real dzvx = c0o1;
-				real dxvy = c0o1;
-				real dyvy = c0o1;
-				real dzvy = c0o1;
-				real dxvz = c0o1;
-				real dyvz = c0o1;
-				real dzvz = c0o1;
-				real SumSd = c0o1;
-				real SumS = c0o1;
-				//////////////////////////////////////////////////////////////////////////////
-				//no central differences at the boundary nodes
-				//Dx
-				if (bcMatD[kPx] != GEO_FLUID)
-				{
-					dxvx = (veloLocalX - veloXNeighborMx);
-					dxvy = (veloLocalY - veloYNeighborMx);
-					dxvz = (veloLocalZ - veloZNeighborMx);
-				}
-				else if (bcMatD[kMx] != GEO_FLUID)
-				{
-					dxvx = (veloXNeighborPx - veloLocalX);
-					dxvy = (veloYNeighborPx - veloLocalY);
-					dxvz = (veloZNeighborPx - veloLocalZ);
-				}
-				else
-				{
-					dxvx = (veloXNeighborPx - veloXNeighborMx) / c2o1;
-					dxvy = (veloYNeighborPx - veloYNeighborMx) / c2o1;
-					dxvz = (veloZNeighborPx - veloZNeighborMx) / c2o1;
-				}
-				//Dy
-				if (bcMatD[kPy] != GEO_FLUID)
-				{
-					dyvx = (veloLocalX - veloXNeighborMy);
-					dyvy = (veloLocalY - veloYNeighborMy);
-					dyvz = (veloLocalZ - veloZNeighborMy);
-				}
-				else if (bcMatD[kMy] != GEO_FLUID)
-				{
-					dyvx = (veloXNeighborPy - veloLocalX);
-					dyvy = (veloYNeighborPy - veloLocalY);
-					dyvz = (veloZNeighborPy - veloLocalZ);
-				}
-				else
-				{
-					dyvx = (veloXNeighborPy - veloXNeighborMy) / c2o1;
-					dyvy = (veloYNeighborPy - veloYNeighborMy) / c2o1;
-					dyvz = (veloZNeighborPy - veloZNeighborMy) / c2o1;
-				}
-				//Dz
-				if (bcMatD[kPz] != GEO_FLUID)
-				{
-					dzvx = (veloLocalX - veloXNeighborMz);
-					dzvy = (veloLocalY - veloYNeighborMz);
-					dzvz = (veloLocalZ - veloZNeighborMz);
-				}
-				else if (bcMatD[kMz] != GEO_FLUID)
-				{
-					dzvx = (veloXNeighborPz - veloLocalX);
-					dzvy = (veloYNeighborPz - veloLocalY);
-					dzvz = (veloZNeighborPz - veloLocalZ);
-				}
-				else
-				{
-					dzvx = (veloXNeighborPz - veloXNeighborMz) / c2o1;
-					dzvy = (veloYNeighborPz - veloYNeighborMz) / c2o1;
-					dzvz = (veloZNeighborPz - veloZNeighborMz) / c2o1;
-				}
-				//////////////////////////////////////////////////////////////////////////////
-				////partial Div vx in x, y, z//
-				//dxvx = (veloXNeighborPx - veloXNeighborMx) / two; //deltaX * two??
-				//dyvx = (veloXNeighborPy - veloXNeighborMy) / two; //deltaX * two??
-				//dzvx = (veloXNeighborPz - veloXNeighborMz) / two; //deltaX * two??
-				//												  //partial Div vy in x, y, z//
-				//dxvy = (veloYNeighborPx - veloYNeighborMx) / two; //deltaX * two??
-				//dyvy = (veloYNeighborPy - veloYNeighborMy) / two; //deltaX * two??
-				//dzvy = (veloYNeighborPz - veloYNeighborMz) / two; //deltaX * two??
-				//												  //partial Div vz in x, y, z//
-				//dxvz = (veloZNeighborPx - veloZNeighborMx) / two; //deltaX * two??
-				//dyvz = (veloZNeighborPy - veloZNeighborMy) / two; //deltaX * two??
-				//dzvz = (veloZNeighborPz - veloZNeighborMz) / two; //deltaX * two??
-
-				real g11, g12, g13, g21, g22, g23, g31, g32, g33;
-				real g11sq, g12sq, g13sq, g21sq, g22sq, g23sq, g31sq, g32sq, g33sq;
-
-				g11 = dxvx;
-				g12 = dyvx;
-				g13 = dzvx;
-				g21 = dxvy;
-				g22 = dyvy;
-				g23 = dzvy;
-				g31 = dxvz;
-				g32 = dyvz;
-				g33 = dzvz;
-
-				g11sq = g11 * g11 + g12 * g21 + g13 * g31;
-				g12sq = g11 * g12 + g12 * g22 + g13 * g32;
-				g13sq = g11 * g13 + g12 * g23 + g13 * g33;
-				g21sq = g21 * g11 + g22 * g21 + g23 * g31;
-				g22sq = g21 * g12 + g22 * g22 + g23 * g32;
-				g23sq = g21 * g13 + g22 * g23 + g23 * g33;
-				g31sq = g31 * g11 + g32 * g21 + g33 * g31;
-				g32sq = g31 * g12 + g32 * g22 + g33 * g32;
-				g33sq = g31 * g13 * g32 * g23 + g33 * g33;
-
-				real gkk = g11sq + g22sq + g33sq;
-
-				real Sd11 = c1o2 * (g11sq + g11sq) - c1o3 * gkk;
-				real Sd12 = c1o2 * (g12sq + g21sq);
-				real Sd13 = c1o2 * (g13sq + g31sq);
-				real Sd21 = c1o2 * (g21sq + g12sq); // ==Sd12
-				real Sd22 = c1o2 * (g22sq + g22sq) - c1o3 * gkk;
-				real Sd23 = c1o2 * (g23sq + g32sq);
-				real Sd31 = c1o2 * (g31sq + g13sq); // ==Sd13
-				real Sd32 = c1o2 * (g32sq + g23sq); // ==Sd23
-				real Sd33 = c1o2 * (g33sq + g33sq) - c1o3 * gkk;
-
-				SumSd = Sd11*Sd11 + Sd12*Sd12 + Sd13*Sd13 + Sd21*Sd21 + Sd22*Sd22 + Sd23*Sd23 + Sd31*Sd31 + Sd32*Sd32 + Sd33*Sd33;
-
-
-
-				//real SumSd =
-				//	c1o2 * powf(dzvx, four) +
-				//	c1o2 * powf(dzvy, four) +
-				//	c2o3 * powf(dzvz, four) +
-				//	c2o3 * powf(dyvy, four) +
-				//	c1o2 * powf(dyvz, four) +
-				//	c2o3 * powf(dxvx, four) +
-				//	c1o2 * powf(dxvy, four) +
-				//	c1o2 * powf(dxvz, four) +
-				//	c1o2 * powf(dyvx, four) +
-				//	powf(dyvx, two) * powf(dxvy, two) +
-				//	powf(dzvx, two) * powf(dxvz, two) +
-				//	powf(dzvy, two) * powf(dyvz, two) -
-				//	c2o3 * powf(dzvz, two) * powf(dyvy, two) -
-				//	c2o3 * powf(dzvz, two) * powf(dxvx, two) -
-				//	c2o3 * powf(dyvy, two) * powf(dxvx, two);   //powf
-				//real SumSd =
-				//	((c1o2 * (((dzvx*dzvx)*(dzvx*dzvx)) + 
-				//		((dzvy*dzvy)*(dzvy*dzvy)) + 
-				//		((dyvz*dyvz)*(dyvz*dyvz)) + 
-				//		((dyvx*dyvx)*(dyvx*dyvx)) + 
-				//		((dxvy*dxvy)*(dxvy*dxvy)) + 
-				//		((dxvz*dxvz)*(dxvz*dxvz)))) +
-				//	(c2o3 * (((dxvx*dxvx)*(dxvx*dxvx)) + 
-				//		((dyvy*dyvy)*(dyvy*dyvy)) + 
-				//		((dzvz*dzvz)*(dzvz*dzvz)))) +
-				//	((dyvx * dyvx) * (dxvy * dxvy)) +
-				//	((dzvx * dzvx) * (dxvz * dxvz)) +
-				//	((dzvy * dzvy) * (dyvz * dyvz))) -
-				//	(c2o3 * ((dzvz * dzvz) * (dyvy * dyvy)) + 
-				//		((dzvz * dzvz) * (dxvx * dxvx)) + 
-				//		((dyvy * dyvy) * (dxvx * dxvx)));   //explicit
-				//real SumSd =
-				//	c1o2 * pow(dzvx, four) +
-				//	c1o2 * pow(dzvy, four) +
-				//	c2o3 * pow(dzvz, four) +
-				//	c2o3 * pow(dyvy, four) +
-				//	c1o2 * pow(dyvz, four) +
-				//	c2o3 * pow(dxvx, four) +
-				//	c1o2 * pow(dxvy, four) +
-				//	c1o2 * pow(dxvz, four) +
-				//	c1o2 * pow(dyvx, four) +
-				//	pow(dyvx, two) * pow(dxvy, two) +
-				//	pow(dzvx, two) * pow(dxvz, two) +
-				//	pow(dzvy, two) * pow(dyvz, two) -
-				//	c2o3 * pow(dzvz, two) * pow(dyvy, two) -
-				//	c2o3 * pow(dzvz, two) * pow(dxvx, two) -
-				//	c2o3 * pow(dyvy, two) * pow(dxvx, two);    //pow
-				//SumS
-				//real SumS =
-				//	powf(dxvx, two) +
-				//	powf(dyvy, two) +
-				//	powf(dzvz, two) +
-				//	c1o2 * powf(dyvx + dxvy, two) +
-				//	c1o2 * powf(dzvx + dxvz, two) +
-				//	c1o2 * powf(dyvz + dzvy, two);   //powf
-				SumS =
-					((dxvx * dxvx) +
-					(dyvy * dyvy) +
-						(dzvz * dzvz)) +
-						(c1o2 * (((dyvx + dxvy) * (dyvx + dxvy)) +
-					((dzvx + dxvz) * (dzvx + dxvz)) +
-							((dyvz + dzvy) * (dyvz + dzvy))));   //explicit
-																 //real SumS =
-																 //	pow(dxvx, two) +
-																 //	pow(dyvy, two) +
-																 //	pow(dzvz, two) +
-																 //	c1o2 * pow(dyvx + dxvy, two) +
-																 //	c1o2 * pow(dzvx + dxvz, two) +
-																 //	c1o2 * pow(dyvz + dzvy, two);   //pow
-																 //nu turbulent
-				real coefficient = 0.5; //0.325; //
-				real delta = coefficient * c1o1;
-				/////////////////////////////////
-				//real SumSsq = SumS * SumS;
-				//real SumSDsq = SumSd * SumSd;
-				real SumSsq = SumS;
-				real SumSDsq = SumSd;
-				//nuTurb = powf(delta, two) * powf(SumSDsq, c3o2) / (powf(SumSsq, c5o2) + powf(SumSDsq, c5o4) + cSmallSingle); //powf
-				//nuTurb = pow(delta, two) * pow(SumSDsq, c3o2) / (pow(SumSsq, c5o2) + pow(SumSDsq, c5o4) + cSmallSingle);     //pow
-				//nuTurb = (delta * delta) * (real)pow((double)SumSDsq, 1.5) / ((real)pow((double)SumSsq, 2.5) + (real)pow((double)SumSDsq, 1.25) + cSmallSingle); //SMversion//
-				nuTurb = (delta * delta) * (real)pow((double)SumSDsq, 0.25) /
-					((real)pow(((double)pow((double)SumSsq, 0.5) / ((real)pow((double)SumSDsq, 0.25) + c10eM10)), 5.0) + c1o1); //SMversion2//
-																																	  /////////////////////////////////
-																																	  //nuTurb = rho * powf(delta, two) * powf(SumSd*SumSd, c3o2) / (powf(SumS*SumS, c5o2) + powf(SumSd*SumSd, c5o4));
-																																	  //nuTurb = powf(delta, two) * powf(SumSd*SumSd, c3o2) / (powf(SumS*SumS, c5o2) + powf(SumSd*SumSd, c5o4));
-			}
-			//Test debug
-			//if (nuTurb > c1o100) nuTurb = c1o100;
-			//if (nuTurb < -c1o100) nuTurb = -c1o100;
-			//nuTurb = c1o100;
-			turbulentViscosity[k] = nuTurb;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			{
-				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-				vvx += fx*c1o2;
-				vvy += fy*c1o2;
-				vvz += fz*c1o2;
-			}
-			////////////////////////////////////////////////////////////////////////////////////
-			real omega = omega_in;
-			if (timestep >= 500000)
-			{
-				real nuOld = c1o3 * (c1o1 / omega_in - c1o2);
-				omega = c1o1 / (c3o1 * (nuOld + nuTurb) + c1o2);
-			}
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-			real m0, m1, m2;	
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2=vvx*vvx;
-			vy2=vvy*vvy;
-			vz2=vvz*vvz;
-			//////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = 0.01f;// * 0.0001f;
-			real qudricLimitM = 0.01f;// * 0.0001f;
-			real qudricLimitD = 0.01f;// * 0.001f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2    = mfaaa	+ mfaac;
-			m1    = mfaac	- mfaaa;
-			m0    = m2		+ mfaab;
-			mfaaa = m0;
-			m0   += c1o36 * oMdrho;	
-			mfaab = m1 -		m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfabc;
-			m1    = mfabc  - mfaba;
-			m0    = m2		+ mfabb;
-			mfaba = m0;
-			m0   += c1o9 * oMdrho;
-			mfabb = m1 -		m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfacc;
-			m1    = mfacc  - mfaca;
-			m0    = m2		+ mfacb;
-			mfaca = m0;
-			m0   += c1o36 * oMdrho;
-			mfacb = m1 -		m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbac;
-			m1    = mfbac	- mfbaa;
-			m0    = m2		+ mfbab;
-			mfbaa = m0;
-			m0   += c1o9 * oMdrho;
-			mfbab = m1 -		m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbba  + mfbbc;
-			m1    = mfbbc  - mfbba;
-			m0    = m2		+ mfbbb;
-			mfbba = m0;
-			m0   += c4o9 * oMdrho;
-			mfbbb = m1 -		m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbca  + mfbcc;
-			m1    = mfbcc  - mfbca;
-			m0    = m2		+ mfbcb;
-			mfbca = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcb = m1 -		m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcac;
-			m1    = mfcac	- mfcaa;
-			m0    = m2		+ mfcab;
-			mfcaa = m0;
-			m0   += c1o36 * oMdrho;
-			mfcab = m1 -		m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcba  + mfcbc;
-			m1    = mfcbc  - mfcba;
-			m0    = m2		+ mfcbb;
-			mfcba = m0;
-			m0   += c1o9 * oMdrho;
-			mfcbb = m1 -		m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcca  + mfccc;
-			m1    = mfccc  - mfcca;
-			m0    = m2		+ mfccb;
-			mfcca = m0;
-			m0   += c1o36 * oMdrho;
-			mfccb = m1 -		m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2    = mfaaa	+ mfaca;
-			m1    = mfaca	- mfaaa;
-			m0    = m2		+ mfaba;
-			mfaaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfaba = m1 -		m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab  + mfacb;
-			m1    = mfacb  - mfaab;
-			m0    = m2		+ mfabb;
-			mfaab = m0;
-			mfabb = m1 -		m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac  + mfacc;
-			m1    = mfacc  - mfaac;
-			m0    = m2		+ mfabc;
-			mfaac = m0;
-			m0   += c1o18 * oMdrho;
-			mfabc = m1 -		m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbaa	+ mfbca;
-			m1    = mfbca	- mfbaa;
-			m0    = m2		+ mfbba;
-			mfbaa = m0;
-			m0   += c2o3 * oMdrho;
-			mfbba = m1 -		m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbab  + mfbcb;
-			m1    = mfbcb  - mfbab;
-			m0    = m2		+ mfbbb;
-			mfbab = m0;
-			mfbbb = m1 -		m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfbac  + mfbcc;
-			m1    = mfbcc  - mfbac;
-			m0    = m2		+ mfbbc;
-			mfbac = m0;
-			m0   += c2o9 * oMdrho;
-			mfbbc = m1 -		m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcaa	+ mfcca;
-			m1    = mfcca	- mfcaa;
-			m0    = m2		+ mfcba;
-			mfcaa = m0;
-			m0   += c1o6 * oMdrho;
-			mfcba = m1 -		m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcab  + mfccb;
-			m1    = mfccb  - mfcab;
-			m0    = m2		+ mfcbb;
-			mfcab = m0;
-			mfcbb = m1 -		m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfcac  + mfccc;
-			m1    = mfccc  - mfcac;
-			m0    = m2		+ mfcbc;
-			mfcac = m0;
-			m0   += c1o18 * oMdrho;
-			mfcbc = m1 -		m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2    = mfaaa	+ mfcaa;
-			m1    = mfcaa	- mfaaa;
-			m0    = m2		+ mfbaa;
-			mfaaa = m0;
-			m0   += c1o1* oMdrho;
-			mfbaa = m1 -		m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaba  + mfcba;
-			m1    = mfcba  - mfaba;
-			m0    = m2		+ mfbba;
-			mfaba = m0;
-			mfbba = m1 -		m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaca  + mfcca;
-			m1    = mfcca  - mfaca;
-			m0    = m2		+ mfbca;
-			mfaca = m0;
-			m0   += c1o3 * oMdrho;
-			mfbca = m1 -		m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaab	+ mfcab;
-			m1    = mfcab	- mfaab;
-			m0    = m2		+ mfbab;
-			mfaab = m0;
-			mfbab = m1 -		m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabb  + mfcbb;
-			m1    = mfcbb  - mfabb;
-			m0    = m2		+ mfbbb;
-			mfabb = m0;
-			mfbbb = m1 -		m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacb  + mfccb;
-			m1    = mfccb  - mfacb;
-			m0    = m2		+ mfbcb;
-			mfacb = m0;
-			mfbcb = m1 -		m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfaac	+ mfcac;
-			m1    = mfcac	- mfaac;
-			m0    = m2		+ mfbac;
-			mfaac = m0;
-			m0   += c1o3 * oMdrho;
-			mfbac = m1 -		m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfabc  + mfcbc;
-			m1    = mfcbc  - mfabc;
-			m0    = m2		+ mfbbc;
-			mfabc = m0;
-			mfbbc = m1 -		m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2    = mfacc  + mfccc;
-			m1    = mfccc  - mfacc;
-			m0    = m2		+ mfbcc;
-			mfacc = m0;
-			m0   += c1o9 * oMdrho;
-			mfbcc = m1 -		m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-
-			////////////////////////////////////////////////////////////
-			//3.
-			//////////////////////////////
-			real OxyyPxzz  = c8o1*(-c2o1+omega)*(c1o1+c2o1*omega)/(-c8o1-c14o1*omega+c7o1*omega*omega);//one;
-			real OxyyMxzz  = c8o1*(-c2o1+omega)*(-c7o1+c4o1*omega)/(c56o1-c50o1*omega+c9o1*omega*omega);//one;
-			real Oxyz      = c24o1*(-c2o1+omega)*(-c2o1-c7o1*omega+c3o1*omega*omega)/(c48o1+c152o1*omega-c130o1*omega*omega+c29o1*omega*omega*omega);//one;
-			////////////////////////////////////////////////////////////
-			//4.
-			//////////////////////////////
-			real O4        = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5        = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6        = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-				  	 		
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
-			
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3 * (mfacc + mfcac + mfcca) /rho 
-							-    c1o9 * (mfcaa + mfaca + mfaac) /rho 
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
-							+ c1o27*((drho * drho - drho)/(rho*rho)));
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy    = mfcaa - mfaca;
-			real mxxMzz	   = mfcaa - mfaac;
-			
-			////////////////////////////////////////////////////////////////////////////
-            real Dxy =-c3o1*omega*mfbba;
-            real Dxz =-c3o1*omega*mfbab;
-            real Dyz =-c3o1*omega*mfabb;
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
- 			
- 				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
- 				real dyuy = dxux + omega * c3o2 * mxxMyy;
- 				real dzuz = dxux + omega * c3o2 * mxxMzz;
- 
- 				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
- 				mxxMyy    += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
- 				mxxMzz    += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
- 
- 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- 			////no correction
- 			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
- 			//mxxMyy    += -(-omega) * (-mxxMyy);
- 			//mxxMzz    += -(-omega) * (-mxxMzz);
- 			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb     += omega * (-mfabb);
-			mfbab     += omega * (-mfbab);
-			mfbba     += omega * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (       mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
- 			wadjust    = Oxyz+(c1o1-Oxyz)*abs(mfbbb)/(abs(mfbbb)+qudricLimitD);
- 			mfbbb     += wadjust * (-mfbbb);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimitP);
- 			mxxyPyzz  += wadjust * (-mxxyPyzz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimitM);
- 			mxxyMyzz  += wadjust * (-mxxyMyzz);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimitP);
- 			mxxzPyyz  += wadjust * (-mxxzPyyz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimitM);
- 			mxxzMyyz  += wadjust * (-mxxzMyyz);
- 			wadjust    = OxyyPxzz+(c1o1-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimitP);
- 			mxyyPxzz  += wadjust * (-mxyyPxzz);
- 			wadjust    = OxyyMxzz+(c1o1-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimitM);
- 			mxyyMxzz  += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
- 		//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
- 		//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
- 		//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
- 		//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
- 		//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
- 		//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			real factorA = (c4o1 + c2o1*omega - c3o1*omega*omega) / (c2o1 - c7o1*omega + c5o1*omega*omega);
-			real factorB = (c4o1 + c28o1*omega - c14o1*omega*omega) / (c6o1 - c21o1*omega + c15o1*omega*omega);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//CUMacc += O4 * (-CUMacc); 
-			//CUMcac += O4 * (-CUMcac); 
-			//CUMcca += O4 * (-CUMcca); 
-			//CUMbbc += O4 * (-CUMbbc); 
-			//CUMbcb += O4 * (-CUMbcb); 
-			//CUMcbb += O4 * (-CUMcbb); 
-			CUMacc = -O4*(c1o1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMacc);
-			CUMcac = -O4*(c1o1 / omega - c1o2) * (dxux + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMcac);
-			CUMcca = -O4*(c1o1 / omega - c1o2) * (dyuy + dxux) * c2o3 * factorA + (c1o1 - O4) * (CUMcca);
-			CUMbbc = -O4*(c1o1 / omega - c1o2) * Dxy           * c1o3 * factorB + (c1o1 - O4) * (CUMbbc);
-			CUMbcb = -O4*(c1o1 / omega - c1o2) * Dxz           * c1o3 * factorB + (c1o1 - O4) * (CUMbcb);
-			CUMcbb = -O4*(c1o1 / omega - c1o2) * Dyz           * c1o3 * factorB + (c1o1 - O4) * (CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-			
-					
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-			
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-						   
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho  - c1o9*(drho/rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho  - c1o9*(drho/rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho  - c1o9*(drho/rho));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) ) / rho ;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) ) / rho ;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) ) / rho ;
-			
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb  
-							-           (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-							-    c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-							-     c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-							+(   c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-							+     c2o1 * (mfcaa * mfaca * mfaac)
-							+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-							-    c1o3 * (mfacc + mfcac + mfcca) /rho 
-							-    c1o9 * (mfcaa + mfaca + mfaac) /rho 
-							+(    c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) 
-							+           (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 
-							+ c1o27*((drho * drho - drho)/(rho*rho)));
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 =  mfaac * c1o2 +      mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfaac        - c2o1* mfaab *  vvz         +  mfaaa                * (c1o1- vz2)              - c1o1* oMdrho * vz2; 
-			m2 =  mfaac * c1o2 +      mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfabc * c1o2 +      mfabb * (vvz - c1o2) + mfaba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfabc        - c2o1* mfabb *  vvz         + mfaba * (c1o1- vz2); 
-			m2 =  mfabc * c1o2 +      mfabb * (vvz + c1o2) + mfaba * (     vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfacc        - c2o1* mfacb *  vvz         +  mfaca                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfacc * c1o2 +      mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbac * c1o2 +      mfbab * (vvz - c1o2) + mfbaa * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbac        - c2o1* mfbab *  vvz         + mfbaa * (c1o1- vz2); 
-			m2 =  mfbac * c1o2 +      mfbab * (vvz + c1o2) + mfbaa * (     vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbbc * c1o2 +      mfbbb * (vvz - c1o2) + mfbba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbbc        - c2o1* mfbbb *  vvz         + mfbba * (c1o1- vz2); 
-			m2 =  mfbbc * c1o2 +      mfbbb * (vvz + c1o2) + mfbba * (     vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbcb * (vvz - c1o2) + mfbca * (     vz2 - vvz) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbcb *  vvz         + mfbca * (c1o1- vz2); 
-			m2 =  mfbcc * c1o2 +      mfbcb * (vvz + c1o2) + mfbca * (     vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcac        - c2o1* mfcab *  vvz         +  mfcaa                  * (c1o1- vz2)              - c1o3 * oMdrho * vz2; 
-			m2 =  mfcac * c1o2 +      mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfcbb * (vvz - c1o2) + mfcba * (     vz2 - vvz) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfcbb *  vvz         + mfcba * (c1o1- vz2); 
-			m2 =  mfcbc * c1o2 +      mfcbb * (vvz + c1o2) + mfcba * (     vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 - vvz) * c1o2; 
-			m1 = -mfccc        - c2o1* mfccb *  vvz         +  mfcca                  * (c1o1- vz2)              - c1o9 * oMdrho * vz2; 
-			m2 =  mfccc * c1o2 +      mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (     vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 =  mfaca * c1o2 +      mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfaca        - c2o1* mfaba *  vvy         +  mfaaa                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfaca * c1o2 +      mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacb * c1o2 +      mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacb        - c2o1* mfabb *  vvy         +  mfaab                  * (c1o1- vy2)              - c2o3 * oMdrho * vy2; 
-			m2 =  mfacb * c1o2 +      mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfacc * c1o2 +      mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfacc        - c2o1* mfabc *  vvy         +  mfaac                  * (c1o1- vy2)              - c1o6 * oMdrho * vy2; 
-			m2 =  mfacc * c1o2 +      mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfbca * c1o2 +      mfbba * (vvy - c1o2) + mfbaa * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbca        - c2o1* mfbba *  vvy         + mfbaa * (c1o1- vy2); 
-			m2 =  mfbca * c1o2 +      mfbba * (vvy + c1o2) + mfbaa * (     vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcb * c1o2 +      mfbbb * (vvy - c1o2) + mfbab * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcb        - c2o1* mfbbb *  vvy         + mfbab * (c1o1- vy2); 
-			m2 =  mfbcb * c1o2 +      mfbbb * (vvy + c1o2) + mfbab * (     vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 =  mfbcc * c1o2 +      mfbbc * (vvy - c1o2) + mfbac * (     vy2 - vvy) * c1o2; 
-			m1 = -mfbcc        - c2o1* mfbbc *  vvy         + mfbac * (c1o1- vy2); 
-			m2 =  mfbcc * c1o2 +      mfbbc * (vvy + c1o2) + mfbac * (     vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfcca        - c2o1* mfcba *  vvy         +  mfcaa                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfcca * c1o2 +      mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccb        - c2o1* mfcbb *  vvy         +  mfcab                  * (c1o1- vy2)              - c2o9 * oMdrho * vy2; 
-			m2 =  mfccb * c1o2 +      mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 - vvy) * c1o2; 
-			m1 = -mfccc        - c2o1* mfcbc *  vvy         +  mfcac                   * (c1o1- vy2)              - c1o18 * oMdrho * vy2; 
-			m2 =  mfccc * c1o2 +      mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (     vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 =  mfcaa * c1o2 +      mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcaa        - c2o1* mfbaa *  vvx         +  mfaaa                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcaa * c1o2 +      mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcba * c1o2 +      mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcba        - c2o1* mfbba *  vvx         +  mfaba                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcba * c1o2 +      mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcca * c1o2 +      mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcca        - c2o1* mfbca *  vvx         +  mfaca                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcca * c1o2 +      mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcab * c1o2 +      mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcab        - c2o1* mfbab *  vvx         +  mfaab                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcab * c1o2 +      mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbb * c1o2 +      mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbb        - c2o1* mfbbb *  vvx         +  mfabb                  * (c1o1- vx2)              - c4o9 * oMdrho * vx2; 
-			m2 =  mfcbb * c1o2 +      mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 =  mfccb * c1o2 +      mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccb        - c2o1* mfbcb *  vvx         +  mfacb                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfccb * c1o2 +      mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 =  mfcac * c1o2 +      mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcac        - c2o1* mfbac *  vvx         +  mfaac                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfcac * c1o2 +      mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfcbc * c1o2 +      mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfcbc        - c2o1* mfbbc *  vvx         +  mfabc                  * (c1o1- vx2)              - c1o9 * oMdrho * vx2; 
-			m2 =  mfcbc * c1o2 +      mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 =  mfccc * c1o2 +      mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 - vvx) * c1o2; 
-			m1 = -mfccc        - c2o1* mfbcc *  vvx         +  mfacc                   * (c1o1- vx2)              - c1o36 * oMdrho * vx2; 
-			m2 =  mfccc * c1o2 +      mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (     vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[ dP00 ])[k   ] = mfabb;
-			(D.f[ dM00 ])[kw  ] = mfcbb;
-			(D.f[ d0P0 ])[k   ] = mfbab;
-			(D.f[ d0M0 ])[ks  ] = mfbcb;
-			(D.f[ d00P ])[k   ] = mfbba;
-			(D.f[ d00M ])[kb  ] = mfbbc;
-			(D.f[ dPP0 ])[k   ] = mfaab;
-			(D.f[ dMM0 ])[ksw ] = mfccb;
-			(D.f[ dPM0 ])[ks  ] = mfacb;
-			(D.f[ dMP0 ])[kw  ] = mfcab;
-			(D.f[ dP0P ])[k   ] = mfaba;
-			(D.f[ dM0M ])[kbw ] = mfcbc;
-			(D.f[ dP0M ])[kb  ] = mfabc;
-			(D.f[ dM0P ])[kw  ] = mfcba;
-			(D.f[ d0PP ])[k   ] = mfbaa;
-			(D.f[ d0MM ])[kbs ] = mfbcc;
-			(D.f[ d0PM ])[kb  ] = mfbac;
-			(D.f[ d0MP ])[ks  ] = mfbca;
-			(D.f[ d000 ])[k   ] = mfbbb;
-			(D.f[ dPPP ])[k   ] = mfaaa;
-			(D.f[ dPMP ])[ks  ] = mfaca;
-			(D.f[ dPPM ])[kb  ] = mfaac;
-			(D.f[ dPMM ])[kbs ] = mfacc;
-			(D.f[ dMPP ])[kw  ] = mfcaa;	
-			(D.f[ dMMP ])[ksw ] = mfcca;
-			(D.f[ dMPM ])[kbw ] = mfcac;
-			(D.f[ dMMM ])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-		}                                                                                                                    
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale_Device.cuh
deleted file mode 100644
index 6f6cc80f498d707e97876b350ff7e53d8c713f32..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale_Device.cuh
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef K17CompressibleNavierStokesWale_Device_H
-#define K17CompressibleNavierStokesWale_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K17CompressibleNavierStokesWale_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DDStart,
-	real* turbulentViscosity,
-	int size_Mat,
-	int level,
-	unsigned int timestep, 
-	real* forces,
-    real* quadricLimiters,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug.cu
deleted file mode 100644
index 5a39c27d51d0888918e43cb8f132a79d64bbca33..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug.cu
+++ /dev/null
@@ -1,78 +0,0 @@
-#include "K17CompressibleNavierStokesWaleDebug.h"
-
-#include "K17CompressibleNavierStokesWaleDebug_Device.cuh"
-#include "Parameter/Parameter.h"
-
-std::shared_ptr<K17CompressibleNavierStokesWaleDebug> K17CompressibleNavierStokesWaleDebug::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K17CompressibleNavierStokesWaleDebug>(new K17CompressibleNavierStokesWaleDebug(para, level));
-}
-
-void K17CompressibleNavierStokesWaleDebug::run()
-{
-	int size_Mat = (int)para->getParD(level)->numberOfNodes;
-	int numberOfThreads = para->getParD(level)->numberofthreads;
-
-	//int Grid = size_Array / numberOfThreads;
-	//dim3 grid(Grid, 1, 1);
-	//dim3 threads(numberOfThreads, 1, 1 );
-
-	int Grid = (size_Mat / numberOfThreads) + 1;
-	int Grid1, Grid2;
-	if (Grid > 512)
-	{
-		Grid1 = 512;
-		Grid2 = (Grid / Grid1) + 1;
-	}
-	else
-	{
-		Grid1 = 1;
-		Grid2 = Grid;
-	}
-	dim3 grid(Grid1, Grid2, 1);
-	dim3 threads(numberOfThreads, 1, 1);
-
-	K17CompressibleNavierStokesWaleDebug_Device <<< grid, threads >>>(
-		para->getParD(level)->omega,
-		para->getParD(level)->typeOfGridNode,
-		para->getParD(level)->neighborX,
-		para->getParD(level)->neighborY,
-		para->getParD(level)->neighborZ,
-		para->getParD(level)->neighborInverse,
-		para->getParD(level)->velocityX,
-		para->getParD(level)->velocityY,
-		para->getParD(level)->velocityZ,
-		para->getParD(level)->distributions.f[0],
-		para->getParD(level)->turbViscosity,
-		para->getParD(level)->gSij,
-		para->getParD(level)->gSDij,
-		para->getParD(level)->gDxvx,
-		para->getParD(level)->gDyvx,
-		para->getParD(level)->gDzvx,
-		para->getParD(level)->gDxvy,
-		para->getParD(level)->gDyvy,
-		para->getParD(level)->gDzvy,
-		para->getParD(level)->gDxvz,
-		para->getParD(level)->gDyvz,
-		para->getParD(level)->gDzvz,
-		para->getParD(level)->numberOfNodes,
-		level,
-		para->getForcesDev(),
-        para->getQuadricLimitersDev(),
-		para->getParD(level)->isEvenTimestep);
-	getLastCudaError("K17CompressibleNavierStokesWaleDebug_Device execution failed");
-}
-
-K17CompressibleNavierStokesWaleDebug::K17CompressibleNavierStokesWaleDebug(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-
-	
-}
-
-K17CompressibleNavierStokesWaleDebug::K17CompressibleNavierStokesWaleDebug()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug.h
deleted file mode 100644
index 675d7f6b40db91a8b757a543c3997092023fbb6b..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K17CompressibleNavierStokesWaleDebug_H
-#define K17CompressibleNavierStokesWaleDebug_H
-
-#include "Kernel/KernelImp.h"
-
-class K17CompressibleNavierStokesWaleDebug : public KernelImp
-{
-public:
-	static std::shared_ptr<K17CompressibleNavierStokesWaleDebug> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K17CompressibleNavierStokesWaleDebug();
-	K17CompressibleNavierStokesWaleDebug(std::shared_ptr< Parameter> para, int level);
-
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug_Device.cu
deleted file mode 100644
index 6d1a0d219990fb53e190e47caa6b033062714247..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug_Device.cu
+++ /dev/null
@@ -1,1191 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K17CompressibleNavierStokesWaleDebug_Device(
-	real omega_in,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DDStart,
-	real* turbulentViscosity,
-	real* gSij,
-	real* gSDij,
-	real* gDxvx,
-	real* gDyvx,
-	real* gDzvx,
-	real* gDxvy,
-	real* gDyvy,
-	real* gDzvy,
-	real* gDxvz,
-	real* gDyvz,
-	real* gDzvz,
-	int size_Mat,
-	int level,
-	real* forces,
-	real* quadricLimiters,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if (BC == GEO_FLUID /*(BC != GEO_SOLID) && (BC != GEO_VOID)*/)
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM]= &DDStart[dPMM * size_Mat];
-				D.f[dMPM]= &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM]= &DDStart[dPMP * size_Mat];
-				D.f[dPMM]= &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];
-			real mfabb = (D.f[dM00])[kw];
-			real mfbcb = (D.f[d0P0])[k];
-			real mfbab = (D.f[d0M0])[ks];
-			real mfbbc = (D.f[d00P])[k];
-			real mfbba = (D.f[d00M])[kb];
-			real mfccb = (D.f[dPP0])[k];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];
-			real mfacb = (D.f[dMP0])[kw];
-			real mfcbc = (D.f[dP0P])[k];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];
-			real mfabc = (D.f[dM0P])[kw];
-			real mfbcc = (D.f[d0PP])[k];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];
-			real mfbac = (D.f[d0MP])[ks];
-			real mfbbb = (D.f[d000])[k];
-			real mfccc = (D.f[dPPP])[k];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks];
-			real mfacc = (D.f[dMPP])[kw];
-			real mfcca = (D.f[dPPM])[kb];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real nuTurb = c0o1;
-			real dxvx = c0o1;
-			real dyvx = c0o1;
-			real dzvx = c0o1;
-			real dxvy = c0o1;
-			real dyvy = c0o1;
-			real dzvy = c0o1;
-			real dxvz = c0o1;
-			real dyvz = c0o1;
-			real dzvz = c0o1;
-			real SumSd = c0o1;
-			real SumS = c0o1;
-			{
-				/////////////      Wale Model     ///////////////
-				//neighbor index
-				unsigned int kPx = neighborX[k];
-				unsigned int kPy = neighborY[k];
-				unsigned int kPz = neighborZ[k];
-				unsigned int kMxyz = neighborWSB[k];
-				unsigned int kMx = neighborZ[neighborY[kMxyz]];
-				unsigned int kMy = neighborZ[neighborX[kMxyz]];
-				unsigned int kMz = neighborY[neighborX[kMxyz]];
-				//getVeloX//
-				real veloXNeighborPx = veloX[kPx];
-				real veloXNeighborMx = veloX[kMx];
-				real veloXNeighborPy = veloX[kPy];
-				real veloXNeighborMy = veloX[kMy];
-				real veloXNeighborPz = veloX[kPz];
-				real veloXNeighborMz = veloX[kMz];
-				//getVeloY//
-				real veloYNeighborPx = veloY[kPx];
-				real veloYNeighborMx = veloY[kMx];
-				real veloYNeighborPy = veloY[kPy];
-				real veloYNeighborMy = veloY[kMy];
-				real veloYNeighborPz = veloY[kPz];
-				real veloYNeighborMz = veloY[kMz];
-				//getVeloZ//
-				real veloZNeighborPx = veloZ[kPx];
-				real veloZNeighborMx = veloZ[kMx];
-				real veloZNeighborPy = veloZ[kPy];
-				real veloZNeighborMy = veloZ[kMy];
-				real veloZNeighborPz = veloZ[kPz];
-				real veloZNeighborMz = veloZ[kMz];
-				//getVeloLocal//
-				real veloLocalX = veloX[k];
-				real veloLocalY = veloY[k];
-				real veloLocalZ = veloZ[k];
-
-				//////////////////////////////////////////////////////////////////////////////
-				//no central differences at the boundary nodes
-				//Dx
-				if (bcMatD[kPx] != GEO_FLUID)
-				{
-					dxvx = (veloLocalX - veloXNeighborMx);
-					dxvy = (veloLocalY - veloYNeighborMx);
-					dxvz = (veloLocalZ - veloZNeighborMx);
-				}
-				else if (bcMatD[kMx] != GEO_FLUID)
-				{
-					dxvx = (veloXNeighborPx - veloLocalX);
-					dxvy = (veloYNeighborPx - veloLocalY);
-					dxvz = (veloZNeighborPx - veloLocalZ);
-				}
-				else
-				{
-					dxvx = (veloXNeighborPx - veloXNeighborMx) / c2o1;
-					dxvy = (veloYNeighborPx - veloYNeighborMx) / c2o1;
-					dxvz = (veloZNeighborPx - veloZNeighborMx) / c2o1;
-				}
-				//Dy
-				if (bcMatD[kPy] != GEO_FLUID)
-				{
-					dyvx = (veloLocalX - veloXNeighborMy);
-					dyvy = (veloLocalY - veloYNeighborMy);
-					dyvz = (veloLocalZ - veloZNeighborMy);
-				}
-				else if (bcMatD[kMy] != GEO_FLUID)
-				{
-					dyvx = (veloXNeighborPy - veloLocalX);
-					dyvy = (veloYNeighborPy - veloLocalY);
-					dyvz = (veloZNeighborPy - veloLocalZ);
-				}
-				else
-				{
-					dyvx = (veloXNeighborPy - veloXNeighborMy) / c2o1;
-					dyvy = (veloYNeighborPy - veloYNeighborMy) / c2o1;
-					dyvz = (veloZNeighborPy - veloZNeighborMy) / c2o1;
-				}
-				//Dz
-				if (bcMatD[kPz] != GEO_FLUID)
-				{
-					dzvx = (veloLocalX - veloXNeighborMz);
-					dzvy = (veloLocalY - veloYNeighborMz);
-					dzvz = (veloLocalZ - veloZNeighborMz);
-				}
-				else if (bcMatD[kMz] != GEO_FLUID)
-				{
-					dzvx = (veloXNeighborPz - veloLocalX);
-					dzvy = (veloYNeighborPz - veloLocalY);
-					dzvz = (veloZNeighborPz - veloLocalZ);
-				}
-				else
-				{
-					dzvx = (veloXNeighborPz - veloXNeighborMz) / c2o1;
-					dzvy = (veloYNeighborPz - veloYNeighborMz) / c2o1;
-					dzvz = (veloZNeighborPz - veloZNeighborMz) / c2o1;
-				}
-				//////////////////////////////////////////////////////////////////////////////
-				////partial Div vx in x, y, z//
-				//dxvx = (veloXNeighborPx - veloXNeighborMx) / two; //deltaX * two??
-				//dyvx = (veloXNeighborPy - veloXNeighborMy) / two; //deltaX * two??
-				//dzvx = (veloXNeighborPz - veloXNeighborMz) / two; //deltaX * two??
-				//												  //partial Div vy in x, y, z//
-				//dxvy = (veloYNeighborPx - veloYNeighborMx) / two; //deltaX * two??
-				//dyvy = (veloYNeighborPy - veloYNeighborMy) / two; //deltaX * two??
-				//dzvy = (veloYNeighborPz - veloYNeighborMz) / two; //deltaX * two??
-				//												  //partial Div vz in x, y, z//
-				//dxvz = (veloZNeighborPx - veloZNeighborMx) / two; //deltaX * two??
-				//dyvz = (veloZNeighborPy - veloZNeighborMy) / two; //deltaX * two??
-				//dzvz = (veloZNeighborPz - veloZNeighborMz) / two; //deltaX * two??
-
-				real g11, g12, g13, g21, g22, g23, g31, g32, g33;
-				real g11sq, g12sq, g13sq, g21sq, g22sq, g23sq, g31sq, g32sq, g33sq;
-
-				g11 = dxvx;
-				g12 = dyvx;
-				g13 = dzvx;
-				g21 = dxvy;
-				g22 = dyvy;
-				g23 = dzvy;
-				g31 = dxvz;
-				g32 = dyvz;
-				g33 = dzvz;
-
-				g11sq = g11 * g11 + g12 * g21 + g13 * g31;
-				g12sq = g11 * g12 + g12 * g22 + g13 * g32;
-				g13sq = g11 * g13 + g12 * g23 + g13 * g33;
-				g21sq = g21 * g11 + g22 * g21 + g23 * g31;
-				g22sq = g21 * g12 + g22 * g22 + g23 * g32;
-				g23sq = g21 * g13 + g22 * g23 + g23 * g33;
-				g31sq = g31 * g11 + g32 * g21 + g33 * g31;
-				g32sq = g31 * g12 + g32 * g22 + g33 * g32;
-				g33sq = g31 * g13 * g32 * g23 + g33 * g33;
-
-				real gkk = g11sq + g22sq + g33sq;
-
-				real Sd11 = c1o2 * (g11sq + g11sq) - c1o3 * gkk;
-				real Sd12 = c1o2 * (g12sq + g21sq);
-				real Sd13 = c1o2 * (g13sq + g31sq);
-				real Sd21 = c1o2 * (g21sq + g12sq); // ==Sd12
-				real Sd22 = c1o2 * (g22sq + g22sq) - c1o3 * gkk;
-				real Sd23 = c1o2 * (g23sq + g32sq);
-				real Sd31 = c1o2 * (g31sq + g13sq); // ==Sd13
-				real Sd32 = c1o2 * (g32sq + g23sq); // ==Sd23
-				real Sd33 = c1o2 * (g33sq + g33sq) - c1o3 * gkk;
-
-				SumSd = Sd11*Sd11 + Sd12*Sd12 + Sd13*Sd13 + Sd21*Sd21 + Sd22*Sd22 + Sd23*Sd23 + Sd31*Sd31 + Sd32*Sd32 + Sd33*Sd33;
-
-
-
-				//real SumSd =
-				//	c1o2 * powf(dzvx, four) +
-				//	c1o2 * powf(dzvy, four) +
-				//	c2o3 * powf(dzvz, four) +
-				//	c2o3 * powf(dyvy, four) +
-				//	c1o2 * powf(dyvz, four) +
-				//	c2o3 * powf(dxvx, four) +
-				//	c1o2 * powf(dxvy, four) +
-				//	c1o2 * powf(dxvz, four) +
-				//	c1o2 * powf(dyvx, four) +
-				//	powf(dyvx, two) * powf(dxvy, two) +
-				//	powf(dzvx, two) * powf(dxvz, two) +
-				//	powf(dzvy, two) * powf(dyvz, two) -
-				//	c2o3 * powf(dzvz, two) * powf(dyvy, two) -
-				//	c2o3 * powf(dzvz, two) * powf(dxvx, two) -
-				//	c2o3 * powf(dyvy, two) * powf(dxvx, two);   //powf
-				//real SumSd =
-				//	((c1o2 * (((dzvx*dzvx)*(dzvx*dzvx)) + 
-				//		((dzvy*dzvy)*(dzvy*dzvy)) + 
-				//		((dyvz*dyvz)*(dyvz*dyvz)) + 
-				//		((dyvx*dyvx)*(dyvx*dyvx)) + 
-				//		((dxvy*dxvy)*(dxvy*dxvy)) + 
-				//		((dxvz*dxvz)*(dxvz*dxvz)))) +
-				//	(c2o3 * (((dxvx*dxvx)*(dxvx*dxvx)) + 
-				//		((dyvy*dyvy)*(dyvy*dyvy)) + 
-				//		((dzvz*dzvz)*(dzvz*dzvz)))) +
-				//	((dyvx * dyvx) * (dxvy * dxvy)) +
-				//	((dzvx * dzvx) * (dxvz * dxvz)) +
-				//	((dzvy * dzvy) * (dyvz * dyvz))) -
-				//	(c2o3 * ((dzvz * dzvz) * (dyvy * dyvy)) + 
-				//		((dzvz * dzvz) * (dxvx * dxvx)) + 
-				//		((dyvy * dyvy) * (dxvx * dxvx)));   //explicit
-				//real SumSd =
-				//	c1o2 * pow(dzvx, four) +
-				//	c1o2 * pow(dzvy, four) +
-				//	c2o3 * pow(dzvz, four) +
-				//	c2o3 * pow(dyvy, four) +
-				//	c1o2 * pow(dyvz, four) +
-				//	c2o3 * pow(dxvx, four) +
-				//	c1o2 * pow(dxvy, four) +
-				//	c1o2 * pow(dxvz, four) +
-				//	c1o2 * pow(dyvx, four) +
-				//	pow(dyvx, two) * pow(dxvy, two) +
-				//	pow(dzvx, two) * pow(dxvz, two) +
-				//	pow(dzvy, two) * pow(dyvz, two) -
-				//	c2o3 * pow(dzvz, two) * pow(dyvy, two) -
-				//	c2o3 * pow(dzvz, two) * pow(dxvx, two) -
-				//	c2o3 * pow(dyvy, two) * pow(dxvx, two);    //pow
-				//SumS
-				//real SumS =
-				//	powf(dxvx, two) +
-				//	powf(dyvy, two) +
-				//	powf(dzvz, two) +
-				//	c1o2 * powf(dyvx + dxvy, two) +
-				//	c1o2 * powf(dzvx + dxvz, two) +
-				//	c1o2 * powf(dyvz + dzvy, two);   //powf
-				SumS =
-					((dxvx * dxvx) +
-					(dyvy * dyvy) +
-						(dzvz * dzvz)) +
-						(c1o2 * (((dyvx + dxvy) * (dyvx + dxvy)) +
-					((dzvx + dxvz) * (dzvx + dxvz)) +
-							((dyvz + dzvy) * (dyvz + dzvy))));   //explicit
-																 //real SumS =
-																 //	pow(dxvx, two) +
-																 //	pow(dyvy, two) +
-																 //	pow(dzvz, two) +
-																 //	c1o2 * pow(dyvx + dxvy, two) +
-																 //	c1o2 * pow(dzvx + dxvz, two) +
-																 //	c1o2 * pow(dyvz + dzvy, two);   //pow
-																 //nu turbulent
-				real coefficient = 0.325; //0.55; //
-				real delta = coefficient * c1o1;
-				/////////////////////////////////
-				//real SumSsq = SumS * SumS;
-				//real SumSDsq = SumSd * SumSd;
-				real SumSsq = SumS;
-				real SumSDsq = SumSd;
-				//nuTurb = powf(delta, two) * powf(SumSDsq, c3o2) / (powf(SumSsq, c5o2) + powf(SumSDsq, c5o4) + cSmallSingle); //powf
-				//nuTurb = pow(delta, two) * pow(SumSDsq, c3o2) / (pow(SumSsq, c5o2) + pow(SumSDsq, c5o4) + cSmallSingle);     //pow
-				nuTurb = (delta * delta) * (real)pow((double)SumSDsq, 1.5) / ((real)pow((double)SumSsq, 2.5) + (real)pow((double)SumSDsq, 1.25) + cSmallSingle); //SMversion//
-																																								/////////////////////////////////
-																																								//nuTurb = rho * powf(delta, two) * powf(SumSd*SumSd, c3o2) / (powf(SumS*SumS, c5o2) + powf(SumSd*SumSd, c5o4));
-																																								//nuTurb = powf(delta, two) * powf(SumSd*SumSd, c3o2) / (powf(SumS*SumS, c5o2) + powf(SumSd*SumSd, c5o4));
-			}
-			//Test debug
-			//if (nuTurb > c1o100) nuTurb = c1o100;
-			//if (nuTurb < -c1o100) nuTurb = -c1o100;
-			//nuTurb = c1o100;
-			turbulentViscosity[k] = nuTurb;
-			//Debug
-			gSij[k] = SumS;
-			gSDij[k] = SumSd;
-			gDxvx[k] = dxvx;
-			gDyvx[k] = dyvx;
-			gDzvx[k] = dzvx;
-			gDxvy[k] = dxvy;
-			gDyvy[k] = dyvy;
-			gDzvy[k] = dyvy;
-			gDxvz[k] = dxvz;
-			gDyvz[k] = dyvz;
-			gDzvz[k] = dzvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			{
-				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-				vvx += fx*c1o2;
-				vvy += fy*c1o2;
-				vvz += fz*c1o2;
-			}
-			////////////////////////////////////////////////////////////////////////////////////
-			real nuOld = c1o3 * (c1o1 / omega_in - c1o2);
-			real omega = c1o1 / (c3o1 * (nuOld + nuTurb) + c1o2);
-			//real omega = omega_in + nuTurb;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			//////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = 0.01f;// * 0.0001f;
-			real qudricLimitM = 0.01f;// * 0.0001f;
-			real qudricLimitD = 0.01f;// * 0.001f;
-									  ////////////////////////////////////////////////////////////////////////////////////
-									  //Hin
-									  ////////////////////////////////////////////////////////////////////////////////////
-									  // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-									  ////////////////////////////////////////////////////////////////////////////////////
-									  // Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-
-									////////////////////////////////////////////////////////////
-									//3.
-									//////////////////////////////
-			real OxyyPxzz = c8o1*(-c2o1 + omega)*(c1o1 + c2o1*omega) / (-c8o1 - c14o1*omega + c7o1*omega*omega);//one;
-			real OxyyMxzz = c8o1*(-c2o1 + omega)*(-c7o1 + c4o1*omega) / (c56o1 - c50o1*omega + c9o1*omega*omega);//one;
-			real Oxyz = c24o1*(-c2o1 + omega)*(-c2o1 - c7o1*omega + c3o1*omega*omega) / (c48o1 + c152o1*omega - c130o1*omega*omega + c29o1*omega*omega*omega);//one;
-																																										  ////////////////////////////////////////////////////////////
-																																										  //4.
-																																										  //////////////////////////////
-			real O4 = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5 = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6 = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			////////////////////////////////////////////////////////////////////////////
-			real Dxy = -c3o1*omega*mfbba;
-			real Dxz = -c3o1*omega*mfbab;
-			real Dyz = -c3o1*omega*mfabb;
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-
-			real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			real dyuy = dxux + omega * c3o2 * mxxMyy;
-			real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//relax
-			mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-			mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-			mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
-			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
-			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
-			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			real factorA = (c4o1 + c2o1*omega - c3o1*omega*omega) / (c2o1 - c7o1*omega + c5o1*omega*omega);
-			real factorB = (c4o1 + c28o1*omega - c14o1*omega*omega) / (c6o1 - c21o1*omega + c15o1*omega*omega);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//CUMacc += O4 * (-CUMacc); 
-			//CUMcac += O4 * (-CUMcac); 
-			//CUMcca += O4 * (-CUMcca); 
-			//CUMbbc += O4 * (-CUMbbc); 
-			//CUMbcb += O4 * (-CUMbcb); 
-			//CUMcbb += O4 * (-CUMcbb); 
-			CUMacc = -O4*(c1o1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMacc);
-			CUMcac = -O4*(c1o1 / omega - c1o2) * (dxux + dzuz) * c2o3 * factorA + (c1o1 - O4) * (CUMcac);
-			CUMcca = -O4*(c1o1 / omega - c1o2) * (dyuy + dxux) * c2o3 * factorA + (c1o1 - O4) * (CUMcca);
-			CUMbbc = -O4*(c1o1 / omega - c1o2) * Dxy           * c1o3 * factorB + (c1o1 - O4) * (CUMbbc);
-			CUMbcb = -O4*(c1o1 / omega - c1o2) * Dxz           * c1o3 * factorB + (c1o1 - O4) * (CUMbcb);
-			CUMcbb = -O4*(c1o1 / omega - c1o2) * Dyz           * c1o3 * factorB + (c1o1 - O4) * (CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;
-			(D.f[dM00])[kw] = mfcbb;
-			(D.f[d0P0])[k] = mfbab;
-			(D.f[d0M0])[ks] = mfbcb;
-			(D.f[d00P])[k] = mfbba;
-			(D.f[d00M])[kb] = mfbbc;
-			(D.f[dPP0])[k] = mfaab;
-			(D.f[dMM0])[ksw] = mfccb;
-			(D.f[dPM0])[ks] = mfacb;
-			(D.f[dMP0])[kw] = mfcab;
-			(D.f[dP0P])[k] = mfaba;
-			(D.f[dM0M])[kbw] = mfcbc;
-			(D.f[dP0M])[kb] = mfabc;
-			(D.f[dM0P])[kw] = mfcba;
-			(D.f[d0PP])[k] = mfbaa;
-			(D.f[d0MM])[kbs] = mfbcc;
-			(D.f[d0PM])[kb] = mfbac;
-			(D.f[d0MP])[ks] = mfbca;
-			(D.f[d000])[k] = mfbbb;
-			(D.f[dPPP])[k] = mfaaa;
-			(D.f[dPMP])[ks] = mfaca;
-			(D.f[dPPM])[kb] = mfaac;
-			(D.f[dPMM])[kbs] = mfacc;
-			(D.f[dMPP])[kw] = mfcaa;
-			(D.f[dMMP])[ksw] = mfcca;
-			(D.f[dMPM])[kbw] = mfcac;
-			(D.f[dMMM])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug_Device.cuh
deleted file mode 100644
index b8321b5c05e4c8e79321d2cc37b92020b9b159f8..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug_Device.cuh
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef K17CompressibleNavierStokesWaleDebug_Device_H
-#define K17CompressibleNavierStokesWaleDebug_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K17CompressibleNavierStokesWaleDebug_Device(
-	real omega_in,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	real* veloX,
-	real* veloY,
-	real* veloZ,
-	real* DDStart,
-	real* turbulentViscosity,
-	real* gSij,
-	real* gSDij,
-	real* gDxvx,
-	real* gDyvx,
-	real* gDzvx,
-	real* gDxvy,
-	real* gDyvy,
-	real* gDzvy,
-	real* gDxvz,
-	real* gDyvz,
-	real* gDzvz,
-	int size_Mat,
-	int level,
-	real* forces,
-    real* quadricLimiters,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes.cu
deleted file mode 100644
index efc90492b18c2360c49f523e26c4bcfe2b594e47..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes.cu
+++ /dev/null
@@ -1,41 +0,0 @@
-#include "K18CompressibleNavierStokes.h"
-
-#include "K18CompressibleNavierStokes_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<K18CompressibleNavierStokes> K18CompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K18CompressibleNavierStokes>(new K18CompressibleNavierStokes(para, level));
-}
-
-void K18CompressibleNavierStokes::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    K18CompressibleNavierStokes_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->g6.g[0],
-        para->getParD(level)->numberOfNodes,
-        level,
-        para->getForcesDev(),
-        para->getQuadricLimitersDev(),
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_CumulantK18Comp execution failed");
-}
-
-K18CompressibleNavierStokes::K18CompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-	myPreProcessorTypes.push_back(InitF3);
-
-	
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes.h
deleted file mode 100644
index d75920c78efe48ad586c4c92f775c3868195e9b8..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef K18CompressibleNavierStokes_H
-#define K18CompressibleNavierStokes_H
-
-#include "Kernel/KernelImp.h"
-
-class K18CompressibleNavierStokes : public KernelImp
-{
-public:
-	static std::shared_ptr< K18CompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K18CompressibleNavierStokes();
-	K18CompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
-};
-
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes_Device.cu
deleted file mode 100644
index 0388bd4e15fa12f465e3d534231b012f6f081790..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes_Device.cu
+++ /dev/null
@@ -1,955 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K18CompressibleNavierStokes_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* G6,
-	int size_Mat,
-	int level,
-	real* forces,
-	real* quadricLimiters,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k < size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			Distributions6 G;
-			if (EvenOrOdd == true)
-			{
-				G.g[dP00] = &G6[dP00 * size_Mat];
-				G.g[dM00] = &G6[dM00 * size_Mat];
-				G.g[d0P0] = &G6[d0P0 * size_Mat];
-				G.g[d0M0] = &G6[d0M0 * size_Mat];
-				G.g[d00P] = &G6[d00P * size_Mat];
-				G.g[d00M] = &G6[d00M * size_Mat];
-			}
-			else
-			{
-				G.g[dM00] = &G6[dP00 * size_Mat];
-				G.g[dP00] = &G6[dM00 * size_Mat];
-				G.g[d0M0] = &G6[d0P0 * size_Mat];
-				G.g[d0P0] = &G6[d0M0 * size_Mat];
-				G.g[d00M] = &G6[d00P * size_Mat];
-				G.g[d00P] = &G6[d00M * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mgcbb = (G.g[dP00])[k];
-			real mgabb = (G.g[dM00])[kw];
-			real mgbcb = (G.g[d0P0])[k];
-			real mgbab = (G.g[d0M0])[ks];
-			real mgbbc = (G.g[d00P])[k];
-			real mgbba = (G.g[d00M])[kb];
-			real dxxux = c1o2 * (-mgcbb + mgabb);
-			real dyyuy = c1o2 * (-mgbcb + mgbab);
-			real dzzuz = c1o2 * (-mgbbc + mgbba);
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];
-			real mfabb = (D.f[dM00])[kw];
-			real mfbcb = (D.f[d0P0])[k];
-			real mfbab = (D.f[d0M0])[ks];
-			real mfbbc = (D.f[d00P])[k];
-			real mfbba = (D.f[d00M])[kb];
-			real mfccb = (D.f[dPP0])[k];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];
-			real mfacb = (D.f[dMP0])[kw];
-			real mfcbc = (D.f[dP0P])[k];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];
-			real mfabc = (D.f[dM0P])[kw];
-			real mfbcc = (D.f[d0PP])[k];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];
-			real mfbac = (D.f[d0MP])[ks];
-			real mfbbb = (D.f[d000])[k];
-			real mfccc = (D.f[dPPP])[k];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks];
-			real mfacc = (D.f[dMPP])[kw];
-			real mfcca = (D.f[dPPM])[kb];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-			vvx += fx;
-			vvy += fy;
-			vvz += fz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real omega = omega_in;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = quadricLimiters[0];  //0.01f; //  * 0.0001f; // 1000000.0f; // 1000000.0f; //
-			real qudricLimitM = quadricLimiters[1];  //0.01f; //  * 0.0001f; // 1000000.0f; // 1000000.0f; //
-			real qudricLimitD = quadricLimiters[2];  //0.01f; //  * 0.001f;  // 1000000.0f; // 1000000.0f; //
-										 ////////////////////////////////////////////////////////////////////////////////////
-										 //Hin
-										 ////////////////////////////////////////////////////////////////////////////////////
-										 // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-										 ////////////////////////////////////////////////////////////////////////////////////
-										 // Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-
-										////////////////////////////////////////////////////////////
-										//3.
-										//////////////////////////////
-			real OxyyPxzz = c8o1*(-c2o1 + omega)*(c1o1 + c2o1*omega) / (-c8o1 - c14o1*omega + c7o1*omega*omega);//one;
-			real OxyyMxzz = c8o1*(-c2o1 + omega)*(-c7o1 + c4o1*omega) / (c56o1 - c50o1*omega + c9o1*omega*omega);//one;
-			real Oxyz = c24o1*(-c2o1 + omega)*(-c2o1 - c7o1*omega + c3o1*omega*omega) / (c48o1 + c152o1*omega - c130o1*omega*omega + c29o1*omega*omega*omega);//one;
-																																											 ////////////////////////////////////////////////////////////
-																																											 //4.
-																																											 //////////////////////////////
-			real O4 = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5 = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6 = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			////////////////////////////////////////////////////////////////////////////
-			real Dxy = -c3o1*omega*mfbba;
-			real Dxz = -c3o1*omega*mfbab;
-			real Dyz = -c3o1*omega*mfabb;
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-
-			real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			real dyuy = dxux + omega * c3o2 * mxxMyy;
-			real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			mgabb = dxux;
-			mgbab = dyuy;
-			mgbba = dzuz;
-
-			mgcbb = dxux;
-			mgbcb = dyuy;
-			mgbbc = dzuz;
-
-			//relax
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-			//mxxMzz += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)
-				+ (c6o1 - c3o1 * (omega + OxxPyyPzz) + omega * OxxPyyPzz) / (c3o1 * omega) * ((dxux * dxux + dyuy * dyuy + dzuz * dzuz) / rho + vvx * dxxux + vvy * dyyuy + vvz * dzzuz);
-			mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy)
-				+ omega * (c2o1*(c1o1 / omega - c1o2) * (c1o1 / omega - c1o2) - c1o6) * ((dxux * dxux - dyuy * dyuy) / rho + vvx * dxxux - vvy * dyyuy);
-			mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz)
-				+ omega * (c2o1*(c1o1 / omega - c1o2) * (c1o1 / omega - c1o2) - c1o6) * ((dxux * dxux - dzuz * dzuz) / rho + vvx * dxxux - vvz * dzzuz);
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
-			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
-			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
-			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//CUMacc += O4 * (-CUMacc);
-			//CUMcac += O4 * (-CUMcac);
-			//CUMcca += O4 * (-CUMcca);
-			//CUMbbc += O4 * (-CUMbbc);
-			//CUMbcb += O4 * (-CUMbcb);
-			//CUMcbb += O4 * (-CUMcbb);
-			CUMacc = -O4*(c1o1 / omega - c1o2)*(dyuy + dzuz)*c2o3 *(c4o1 + c2o1*omega - c3o1*omega*omega) / (c2o1 - c7o1*omega + c5o1*omega*omega) + (c1o1 - O4) * (CUMacc);
-			CUMcac = -O4*(c1o1 / omega - c1o2)*(dxux + dzuz)*c2o3 *(c4o1 + c2o1*omega - c3o1*omega*omega) / (c2o1 - c7o1*omega + c5o1*omega*omega) + (c1o1 - O4) * (CUMcac);
-			CUMcca = -O4*(c1o1 / omega - c1o2)*(dyuy + dxux)*c2o3 *(c4o1 + c2o1*omega - c3o1*omega*omega) / (c2o1 - c7o1*omega + c5o1*omega*omega) + (c1o1 - O4) * (CUMcca);
-			CUMbbc = -O4*(c1o1 / omega - c1o2)*Dxy*c1o3 *(c4o1 + c28o1*omega - c14o1*omega*omega) / (c6o1 - c21o1*omega + c15o1*omega*omega) + (c1o1 - O4) * (CUMbbc);
-			CUMbcb = -O4*(c1o1 / omega - c1o2)*Dxz*c1o3 *(c4o1 + c28o1*omega - c14o1*omega*omega) / (c6o1 - c21o1*omega + c15o1*omega*omega) + (c1o1 - O4) * (CUMbcb);
-			CUMcbb = -O4*(c1o1 / omega - c1o2)*Dyz*c1o3 *(c4o1 + c28o1*omega - c14o1*omega*omega) / (c6o1 - c21o1*omega + c15o1*omega*omega) + (c1o1 - O4) * (CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;
-			(D.f[dM00])[kw] = mfcbb;
-			(D.f[d0P0])[k] = mfbab;
-			(D.f[d0M0])[ks] = mfbcb;
-			(D.f[d00P])[k] = mfbba;
-			(D.f[d00M])[kb] = mfbbc;
-			(D.f[dPP0])[k] = mfaab;
-			(D.f[dMM0])[ksw] = mfccb;
-			(D.f[dPM0])[ks] = mfacb;
-			(D.f[dMP0])[kw] = mfcab;
-			(D.f[dP0P])[k] = mfaba;
-			(D.f[dM0M])[kbw] = mfcbc;
-			(D.f[dP0M])[kb] = mfabc;
-			(D.f[dM0P])[kw] = mfcba;
-			(D.f[d0PP])[k] = mfbaa;
-			(D.f[d0MM])[kbs] = mfbcc;
-			(D.f[d0PM])[kb] = mfbac;
-			(D.f[d0MP])[ks] = mfbca;
-			(D.f[d000])[k] = mfbbb;
-			(D.f[dPPP])[k] = mfaaa;
-			(D.f[dPMP])[ks] = mfaca;
-			(D.f[dPPM])[kb] = mfaac;
-			(D.f[dPMM])[kbs] = mfacc;
-			(D.f[dMPP])[kw] = mfcaa;
-			(D.f[dMMP])[ksw] = mfcca;
-			(D.f[dMPM])[kbw] = mfcac;
-			(D.f[dMMM])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			(G.g[dP00])[k] = mgabb;
-			(G.g[dM00])[kw] = mgcbb;
-			(G.g[d0P0])[k] = mgbab;
-			(G.g[d0M0])[ks] = mgbcb;
-			(G.g[d00P])[k] = mgbba;
-			(G.g[d00M])[kb] = mgbbc;
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes_Device.cuh
deleted file mode 100644
index 601071a73c8ea2e0e9d3d0e1b3ba69f921fd821d..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes_Device.cuh
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef K18CompressibleNavierStokes_Device_H
-#define K18CompressibleNavierStokes_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K18CompressibleNavierStokes_Device(	
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* F3,
-	int size_Mat,
-	int level,
-	real* forces,
-    real* quadricLimiters,
-	bool EvenOrOdd);
-
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes.cu
deleted file mode 100644
index 1a07b5a09614e38bd589b3f02d70b831d73b587e..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes.cu
+++ /dev/null
@@ -1,41 +0,0 @@
-#include "K20CompressibleNavierStokes.h"
-
-#include "K20CompressibleNavierStokes_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<K20CompressibleNavierStokes> K20CompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K20CompressibleNavierStokes>(new K20CompressibleNavierStokes(para, level));
-}
-
-void K20CompressibleNavierStokes::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    K20CompressibleNavierStokes_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->g6.g[0],
-        para->getParD(level)->numberOfNodes,
-        level,
-        para->getForcesDev(),
-        para->getQuadricLimitersDev(),
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_CumulantK20Comp execution failed");
-}
-
-K20CompressibleNavierStokes::K20CompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-	myPreProcessorTypes.push_back(InitF3);
-
-	
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes.h b/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes.h
deleted file mode 100644
index fc6d4e72acf330a482e80c145a669bda74c0dd8a..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef K20CompressibleNavierStokes_H
-#define K20CompressibleNavierStokes_H
-
-#include "Kernel/KernelImp.h"
-
-class K20CompressibleNavierStokes : public KernelImp
-{
-public:
-	static std::shared_ptr< K20CompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K20CompressibleNavierStokes();
-	K20CompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes_Device.cu
deleted file mode 100644
index 083692388f5607a4d47ad73feb09797db0f93f01..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes_Device.cu
+++ /dev/null
@@ -1,959 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K20CompressibleNavierStokes_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* G6,
-	int size_Mat,
-	int level,
-	real* forces,
-	real* quadricLimiters,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k < size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			Distributions6 G;
-			if (EvenOrOdd == true)
-			{
-				G.g[dP00] = &G6[dP00 * size_Mat];
-				G.g[dM00] = &G6[dM00 * size_Mat];
-				G.g[d0P0] = &G6[d0P0 * size_Mat];
-				G.g[d0M0] = &G6[d0M0 * size_Mat];
-				G.g[d00P] = &G6[d00P * size_Mat];
-				G.g[d00M] = &G6[d00M * size_Mat];
-			}
-			else
-			{
-				G.g[dM00] = &G6[dP00 * size_Mat];
-				G.g[dP00] = &G6[dM00 * size_Mat];
-				G.g[d0M0] = &G6[d0P0 * size_Mat];
-				G.g[d0P0] = &G6[d0M0 * size_Mat];
-				G.g[d00M] = &G6[d00P * size_Mat];
-				G.g[d00P] = &G6[d00M * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mgcbb = (G.g[dP00])[k];
-			real mgabb = (G.g[dM00])[kw];
-			real mgbcb = (G.g[d0P0])[k];
-			real mgbab = (G.g[d0M0])[ks];
-			real mgbbc = (G.g[d00P])[k];
-			real mgbba = (G.g[d00M])[kb];
-			real dxuxdxux = c1o2 * (-mgcbb + mgabb);
-			real dyuydyuy = c1o2 * (-mgbcb + mgbab);
-			real dzuzdzuz = c1o2 * (-mgbbc + mgbba);
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];
-			real mfabb = (D.f[dM00])[kw];
-			real mfbcb = (D.f[d0P0])[k];
-			real mfbab = (D.f[d0M0])[ks];
-			real mfbbc = (D.f[d00P])[k];
-			real mfbba = (D.f[d00M])[kb];
-			real mfccb = (D.f[dPP0])[k];
-			real mfaab = (D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];
-			real mfacb = (D.f[dMP0])[kw];
-			real mfcbc = (D.f[dP0P])[k];
-			real mfaba = (D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];
-			real mfabc = (D.f[dM0P])[kw];
-			real mfbcc = (D.f[d0PP])[k];
-			real mfbaa = (D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];
-			real mfbac = (D.f[d0MP])[ks];
-			real mfbbb = (D.f[d000])[k];
-			real mfccc = (D.f[dPPP])[k];
-			real mfaac = (D.f[dMMP])[ksw];
-			real mfcac = (D.f[dPMP])[ks];
-			real mfacc = (D.f[dMPP])[kw];
-			real mfcca = (D.f[dPPM])[kb];
-			real mfaaa = (D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];
-			real mfaca = (D.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
-
-			real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
-			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
-			vvx += fx;
-			vvy += fy;
-			vvz += fz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real oMdrho = c1o1; // comp special
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimitP = quadricLimiters[0];  //0.01f; //  * 0.0001f; // 1000000.0f; // 1000000.0f; //
-			real qudricLimitM = quadricLimiters[1];  //0.01f; //  * 0.0001f; // 1000000.0f; // 1000000.0f; //
-			real qudricLimitD = quadricLimiters[2];  //0.01f; //  * 0.001f;  // 1000000.0f; // 1000000.0f; //
-										 ////////////////////////////////////////////////////////////////////////////////////
-										 //Hin
-										 ////////////////////////////////////////////////////////////////////////////////////
-										 // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-										 ////////////////////////////////////////////////////////////////////////////////////
-										 // Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;	//set the bulk viscosity one is high / two is very low and zero is (too) high ... (also called omega 2)
-
-			////////////////////////////////////////////////////////////
-			//3.
-			//////////////////////////////
-			//real OxyyPxzz = one;
-			//real OxyyMxzz = one;
-			//real Oxyz = one;
-			////////////////////////////////////////////////////////////
-			real OxyyPxzz = c8o1*(-c2o1 + omega)*(c1o1 + c2o1*omega) / (-c8o1 - c14o1*omega + c7o1*omega*omega);//one;
-			real OxyyMxzz = c8o1*(-c2o1 + omega)*(-c7o1 + c4o1*omega) / (c56o1 - c50o1*omega + c9o1*omega*omega);//one;
-			real Oxyz = c24o1*(-c2o1 + omega)*(-c2o1 - c7o1*omega + c3o1*omega*omega) / (c48o1 + c152o1*omega - c130o1*omega*omega + c29o1*omega*omega*omega);//one;
-			//4.
-			//////////////////////////////
-			real O4 = c1o1;
-			//////////////////////////////
-			//real O4        = omega;//TRT
-			////////////////////////////////////////////////////////////
-			//5.
-			//////////////////////////////
-			real O5 = c1o1;
-			////////////////////////////////////////////////////////////
-			//6.
-			//////////////////////////////
-			real O6 = c1o1;
-			////////////////////////////////////////////////////////////
-
-
-			//central moments to cumulants
-			//4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			////////////////////////////////////////////////////////////////////////////
-			real Dxy = -c3o1*omega*mfbba;
-			real Dxz = -c3o1*omega*mfbab;
-			real Dyz = -c3o1*omega*mfabb;
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-
-			real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			real dyuy = dxux + omega * c3o2 * mxxMyy;
-			real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			mgabb = vvx*dxux;
-			mgbab = vvy*dyuy;
-			mgbba = vvz*dzuz;
-
-			mgcbb = vvx*dxux;
-			mgbcb = vvy*dyuy;
-			mgbbc = vvz*dzuz;
-
-			//relax
-			mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz)
-				+ (c6o1 - c3o1 * (omega + OxxPyyPzz) + omega * OxxPyyPzz) / (c3o1 * omega) *
-				(dxuxdxux + dyuydyuy + dzuzdzuz);
-			mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy)
-				+ omega * (c2o1*(c1o1 / omega - c1o2) * (c1o1 / omega - c1o2) - c1o6) * (dxuxdxux - dyuydyuy);
-			mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz)
-				+ omega * (c2o1*(c1o1 / omega - c1o2) * (c1o1 / omega - c1o2) - c1o6) *(dxuxdxux - dzuzdzuz);
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////no correction
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-
-			//relax
-			//////////////////////////////////////////////////////////////////////////
-			//das ist der limiter
-			wadjust = Oxyz + (c1o1 - Oxyz)*abs(mfbbb) / (abs(mfbbb) + qudricLimitD);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//mfbbb     += OxyyMxzz * (-mfbbb);
-			//mxxyPyzz  += OxyyPxzz * (-mxxyPyzz);
-			//mxxyMyzz  += OxyyMxzz * (-mxxyMyzz);
-			//mxxzPyyz  += OxyyPxzz * (-mxxzPyyz);
-			//mxxzMyyz  += OxyyMxzz * (-mxxzMyyz);
-			//mxyyPxzz  += OxyyPxzz * (-mxyyPxzz);
-			//mxyyMxzz  += OxyyMxzz * (-mxyyMxzz);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//////////////////////////////////////////////////////////////////////////
-			//mit limiter
-			//	wadjust    = O4+(one-O4)*abs(CUMacc)/(abs(CUMacc)+qudricLimit);
-			//CUMacc    += wadjust * (-CUMacc);
-			//	wadjust    = O4+(one-O4)*abs(CUMcac)/(abs(CUMcac)+qudricLimit);
-			//CUMcac    += wadjust * (-CUMcac); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcca)/(abs(CUMcca)+qudricLimit);
-			//CUMcca    += wadjust * (-CUMcca); 
-
-			//	wadjust    = O4+(one-O4)*abs(CUMbbc)/(abs(CUMbbc)+qudricLimit);
-			//CUMbbc    += wadjust * (-CUMbbc); 
-			//	wadjust    = O4+(one-O4)*abs(CUMbcb)/(abs(CUMbcb)+qudricLimit);
-			//CUMbcb    += wadjust * (-CUMbcb); 
-			//	wadjust    = O4+(one-O4)*abs(CUMcbb)/(abs(CUMcbb)+qudricLimit);
-			//CUMcbb    += wadjust * (-CUMcbb); 
-			//////////////////////////////////////////////////////////////////////////
-			//ohne limiter
-			//CUMacc += O4 * (-CUMacc);
-			//CUMcac += O4 * (-CUMcac);
-			//CUMcca += O4 * (-CUMcca);
-			//CUMbbc += O4 * (-CUMbbc);
-			//CUMbcb += O4 * (-CUMbcb);
-			//CUMcbb += O4 * (-CUMcbb);
-
-			//Dxy = zero;
-			//	Dxz = zero;
-			//	Dyz = zero;
-			//	dxux = zero;
-			//	dyuy = zero;
-			//	dzuz = zero;
-			CUMacc = -O4*(c1o1 / omega - c1o2)*(dyuy + dzuz)*c2o3 *(c4o1 + c2o1*omega - c3o1*omega*omega) / (c2o1 - c7o1*omega + c5o1*omega*omega) + (c1o1 - O4) * (CUMacc);
-			CUMcac = -O4*(c1o1 / omega - c1o2)*(dxux + dzuz)*c2o3 *(c4o1 + c2o1*omega - c3o1*omega*omega) / (c2o1 - c7o1*omega + c5o1*omega*omega) + (c1o1 - O4) * (CUMcac);
-			CUMcca = -O4*(c1o1 / omega - c1o2)*(dyuy + dxux)*c2o3 *(c4o1 + c2o1*omega - c3o1*omega*omega) / (c2o1 - c7o1*omega + c5o1*omega*omega) + (c1o1 - O4) * (CUMcca);
-			CUMbbc = -O4*(c1o1 / omega - c1o2)*Dxy*c1o3 *(c4o1 + c28o1*omega - c14o1*omega*omega) / (c6o1 - c21o1*omega + c15o1*omega*omega) + (c1o1 - O4) * (CUMbbc);
-			CUMbcb = -O4*(c1o1 / omega - c1o2)*Dxz*c1o3 *(c4o1 + c28o1*omega - c14o1*omega*omega) / (c6o1 - c21o1*omega + c15o1*omega*omega) + (c1o1 - O4) * (CUMbcb);
-			CUMcbb = -O4*(c1o1 / omega - c1o2)*Dyz*c1o3 *(c4o1 + c28o1*omega - c14o1*omega*omega) / (c6o1 - c21o1*omega + c15o1*omega*omega) + (c1o1 - O4) * (CUMcbb);
-			//////////////////////////////////////////////////////////////////////////
-
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho;
-			mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho;
-			mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho;
-
-			mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9*(drho / rho));
-			mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9*(drho / rho));
-			mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9*(drho / rho));
-
-			//5.
-			mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho;
-			mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho;
-			mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho;
-
-			//6.
-
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb) / (rho * rho)
-				- c1o3 * (mfacc + mfcac + mfcca) / rho
-				- c1o9 * (mfcaa + mfaca + mfaac) / rho
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 *(mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3
-				+ c1o27*((drho * drho - drho) / (rho*rho)));
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//the force be with you
-			mfbaa = -mfbaa;
-			mfaba = -mfaba;
-			mfaab = -mfaab;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;
-			(D.f[dM00])[kw] = mfcbb;
-			(D.f[d0P0])[k] = mfbab;
-			(D.f[d0M0])[ks] = mfbcb;
-			(D.f[d00P])[k] = mfbba;
-			(D.f[d00M])[kb] = mfbbc;
-			(D.f[dPP0])[k] = mfaab;
-			(D.f[dMM0])[ksw] = mfccb;
-			(D.f[dPM0])[ks] = mfacb;
-			(D.f[dMP0])[kw] = mfcab;
-			(D.f[dP0P])[k] = mfaba;
-			(D.f[dM0M])[kbw] = mfcbc;
-			(D.f[dP0M])[kb] = mfabc;
-			(D.f[dM0P])[kw] = mfcba;
-			(D.f[d0PP])[k] = mfbaa;
-			(D.f[d0MM])[kbs] = mfbcc;
-			(D.f[d0PM])[kb] = mfbac;
-			(D.f[d0MP])[ks] = mfbca;
-			(D.f[d000])[k] = mfbbb;
-			(D.f[dPPP])[k] = mfaaa;
-			(D.f[dPMP])[ks] = mfaca;
-			(D.f[dPPM])[kb] = mfaac;
-			(D.f[dPMM])[kbs] = mfacc;
-			(D.f[dMPP])[kw] = mfcaa;
-			(D.f[dMMP])[ksw] = mfcca;
-			(D.f[dMPM])[kbw] = mfcac;
-			(D.f[dMMM])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			(G.g[dP00])[k] = mgabb;
-			(G.g[dM00])[kw] = mgcbb;
-			(G.g[d0P0])[k] = mgbab;
-			(G.g[d0M0])[ks] = mgbcb;
-			(G.g[d00P])[k] = mgbba;
-			(G.g[d00M])[kb] = mgbbc;
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes_Device.cuh
deleted file mode 100644
index b86fc38428b964304772cf283b310d6056be2682..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes_Device.cuh
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef K20CompressibleNavierStokes_Device_H
-#define K20CompressibleNavierStokes_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K20CompressibleNavierStokes_Device(	real omega,
-															unsigned int* bcMatD,
-															unsigned int* neighborX,
-															unsigned int* neighborY,
-															unsigned int* neighborZ,
-															real* DDStart,
-															real* F3,
-															int size_Mat,
-															int level,
-															real* forces,
-                                                            real* quadricLimiters,
-															bool EvenOrOdd);
-
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes.cu
deleted file mode 100644
index ffba813e2626c61323c13a5d4ac74d331e6e6c78..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes.cu
+++ /dev/null
@@ -1,39 +0,0 @@
-#include "M02CompressibleNavierStokes.h"
-
-#include "M02CompressibleNavierStokes_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<M02CompressibleNavierStokes> M02CompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<M02CompressibleNavierStokes>(new M02CompressibleNavierStokes(para, level));
-}
-
-void M02CompressibleNavierStokes::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    M02CompressibleNavierStokes_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_MRT_Comp_SP_27 execution failed");
-}
-
-M02CompressibleNavierStokes::M02CompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitCompSP27);
-	
-}
-
-M02CompressibleNavierStokes::M02CompressibleNavierStokes()
-{
-}
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes.h b/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes.h
deleted file mode 100644
index b18eb3dfb7f144e664d9dd2236b5a76a1c63dfa2..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef M02CompressibleNavierStokes_H
-#define M02CompressibleNavierStokes_H
-
-#include "Kernel/KernelImp.h"
-
-
-class M02CompressibleNavierStokes : public KernelImp
-{
-public:
-	static std::shared_ptr<M02CompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	M02CompressibleNavierStokes();
-	M02CompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes_Device.cu
deleted file mode 100644
index a9af77511b03a44858b23991375c6a947c39692b..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes_Device.cu
+++ /dev/null
@@ -1,772 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void M02CompressibleNavierStokes_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-			real rho = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
-				mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb) + c1o1;//  !!!Achtung + one
-																			 ////////////////////////////////////////////////////////////////////////////////////
-																			 //slow
-																			 //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-																			 //					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-																			 //						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb)) / rho;
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab)) / rho;
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba)) / rho;
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1; // comp special
-							   //real oMdrho = one - (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + 
-							   //					   mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb +
-							   //					   mfabb+mfcbb + mfbab+mfbcb + mfbba+mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-							   //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-							   //				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-							   //				mfcbb-mfabb;
-							   //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-							   //				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-							   //				mfbcb-mfbab;
-							   //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-							   //				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-							   //				mfbbc-mfbba;
-							   ////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real wadjust;
-			//real qudricLimit = 0.01f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1;
-			mfbac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1;
-			mfbbc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1;
-			mfcac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1;
-			mfcbc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1;
-			mfbca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1;
-			mfcac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// MRT
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz = c1o1;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz = c1o1;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4 = c1o1;
-			real O5 = c1o1;
-			real O6 = c1o1;
-
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz + (-c2o1*vx2 + vy2 + vz2)*rho) + c1o2 * OxxPyyPzz * (mfaaa + (vx2 + vy2 + vz2)*rho - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * (mxxMyy + (-vx2 + vy2)*rho);
-				real dzuz = dxux + omega * c3o2 * (mxxMzz + (-vx2 + vz2)*rho);
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa + (vx2 + vy2 + vz2)*rho - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy += omega * ((vx2 - vy2)*rho - mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * ((vx2 - vz2)*rho - mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			// 			//no correction
-			// 			mxxPyyPzz += OxxPyyPzz*(mfaaa+(vx2+vy2+vz2)*rho-mxxPyyPzz);
-			// 			mxxMyy    += -(-omega) * ((vx2-vy2)*rho-mxxMyy);
-			// 			mxxMzz    += -(-omega) * ((vx2-vz2)*rho-mxxMzz);
-			// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * ((vvy*vvz)*rho - mfabb);
-			mfbab += omega * ((vvx*vvz)*rho - mfbab);
-			mfbba += omega * ((vvx*vvy)*rho - mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			mxxyMyzz += OxyyMxzz*((vx2 - vz2)*vvy*rho - mxxyMyzz);
-			mxxzMyyz += OxyyMxzz*((vx2 - vy2)*vvz*rho - mxxzMyyz);
-			mxyyMxzz += OxyyMxzz*((vy2 - vz2)*vvx*rho - mxyyMxzz);
-
-			mxxyPyzz += OxyyPxzz*((c2o3 + vx2 + vz2)*vvy*rho - mxxyPyzz);
-			mxxzPyyz += OxyyPxzz*((c2o3 + vx2 + vy2)*vvz*rho - mxxzPyyz);
-			mxyyPxzz += OxyyPxzz*((c2o3 + vy2 + vz2)*vvx*rho - mxyyPxzz);
-
-			mfbbb += OxyyMxzz * (vvx*vvy*vvz*rho - mfbbb);
-
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//mfacc += O4*((c1o3+vy2)*(c1o3+vz2)*rho+c1o9*(mfaaa-one)-mfacc);
-			//mfcac += O4*((c1o3+vx2)*(c1o3+vz2)*rho+c1o9*(mfaaa-one)-mfcac);
-			//mfcca += O4*((c1o3+vx2)*(c1o3+vy2)*rho+c1o9*(mfaaa-one)-mfcca);
-			mfacc += O4*((c1o3 + vy2)*(c1o3 + vz2)*rho - c1o9 - mfacc);
-			mfcac += O4*((c1o3 + vx2)*(c1o3 + vz2)*rho - c1o9 - mfcac);
-			mfcca += O4*((c1o3 + vx2)*(c1o3 + vy2)*rho - c1o9 - mfcca);
-
-			mfcbb += O4*((c1o3 + vx2)*vvy*vvz*rho - mfcbb);
-			mfbcb += O4*((c1o3 + vy2)*vvx*vvz*rho - mfbcb);
-			mfbbc += O4*((c1o3 + vz2)*vvx*vvy*rho - mfbbc);
-
-			//5.
-			mfbcc += O5*((c1o3 + vy2)*(c1o3 + vz2)*vvx*rho - mfbcc);
-			mfcbc += O5*((c1o3 + vx2)*(c1o3 + vz2)*vvy*rho - mfcbc);
-			mfccb += O5*((c1o3 + vx2)*(c1o3 + vy2)*vvz*rho - mfccb);
-
-			//6.
-			mfccc += O6*((c1o3 + vx2)*(c1o3 + vy2)*(c1o3 + vz2)*rho - c1o27 - mfccc);
-
-
-			//bad fix
-			vvx = c0o1;
-			vvy = c0o1;
-			vvz = c0o1;
-			vx2 = c0o1;
-			vy2 = c0o1;
-			vz2 = c0o1;
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes_Device.cuh
deleted file mode 100644
index 06542a20c7c40367195fda9bdb3acac339e62f0e..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes_Device.cuh
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef M02CompressibleNavierStokes_Device_H
-#define M02CompressibleNavierStokes_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void M02CompressibleNavierStokes_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion.h b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion.h
deleted file mode 100644
index e7ebfac181a4f1cbeca97dc9349ef6107560730d..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef F16IncompressibleAdvectionDiffusion_H
-#define F16IncompressibleAdvectionDiffusion_H
-
-#include "Kernel/AdvectionDiffusionKernel.h"
-
-
-class F16IncompressibleAdvectionDiffusion : public AdvectionDiffusionKernel
-{
-public:
-	static std::shared_ptr<F16IncompressibleAdvectionDiffusion> getNewInstance(std::shared_ptr<Parameter> para, int level);
-	void run();
-
-private:
-	F16IncompressibleAdvectionDiffusion();
-	F16IncompressibleAdvectionDiffusion(std::shared_ptr< Parameter> para, int level);
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion_Device.cu b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion_Device.cu
deleted file mode 100644
index a144744a7d5ead1e4fef12f35d5cc43b7620fa0f..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion_Device.cu
+++ /dev/null
@@ -1,895 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void F16IncompressibleAdvectionDiffusion_Device(real diffusivity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* DD27,
-	unsigned long long numberOfLBnodes,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			Distributions27 D27;
-			if (EvenOrOdd == true)
-			{
-				D27.f[dP00] = &DD27[dP00 * numberOfLBnodes];
-				D27.f[dM00] = &DD27[dM00 * numberOfLBnodes];
-				D27.f[d0P0] = &DD27[d0P0 * numberOfLBnodes];
-				D27.f[d0M0] = &DD27[d0M0 * numberOfLBnodes];
-				D27.f[d00P] = &DD27[d00P * numberOfLBnodes];
-				D27.f[d00M] = &DD27[d00M * numberOfLBnodes];
-				D27.f[dPP0] = &DD27[dPP0 * numberOfLBnodes];
-				D27.f[dMM0] = &DD27[dMM0 * numberOfLBnodes];
-				D27.f[dPM0] = &DD27[dPM0 * numberOfLBnodes];
-				D27.f[dMP0] = &DD27[dMP0 * numberOfLBnodes];
-				D27.f[dP0P] = &DD27[dP0P * numberOfLBnodes];
-				D27.f[dM0M] = &DD27[dM0M * numberOfLBnodes];
-				D27.f[dP0M] = &DD27[dP0M * numberOfLBnodes];
-				D27.f[dM0P] = &DD27[dM0P * numberOfLBnodes];
-				D27.f[d0PP] = &DD27[d0PP * numberOfLBnodes];
-				D27.f[d0MM] = &DD27[d0MM * numberOfLBnodes];
-				D27.f[d0PM] = &DD27[d0PM * numberOfLBnodes];
-				D27.f[d0MP] = &DD27[d0MP * numberOfLBnodes];
-				D27.f[d000] = &DD27[d000 * numberOfLBnodes];
-				D27.f[dPPP] = &DD27[dPPP * numberOfLBnodes];
-				D27.f[dMMP] = &DD27[dMMP * numberOfLBnodes];
-				D27.f[dPMP] = &DD27[dPMP * numberOfLBnodes];
-				D27.f[dMPP] = &DD27[dMPP * numberOfLBnodes];
-				D27.f[dPPM] = &DD27[dPPM * numberOfLBnodes];
-				D27.f[dMMM] = &DD27[dMMM * numberOfLBnodes];
-				D27.f[dPMM] = &DD27[dPMM * numberOfLBnodes];
-				D27.f[dMPM] = &DD27[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D27.f[dM00] = &DD27[dP00 * numberOfLBnodes];
-				D27.f[dP00] = &DD27[dM00 * numberOfLBnodes];
-				D27.f[d0M0] = &DD27[d0P0 * numberOfLBnodes];
-				D27.f[d0P0] = &DD27[d0M0 * numberOfLBnodes];
-				D27.f[d00M] = &DD27[d00P * numberOfLBnodes];
-				D27.f[d00P] = &DD27[d00M * numberOfLBnodes];
-				D27.f[dMM0] = &DD27[dPP0 * numberOfLBnodes];
-				D27.f[dPP0] = &DD27[dMM0 * numberOfLBnodes];
-				D27.f[dMP0] = &DD27[dPM0 * numberOfLBnodes];
-				D27.f[dPM0] = &DD27[dMP0 * numberOfLBnodes];
-				D27.f[dM0M] = &DD27[dP0P * numberOfLBnodes];
-				D27.f[dP0P] = &DD27[dM0M * numberOfLBnodes];
-				D27.f[dM0P] = &DD27[dP0M * numberOfLBnodes];
-				D27.f[dP0M] = &DD27[dM0P * numberOfLBnodes];
-				D27.f[d0MM] = &DD27[d0PP * numberOfLBnodes];
-				D27.f[d0PP] = &DD27[d0MM * numberOfLBnodes];
-				D27.f[d0MP] = &DD27[d0PM * numberOfLBnodes];
-				D27.f[d0PM] = &DD27[d0MP * numberOfLBnodes];
-				D27.f[d000] = &DD27[d000 * numberOfLBnodes];
-				D27.f[dMMM] = &DD27[dPPP * numberOfLBnodes];
-				D27.f[dPPM] = &DD27[dMMP * numberOfLBnodes];
-				D27.f[dMPM] = &DD27[dPMP * numberOfLBnodes];
-				D27.f[dPMM] = &DD27[dMPP * numberOfLBnodes];
-				D27.f[dMMP] = &DD27[dPPM * numberOfLBnodes];
-				D27.f[dPPP] = &DD27[dMMM * numberOfLBnodes];
-				D27.f[dMPP] = &DD27[dPMM * numberOfLBnodes];
-				D27.f[dPMP] = &DD27[dMPM * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw = neighborX[k];
-			unsigned int ks = neighborY[k];
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			unsigned int kbw = neighborZ[kw];
-			unsigned int kbs = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real fW = (D.f[dP00])[k];//ke
-			real fE = (D.f[dM00])[kw];
-			real fS = (D.f[d0P0])[k];//kn
-			real fN = (D.f[d0M0])[ks];
-			real fB = (D.f[d00P])[k];//kt
-			real fT = (D.f[d00M])[kb];
-			real fSW = (D.f[dPP0])[k];//kne
-			real fNE = (D.f[dMM0])[ksw];
-			real fNW = (D.f[dPM0])[ks];//kse
-			real fSE = (D.f[dMP0])[kw];//knw
-			real fBW = (D.f[dP0P])[k];//kte
-			real fTE = (D.f[dM0M])[kbw];
-			real fTW = (D.f[dP0M])[kb];//kbe
-			real fBE = (D.f[dM0P])[kw];//ktw
-			real fBS = (D.f[d0PP])[k];//ktn
-			real fTN = (D.f[d0MM])[kbs];
-			real fTS = (D.f[d0PM])[kb];//kbn
-			real fBN = (D.f[d0MP])[ks];//kts
-			//real fZERO = (D.f[d000])[k];//kzero
-			real fBSW = (D.f[dPPP])[k];//ktne
-			real fBNE = (D.f[dMMP])[ksw];//ktsw
-			real fBNW = (D.f[dPMP])[ks];//ktse
-			real fBSE = (D.f[dMPP])[kw];//ktnw
-			real fTSW = (D.f[dPPM])[kb];//kbne
-			real fTNE = (D.f[dMMM])[kbsw];
-			real fTNW = (D.f[dPMM])[kbs];//kbse
-			real fTSE = (D.f[dMPM])[kbw];//kbnw
-										   ////////////////////////////////////////////////////////////////////////////////
-										   //real f27E    =  (D27.f[dP00])[k  ];//ke
-										   //real f27W    =  (D27.f[dM00])[kw ];
-										   //real f27N    =  (D27.f[d0P0])[k  ];//kn
-										   //real f27S    =  (D27.f[d0M0])[ks ];
-										   //real f27T    =  (D27.f[d00P])[k  ];//kt
-										   //real f27B    =  (D27.f[d00M])[kb ];
-										   //real f27NE   =  (D27.f[dPP0])[k  ];//kne
-										   //real f27SW   =  (D27.f[dMM0])[ksw];
-										   //real f27SE   =  (D27.f[dPM0])[ks ];//kse
-										   //real f27NW   =  (D27.f[dMP0])[kw ];//knw
-										   //real f27TE   =  (D27.f[dP0P])[k  ];//kte
-										   //real f27BW   =  (D27.f[dM0M])[kbw];
-										   //real f27BE   =  (D27.f[dP0M])[kb ];//kbe
-										   //real f27TW   =  (D27.f[dM0P])[kw ];//ktw
-										   //real f27TN   =  (D27.f[d0PP])[k  ];//ktn
-										   //real f27BS   =  (D27.f[d0MM])[kbs];
-										   //real f27BN   =  (D27.f[d0PM])[kb ];//kbn
-										   //real f27TS   =  (D27.f[d0MP])[ks ];//kts
-										   //real f27ZERO =  (D27.f[d000])[k  ];//kzero
-										   //real f27TNE  =  (D27.f[dPPP])[k  ];//ktne
-										   //real f27TSW  =  (D27.f[dMMP])[ksw];//ktsw
-										   //real f27TSE  =  (D27.f[dPMP])[ks ];//ktse
-										   //real f27TNW  =  (D27.f[dMPP])[kw ];//ktnw
-										   //real f27BNE  =  (D27.f[dPPM])[kb ];//kbne
-										   //real f27BSW  =  (D27.f[dMMM])[kbsw];
-										   //real f27BSE  =  (D27.f[dPMM])[kbs];//kbse
-										   //real f27BNW  =  (D27.f[dMPM])[kbw];//kbnw
-										   ////////////////////////////////////////////////////////////////////////////////
-										   //real vx1     =  ((fTNE-fBSW)+(fBNE-fTSW)+(fTSE-fBNW)+(fBSE-fTNW) +(fNE-fSW)+(fSE-fNW)+(fTE-fBW)+(fBE-fTW)+(fE-fW));
-										   //real vx2     =  ((fTNE-fBSW)+(fBNE-fTSW)+(fBNW-fTSE)+(fTNW-fBSE) +(fNE-fSW)+(fNW-fSE)+(fTN-fBS)+(fBN-fTS)+(fN-fS));
-										   //real vx3     =  ((fTNE-fBSW)+(fTSW-fBNE)+(fTSE-fBNW)+(fTNW-fBSE) +(fTE-fBW)+(fTW-fBE)+(fTN-fBS)+(fTS-fBN)+(fT-fB));
-										   ////////////////////////////////////////////////////////////////////////////////
-
-
-			real mfcbb = (D27.f[dP00])[k];
-			real mfabb = (D27.f[dM00])[kw];
-			real mfbcb = (D27.f[d0P0])[k];
-			real mfbab = (D27.f[d0M0])[ks];
-			real mfbbc = (D27.f[d00P])[k];
-			real mfbba = (D27.f[d00M])[kb];
-			real mfccb = (D27.f[dPP0])[k];
-			real mfaab = (D27.f[dMM0])[ksw];
-			real mfcab = (D27.f[dPM0])[ks];
-			real mfacb = (D27.f[dMP0])[kw];
-			real mfcbc = (D27.f[dP0P])[k];
-			real mfaba = (D27.f[dM0M])[kbw];
-			real mfcba = (D27.f[dP0M])[kb];
-			real mfabc = (D27.f[dM0P])[kw];
-			real mfbcc = (D27.f[d0PP])[k];
-			real mfbaa = (D27.f[d0MM])[kbs];
-			real mfbca = (D27.f[d0PM])[kb];
-			real mfbac = (D27.f[d0MP])[ks];
-			real mfbbb = (D27.f[d000])[k];
-			real mfccc = (D27.f[dPPP])[k];
-			real mfaac = (D27.f[dMMP])[ksw];
-			real mfcac = (D27.f[dPMP])[ks];
-			real mfacc = (D27.f[dMPP])[kw];
-			real mfcca = (D27.f[dPPM])[kb];
-			real mfaaa = (D27.f[dMMM])[kbsw];
-			real mfcaa = (D27.f[dPMM])[kbs];
-			real mfaca = (D27.f[dMPM])[kbw];
-			////////////////////////////////////////////////////////////////////////////////////
-			//Conc
-			real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
-				(((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
-				((mfabb + mfcbb) + (mfbab + mfbcb)) + (mfbba + mfbbc)) + mfbbb;
-			//real rho = c1o1 + drho;
-			////////////////////////////////////////////////////////////////////////////////////
-
-			real vvx = ((fTNE - fBSW) + (fBNE - fTSW) + (fTSE - fBNW) + (fBSE - fTNW) + (fNE - fSW) + (fSE - fNW) + (fTE - fBW) + (fBE - fTW) + (fE - fW));
-			real vvy = ((fTNE - fBSW) + (fBNE - fTSW) + (fBNW - fTSE) + (fTNW - fBSE) + (fNE - fSW) + (fNW - fSE) + (fTN - fBS) + (fBN - fTS) + (fN - fS));
-			real vvz = ((fTNE - fBSW) + (fTSW - fBNE) + (fTSE - fBNW) + (fTNW - fBSE) + (fTE - fBW) + (fTW - fBE) + (fTN - fBS) + (fTS - fBN) + (fT - fB));
-			////////////////////////////////////////////////////////////////////////////////
-			real omegaD = c2o1 / (c6o1 * diffusivity + c1o1);
-			////real omegaD     = -three + sqrt(three);
-			////real Lam         = -(c1o2+one/omegaD);
-			////real nue_d       = Lam/three;
-			//real ae          = zero;
-			////real ae          = diffusivity/nue_d - one;
-			//real ux_sq       = vx * vx;
-			//real uy_sq       = vy * vy;
-			//real uz_sq       = vz * vz;
-
-
-			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//D3Q7
-			//real ConcD       = f7ZERO+f7E+f7W+f7N+f7S+f7T+f7B;
-			//(D7.f[0])[k  ] = f7ZERO*(one+omegaD)-omegaD*ConcD*(c1o3*(ae*(-three))-(ux_sq+uy_sq+uz_sq));
-			//(D7.f[2])[kw ] = f7E   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(ux_sq)+vx*c1o2);
-			//(D7.f[1])[k  ] = f7W   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(ux_sq)-vx*c1o2);
-			//(D7.f[4])[ks ] = f7N   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(uy_sq)+vy*c1o2);
-			//(D7.f[3])[k  ] = f7S   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(uy_sq)-vy*c1o2);
-			//(D7.f[6])[kb ] = f7T   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(uz_sq)+vz*c1o2);
-			//(D7.f[5])[k  ] = f7B   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(uz_sq)-vz*c1o2);
-			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////D3Q27
-			//real ConcD   = (f27TNE+f27BSW)+(f27TSW+f27BNE)+(f27TSE+f27BNW)+(f27TNW+f27BSE)+
-			//                  (f27NE+f27SW)+(f27NW+f27SE)+(f27TE+f27BW)+(f27BE+f27TW)+(f27TN+f27BS)+(f27BN+f27TS)+
-			//                  (f27E+f27W)+(f27N+f27S)+(f27T+f27B)+f27ZERO;
-			//real cusq    =  c3o2*(vx1*vx1+vx2*vx2+vx3*vx3);
-
-			//(D27.f[ dP00   ])[k   ] = f27W    *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*(-vx1        )+c9over2*(-vx1        )*(-vx1        )-cusq);                                                                     
-			//(D27.f[ dM00   ])[kw  ] = f27E    *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( vx1        )+c9over2*( vx1        )*( vx1        )-cusq);                                                                     
-			//(D27.f[ d0P0   ])[k   ] = f27S    *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*(   -vx2     )+c9over2*(    -vx2    )*(    -vx2    )-cusq);
-			//(D27.f[ d0M0   ])[ks  ] = f27N    *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*(    vx2     )+c9over2*(     vx2    )*(     vx2    )-cusq);
-			//(D27.f[ d00P   ])[k   ] = f27B    *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*(        -vx3)+c9over2*(        -vx3)*(        -vx3)-cusq);
-			//(D27.f[ d00M   ])[kb  ] = f27T    *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*(         vx3)+c9over2*(         vx3)*(         vx3)-cusq);
-			//(D27.f[ dPP0  ])[k   ] = f27SW   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1-vx2    )+c9over2*(-vx1-vx2    )*(-vx1-vx2    )-cusq);
-			//(D27.f[ dMM0  ])[ksw ] = f27NE   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1+vx2    )+c9over2*( vx1+vx2    )*( vx1+vx2    )-cusq);
-			//(D27.f[ dPM0  ])[ks  ] = f27NW   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1+vx2    )+c9over2*(-vx1+vx2    )*(-vx1+vx2    )-cusq);
-			//(D27.f[ dMP0  ])[kw  ] = f27SE   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1-vx2    )+c9over2*( vx1-vx2    )*( vx1-vx2    )-cusq);
-			//(D27.f[ dP0P  ])[k   ] = f27BW   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1    -vx3)+c9over2*(-vx1    -vx3)*(-vx1    -vx3)-cusq);
-			//(D27.f[ dM0M  ])[kbw ] = f27TE   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1    +vx3)+c9over2*( vx1    +vx3)*( vx1    +vx3)-cusq);
-			//(D27.f[ dP0M  ])[kb  ] = f27TW   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1    +vx3)+c9over2*(-vx1    +vx3)*(-vx1    +vx3)-cusq);
-			//(D27.f[ dM0P  ])[kw  ] = f27BE   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1    -vx3)+c9over2*( vx1    -vx3)*( vx1    -vx3)-cusq);
-			//(D27.f[ d0PP  ])[k   ] = f27BS   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(    -vx2-vx3)+c9over2*(    -vx2-vx3)*(    -vx2-vx3)-cusq);
-			//(D27.f[ d0MM  ])[kbs ] = f27TN   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(     vx2+vx3)+c9over2*(     vx2+vx3)*(     vx2+vx3)-cusq);
-			//(D27.f[ d0PM  ])[kb  ] = f27TS   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(    -vx2+vx3)+c9over2*(    -vx2+vx3)*(    -vx2+vx3)-cusq);
-			//(D27.f[ d0MP  ])[ks  ] = f27BN   *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(     vx2-vx3)+c9over2*(     vx2-vx3)*(     vx2-vx3)-cusq);
-			//(D27.f[ d000])[k   ] = f27ZERO *(one-omegaD)+omegaD* c8over27* ConcD*(one-cusq);
-			//(D27.f[ dPPP ])[k   ] = f27BSW  *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq);
-			//(D27.f[ dPMP ])[ks  ] = f27BNW  *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq);
-			//(D27.f[ dPPM ])[kb  ] = f27TSW  *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq);
-			//(D27.f[ dPMM ])[kbs ] = f27TNW  *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq);
-			//(D27.f[ dMPP ])[kw  ] = f27BSE  *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq);
-			//(D27.f[ dMMP ])[ksw ] = f27BNE  *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq);
-			//(D27.f[ dMPM ])[kbw ] = f27TSE  *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq);
-			//(D27.f[ dMMM ])[kbsw] = f27TNE  *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq);
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			real oMdrho = c0o1;//one; // comp special
-			real m0, m1, m2;
-			real vx2 = vvx*vvx;
-			real vy2 = vvy*vvy;
-			real vz2 = vvz*vvz;
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-			//if(mfaaa < zero) omegaD = one;
-			real limit = c9o1*omegaD*omegaD*(mfbaa*mfbaa + mfaba*mfaba + mfaab*mfaab);
-			//real CC=c1o2;
-			//if ((two*mfaaa*mfaaa<limit)) omegaD=two / (six * (diffusivity+((limit/(1.0e-10f+two*mfaaa*mfaaa)-one)*(c1o6-diffusivity))*c1o2) + one);
-			if ((c2o1*mfaaa*mfaaa<limit)) omegaD = c1o1;
-			//omegaD = two / (six * (diffusivity+CC*limit) + one);
-
-			//mfaaa = c1o2;
-			//trans 3.
-			real Mabc = mfabc - mfaba*c1o3;
-			real Mbca = mfbca - mfbaa*c1o3;
-			real Macb = mfacb - mfaab*c1o3;
-			real Mcba = mfcba - mfaba*c1o3;
-			real Mcab = mfcab - mfaab*c1o3;
-			real Mbac = mfbac - mfbaa*c1o3;
-			//trans 5.
-			real Mcbc = mfcbc - mfaba*c1o9;
-			real Mbcc = mfbcc - mfbaa*c1o9;
-			real Mccb = mfccb - mfaab*c1o9;
-
-			//1.
-			mfbaa *= c1o1 - omegaD;
-			mfaba *= c1o1 - omegaD;
-			mfaab *= c1o1 - omegaD;
-
-			//3.
-			//mfbca *= one - omegaD;
-			//mfbac *= one - omegaD;
-			//mfcba *= one - omegaD;
-			//mfabc *= one - omegaD;
-			//mfcab *= one - omegaD;
-			//mfacb *= one - omegaD;
-
-			//mfbbb *= one - omegaD; 
-			Mabc = c0o1;
-			Mbca = c0o1;
-			Macb = c0o1;
-			Mcba = c0o1;
-			Mcab = c0o1;
-			Mbac = c0o1;
-			mfbbb = c0o1;
-
-			//5.
-			//mfbcc *= one - omegaD;
-			//mfcbc *= one - omegaD;
-			//mfccb *= one - omegaD;
-			Mcbc = c0o1;
-			Mbcc = c0o1;
-			Mccb = c0o1;
-
-			//2.
-			mfbba = c0o1;
-			mfbab = c0o1;
-			mfabb = c0o1;
-
-			mfcaa = c1o3 * drho;
-			mfaca = c1o3 * drho;
-			mfaac = c1o3 * drho;
-
-			//4.
-			mfacc = c1o9 * drho;
-			mfcac = c1o9 * drho;
-			mfcca = c1o9 * drho;
-
-			mfcbb = c0o1;
-			mfbcb = c0o1;
-			mfbbc = c0o1;
-
-			//6.
-			mfccc = c1o27 * drho;
-
-			//3.
-			mfabc = Mabc + mfaba*c1o3;
-			mfbca = Mbca + mfbaa*c1o3;
-			mfacb = Macb + mfaab*c1o3;
-			mfcba = Mcba + mfaba*c1o3;
-			mfcab = Mcab + mfaab*c1o3;
-			mfbac = Mbac + mfbaa*c1o3;
-			//5.	  
-			mfcbc = Mcbc + mfaba*c1o9;
-			mfbcc = Mbcc + mfbaa*c1o9;
-			mfccb = Mccb + mfaab*c1o9;
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D27.f[dP00])[k] = mfabb;
-			(D27.f[dM00])[kw] = mfcbb;
-			(D27.f[d0P0])[k] = mfbab;
-			(D27.f[d0M0])[ks] = mfbcb;
-			(D27.f[d00P])[k] = mfbba;
-			(D27.f[d00M])[kb] = mfbbc;
-			(D27.f[dPP0])[k] = mfaab;
-			(D27.f[dMM0])[ksw] = mfccb;
-			(D27.f[dPM0])[ks] = mfacb;
-			(D27.f[dMP0])[kw] = mfcab;
-			(D27.f[dP0P])[k] = mfaba;
-			(D27.f[dM0M])[kbw] = mfcbc;
-			(D27.f[dP0M])[kb] = mfabc;
-			(D27.f[dM0P])[kw] = mfcba;
-			(D27.f[d0PP])[k] = mfbaa;
-			(D27.f[d0MM])[kbs] = mfbcc;
-			(D27.f[d0PM])[kb] = mfbac;
-			(D27.f[d0MP])[ks] = mfbca;
-			(D27.f[d000])[k] = mfbbb;
-			(D27.f[dPPP])[k] = mfaaa;
-			(D27.f[dPMP])[ks] = mfaca;
-			(D27.f[dPPM])[kb] = mfaac;
-			(D27.f[dPMM])[kbs] = mfacc;
-			(D27.f[dMPP])[kw] = mfcaa;
-			(D27.f[dMMP])[ksw] = mfcca;
-			(D27.f[dMPM])[kbw] = mfcac;
-			(D27.f[dMMM])[kbsw] = mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7.cu b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7.cu
deleted file mode 100644
index fa1652d06e0137aae185a37938460e96234a36e4..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7.cu
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "B12IncompressibleAdvectionDiffusionD3Q7.h"
-
-#include "B12IncompressibleAdvectionDiffusionD3Q7_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<B12IncompressibleAdvectionDiffusionD3Q7> B12IncompressibleAdvectionDiffusionD3Q7::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<B12IncompressibleAdvectionDiffusionD3Q7>(new B12IncompressibleAdvectionDiffusionD3Q7(para, level));
-}
-
-void B12IncompressibleAdvectionDiffusionD3Q7::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    B12IncompressibleAdvectionDiffusionD3Q7_Device<<< grid.grid, grid.threads >>>(
-        para->getParD(level)->diffusivity, 
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX, 
-        para->getParD(level)->neighborY, 
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->distributionsAD7.f[0], 
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("B12IncompressibleAdvectionDiffusionD3Q7_Device execution failed");
-}
-
-B12IncompressibleAdvectionDiffusionD3Q7::B12IncompressibleAdvectionDiffusionD3Q7(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitIncompAD7);
-
-}
-
-B12IncompressibleAdvectionDiffusionD3Q7::B12IncompressibleAdvectionDiffusionD3Q7()
-{
-}
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7.h b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7.h
deleted file mode 100644
index 52113c30f13795621dea0cc2ff1d624d9bc26f1f..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef B12IncompressibleAdvectionDiffusionD3Q7_H
-#define B12IncompressibleAdvectionDiffusionD3Q7_H
-
-#include "Kernel/AdvectionDiffusionKernel.h"
-
-class B12IncompressibleAdvectionDiffusionD3Q7 : public AdvectionDiffusionKernel
-{
-public:
-	static std::shared_ptr<B12IncompressibleAdvectionDiffusionD3Q7> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	B12IncompressibleAdvectionDiffusionD3Q7();
-	B12IncompressibleAdvectionDiffusionD3Q7(std::shared_ptr< Parameter> para, int level);
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7_Device.cu b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7_Device.cu
deleted file mode 100644
index 0392674181f1384100bd512791e36bc84cb783e1..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7_Device.cu
+++ /dev/null
@@ -1,279 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void B12IncompressibleAdvectionDiffusionD3Q7_Device(real diffusivity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* DD7,
-	unsigned long long numberOfLBnodes,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<numberOfLBnodes)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dM00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dMPM * numberOfLBnodes];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * numberOfLBnodes];
-				D.f[dP00] = &DDStart[dM00 * numberOfLBnodes];
-				D.f[d0M0] = &DDStart[d0P0 * numberOfLBnodes];
-				D.f[d0P0] = &DDStart[d0M0 * numberOfLBnodes];
-				D.f[d00M] = &DDStart[d00P * numberOfLBnodes];
-				D.f[d00P] = &DDStart[d00M * numberOfLBnodes];
-				D.f[dMM0] = &DDStart[dPP0 * numberOfLBnodes];
-				D.f[dPP0] = &DDStart[dMM0 * numberOfLBnodes];
-				D.f[dMP0] = &DDStart[dPM0 * numberOfLBnodes];
-				D.f[dPM0] = &DDStart[dMP0 * numberOfLBnodes];
-				D.f[dM0M] = &DDStart[dP0P * numberOfLBnodes];
-				D.f[dP0P] = &DDStart[dM0M * numberOfLBnodes];
-				D.f[dM0P] = &DDStart[dP0M * numberOfLBnodes];
-				D.f[dP0M] = &DDStart[dM0P * numberOfLBnodes];
-				D.f[d0MM] = &DDStart[d0PP * numberOfLBnodes];
-				D.f[d0PP] = &DDStart[d0MM * numberOfLBnodes];
-				D.f[d0MP] = &DDStart[d0PM * numberOfLBnodes];
-				D.f[d0PM] = &DDStart[d0MP * numberOfLBnodes];
-				D.f[d000] = &DDStart[d000 * numberOfLBnodes];
-				D.f[dMMM] = &DDStart[dPPP * numberOfLBnodes];
-				D.f[dPPM] = &DDStart[dMMP * numberOfLBnodes];
-				D.f[dMPM] = &DDStart[dPMP * numberOfLBnodes];
-				D.f[dPMM] = &DDStart[dMPP * numberOfLBnodes];
-				D.f[dMMP] = &DDStart[dPPM * numberOfLBnodes];
-				D.f[dPPP] = &DDStart[dMMM * numberOfLBnodes];
-				D.f[dMPP] = &DDStart[dPMM * numberOfLBnodes];
-				D.f[dPMP] = &DDStart[dMPM * numberOfLBnodes];
-			}
-
-			Distributions7 D7;
-			if (EvenOrOdd == true)
-			{
-				D7.f[0] = &DD7[0 * numberOfLBnodes];
-				D7.f[1] = &DD7[1 * numberOfLBnodes];
-				D7.f[2] = &DD7[2 * numberOfLBnodes];
-				D7.f[3] = &DD7[3 * numberOfLBnodes];
-				D7.f[4] = &DD7[4 * numberOfLBnodes];
-				D7.f[5] = &DD7[5 * numberOfLBnodes];
-				D7.f[6] = &DD7[6 * numberOfLBnodes];
-			}
-			else
-			{
-				D7.f[0] = &DD7[0 * numberOfLBnodes];
-				D7.f[2] = &DD7[1 * numberOfLBnodes];
-				D7.f[1] = &DD7[2 * numberOfLBnodes];
-				D7.f[4] = &DD7[3 * numberOfLBnodes];
-				D7.f[3] = &DD7[4 * numberOfLBnodes];
-				D7.f[6] = &DD7[5 * numberOfLBnodes];
-				D7.f[5] = &DD7[6 * numberOfLBnodes];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kw = neighborX[k];
-			unsigned int ks = neighborY[k];
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			unsigned int kbw = neighborZ[kw];
-			unsigned int kbs = neighborZ[ks];
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real fW = (D.f[dP00])[k];//ke
-			real fE = (D.f[dM00])[kw];
-			real fS = (D.f[d0P0])[k];//kn
-			real fN = (D.f[d0M0])[ks];
-			real fB = (D.f[d00P])[k];//kt
-			real fT = (D.f[d00M])[kb];
-			real fSW = (D.f[dPP0])[k];//kne
-			real fNE = (D.f[dMM0])[ksw];
-			real fNW = (D.f[dPM0])[ks];//kse
-			real fSE = (D.f[dMP0])[kw];//knw
-			real fBW = (D.f[dP0P])[k];//kte
-			real fTE = (D.f[dM0M])[kbw];
-			real fTW = (D.f[dP0M])[kb];//kbe
-			real fBE = (D.f[dM0P])[kw];//ktw
-			real fBS = (D.f[d0PP])[k];//ktn
-			real fTN = (D.f[d0MM])[kbs];
-			real fTS = (D.f[d0PM])[kb];//kbn
-			real fBN = (D.f[d0MP])[ks];//kts
-			//real fZERO = (D.f[d000])[k];//kzero
-			real fBSW = (D.f[dPPP])[k];//ktne
-			real fBNE = (D.f[dMMP])[ksw];//ktsw
-			real fBNW = (D.f[dPMP])[ks];//ktse
-			real fBSE = (D.f[dMPP])[kw];//ktnw
-			real fTSW = (D.f[dPPM])[kb];//kbne
-			real fTNE = (D.f[dMMM])[kbsw];
-			real fTNW = (D.f[dPMM])[kbs];//kbse
-			real fTSE = (D.f[dMPM])[kbw];//kbnw
-										   //real fE    =  (D.f[dP00])[k  ];//ke
-										   //real fW    =  (D.f[dM00])[kw ];
-										   //real fN    =  (D.f[d0P0])[k  ];//kn
-										   //real fS    =  (D.f[d0M0])[ks ];
-										   //real fT    =  (D.f[d00P])[k  ];//kt
-										   //real fB    =  (D.f[d00M])[kb ];
-										   //real fNE   =  (D.f[dPP0])[k  ];//kne
-										   //real fSW   =  (D.f[dMM0])[ksw];
-										   //real fSE   =  (D.f[dPM0])[ks ];//kse
-										   //real fNW   =  (D.f[dMP0])[kw ];//knw
-										   //real fTE   =  (D.f[dP0P])[k  ];//kte
-										   //real fBW   =  (D.f[dM0M])[kbw];
-										   //real fBE   =  (D.f[dP0M])[kb ];//kbe
-										   //real fTW   =  (D.f[dM0P])[kw ];//ktw
-										   //real fTN   =  (D.f[d0PP])[k  ];//ktn
-										   //real fBS   =  (D.f[d0MM])[kbs];
-										   //real fBN   =  (D.f[d0PM])[kb ];//kbn
-										   //real fTS   =  (D.f[d0MP])[ks ];//kts
-										   //real fZERO =  (D.f[d000])[k  ];//kzero
-										   //real fTNE   = (D.f[dPPP])[k  ];//ktne
-										   //real fTSW   = (D.f[dMMP])[ksw];//ktsw
-										   //real fTSE   = (D.f[dPMP])[ks ];//ktse
-										   //real fTNW   = (D.f[dMPP])[kw ];//ktnw
-										   //real fBNE   = (D.f[dPPM])[kb ];//kbne
-										   //real fBSW   = (D.f[dMMM])[kbsw];
-										   //real fBSE   = (D.f[dPMM])[kbs];//kbse
-										   //real fBNW   = (D.f[dMPM])[kbw];//kbnw
-										   ////////////////////////////////////////////////////////////////////////////////
-			real f7ZERO = (D7.f[0])[k];
-			real f7E = (D7.f[1])[k];
-			real f7W = (D7.f[2])[kw];
-			real f7N = (D7.f[3])[k];
-			real f7S = (D7.f[4])[ks];
-			real f7T = (D7.f[5])[k];
-			real f7B = (D7.f[6])[kb];
-			////////////////////////////////////////////////////////////////////////////////
-			real vx = ((fTNE - fBSW) + (fBNE - fTSW) + (fTSE - fBNW) + (fBSE - fTNW) + (fNE - fSW) + (fSE - fNW) + (fTE - fBW) + (fBE - fTW) + (fE - fW));
-			real vy = ((fTNE - fBSW) + (fBNE - fTSW) + (fBNW - fTSE) + (fTNW - fBSE) + (fNE - fSW) + (fNW - fSE) + (fTN - fBS) + (fBN - fTS) + (fN - fS));
-			real vz = ((fTNE - fBSW) + (fTSW - fBNE) + (fTSE - fBNW) + (fTNW - fBSE) + (fTE - fBW) + (fTW - fBE) + (fTN - fBS) + (fTS - fBN) + (fT - fB));
-			////d�rrrrrty !!!!!!!!!!!!!
-			//      real vx     =  ten * ((fTNE-fBSW)+(fBNE-fTSW)+(fTSE-fBNW)+(fBSE-fTNW) +(fNE-fSW)+(fSE-fNW)+(fTE-fBW)+(fBE-fTW)+(fE-fW));
-			//      real vy     =  ten * ((fTNE-fBSW)+(fBNE-fTSW)+(fBNW-fTSE)+(fTNW-fBSE) +(fNE-fSW)+(fNW-fSE)+(fTN-fBS)+(fBN-fTS)+(fN-fS));
-			//      real vz     =  ten * ((fTNE-fBSW)+(fTSW-fBNE)+(fTSE-fBNW)+(fTNW-fBSE) +(fTE-fBW)+(fTW-fBE)+(fTN-fBS)+(fTS-fBN)+(fT-fB));
-			////////////////////////////////////////////////////////////////////////////////
-			//real ux_sq = vx * vx;
-			//real uy_sq = vy * vy;
-			//real uz_sq = vz * vz;
-			////////////////////////////////////////////////////////////////////////////////
-			//BGK
-			//real omegaD     = -three + sqrt(three); !!!!!!!!!!!!!!Achtung!!!!!!!!!!!!!!!!!! anderes Vorzeichen als in den Randbedingungen
-			//real Lam         = -(c1o2+one/omegaD);
-			//real nue_d       = Lam/three;
-			//real ae          = diffusivity/nue_d - one;
-
-			//real ConcD       = f7ZERO+f7E+f7W+f7N+f7S+f7T+f7B;
-
-			//(D7.f[0])[k  ] = f7ZERO*(one+omegaD)-omegaD*ConcD*(c1o3*(ae*(-three))-(ux_sq+uy_sq+uz_sq));
-			//(D7.f[2])[kw ] = f7E   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(ux_sq)+vx*c1o2);
-			//(D7.f[1])[k  ] = f7W   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(ux_sq)-vx*c1o2);
-			//(D7.f[4])[ks ] = f7N   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(uy_sq)+vy*c1o2);
-			//(D7.f[3])[k  ] = f7S   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(uy_sq)-vy*c1o2);
-			//(D7.f[6])[kb ] = f7T   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(uz_sq)+vz*c1o2);
-			//(D7.f[5])[k  ] = f7B   *(one+omegaD)-omegaD*ConcD*(c1o6*(ae+one)+c1o2*(uz_sq)-vz*c1o2);
-
-			////////////////////////////////////////////////////////////////////////////////
-			//TRT  Yoshida Kernel - based on Ying
-			//real cs2 = c1o4;
-			real Lam = diffusivity*c4o1;//diffusivity/(one)/cs2;
-			real omegaD = -c1o1 / (Lam + c1o2);
-			//real ae = c0o1;
-			////////////////////////////////////////////////////////////////////////////////
-			real ConcD = f7ZERO + f7E + f7W + f7N + f7S + f7T + f7B;
-
-			real Mom000 = f7ZERO + f7W + f7E + f7N + f7S + f7T + f7B; //1
-			real Mom100 = f7E - f7W;
-			real Mom010 = f7N - f7S;
-			real Mom001 = f7T - f7B;
-			real Mom222 = c6o1*f7ZERO - f7W - f7E - f7N - f7S - f7T - f7B;
-			real Mom200 = c2o1*f7W + c2o1*f7E - f7N - f7S - f7T - f7B;
-			real Mom022 = f7N + f7S - f7T - f7B;
-
-			real Meq000 = ConcD;
-			real Meq100 = ConcD*vx;
-			real Meq010 = ConcD*vy;
-			real Meq001 = ConcD*vz;
-			real Meq222 = c3o4*ConcD;
-			real Meq200 = c0o1;
-			real Meq022 = c0o1;
-
-			// relaxation TRT Yoshida
-
-			// odd 
-			Mom100 = omegaD * (Mom100 - Meq100);
-			Mom010 = omegaD * (Mom010 - Meq010);
-			Mom001 = omegaD * (Mom001 - Meq001);
-
-			// even
-			Mom000 = -c1o1*(Mom000 - Meq000);
-			Mom222 = -c1o1*(Mom222 - Meq222);
-			Mom200 = -c1o1*(Mom200 - Meq200);
-			Mom022 = -c1o1*(Mom022 - Meq022);
-
-			//Back transformation to distributions
-			f7ZERO = f7ZERO + c1o7*Mom000 + c1o7*Mom222;                                                  //1
-			f7E = f7E + c1o7*Mom000 + c1o2*Mom100 - c1o6*c1o7*Mom222 + c1o6*Mom200;                 //2
-			f7W = f7W + c1o7*Mom000 - c1o2*Mom100 - c1o6*c1o7*Mom222 + c1o6*Mom200;                 //3
-			f7N = f7N + c1o7*Mom000 + c1o2*Mom010 - c1o6*c1o7*Mom222 - c1o12*Mom200 + c1o4 *Mom022; //4
-			f7S = f7S + c1o7*Mom000 - c1o2*Mom010 - c1o6*c1o7*Mom222 - c1o12*Mom200 + c1o4 *Mom022; //5
-			f7T = f7T + c1o7*Mom000 + c1o2*Mom001 - c1o6*c1o7*Mom222 - c1o12*Mom200 - c1o4 *Mom022; //6
-			f7B = f7B + c1o7*Mom000 - c1o2*Mom001 - c1o6*c1o7*Mom222 - c1o12*Mom200 - c1o4 *Mom022; //7
-
-			(D7.f[0])[k] = f7ZERO;
-			(D7.f[2])[kw] = f7E;
-			(D7.f[1])[k] = f7W;
-			(D7.f[4])[ks] = f7N;
-			(D7.f[3])[k] = f7S;
-			(D7.f[6])[kb] = f7T;
-			(D7.f[5])[k] = f7B;
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7_Device.cuh b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7_Device.cuh
deleted file mode 100644
index e15d77a37351964e9fe3a23b45dfdec5289ea348..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7_Device.cuh
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef B12IncompressibleAdvectionDiffusionD3Q7_Device_H
-#define B12IncompressibleAdvectionDiffusionD3Q7_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void B12IncompressibleAdvectionDiffusionD3Q7_Device(real diffusivity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* DD7,
-	unsigned long long numberOfLBnodes,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion.cu b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion.cu
similarity index 80%
rename from src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion.cu
rename to src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion.cu
index 7d7211a97ee7988abbda78e3c1e054bba2b1bd73..2e28074650c3c6d8b4ecc668bf9605e3d0396370 100644
--- a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion.cu
+++ b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<F16IncompressibleAdvectionDiffusion> F16IncompressibleAdvectionDiffusion::getNewInstance(std::shared_ptr<Parameter> para, int level)
 {
-	return std::shared_ptr<F16IncompressibleAdvectionDiffusion>(new F16IncompressibleAdvectionDiffusion(para, level));
+    return std::shared_ptr<F16IncompressibleAdvectionDiffusion>(new F16IncompressibleAdvectionDiffusion(para, level));
 }
 
 void F16IncompressibleAdvectionDiffusion::run()
@@ -21,17 +21,18 @@ void F16IncompressibleAdvectionDiffusion::run()
         para->getParD(level)->neighborZ,
         para->getParD(level)->distributions.f[0], 
         para->getParD(level)->distributionsAD.f[0], 
-        para->getParD(level)->numberOfNodes,
+        para->getParD(level)->numberOfNodes, 
+        para->getParD(level)->forcing,
         para->getParD(level)->isEvenTimestep);
     getLastCudaError("F16IncompressibleAdvectionDiffusion_Device execution failed");
 }
 
 F16IncompressibleAdvectionDiffusion::F16IncompressibleAdvectionDiffusion(std::shared_ptr<Parameter> para, int level)
 {
-	this->para = para;
-	this->level = level;
+    this->para = para;
+    this->level = level;
 
-	myPreProcessorTypes.push_back(InitIncompAD27);
+    myPreProcessorTypes.push_back(InitIncompAD27);
 
 }
 
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion.h b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion.h
new file mode 100644
index 0000000000000000000000000000000000000000..d46c9bf7ba146f46d4bc1c47ec9a22259e920f19
--- /dev/null
+++ b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion.h
@@ -0,0 +1,17 @@
+#ifndef F16IncompressibleAdvectionDiffusion_H
+#define F16IncompressibleAdvectionDiffusion_H
+
+#include "Kernel/AdvectionDiffusionKernel.h"
+
+
+class F16IncompressibleAdvectionDiffusion : public AdvectionDiffusionKernel
+{
+public:
+    static std::shared_ptr<F16IncompressibleAdvectionDiffusion> getNewInstance(std::shared_ptr<Parameter> para, int level);
+    void run();
+
+private:
+    F16IncompressibleAdvectionDiffusion();
+    F16IncompressibleAdvectionDiffusion(std::shared_ptr< Parameter> para, int level);
+};
+#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion_Device.cu b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion_Device.cu
new file mode 100644
index 0000000000000000000000000000000000000000..3c1dd9524d9fcc02c298483d24dffd924297ef9c
--- /dev/null
+++ b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion_Device.cu
@@ -0,0 +1,475 @@
+#include "LBM/LB.h" 
+#include "lbm/constants/D3Q27.h"
+#include <lbm/ChimeraTransformation.h>
+#include <basics/constants/NumericConstants.h>
+
+using namespace vf::basics::constant;
+using namespace vf::lbm;
+using namespace vf::lbm::dir;
+#include "math.h"
+
+__global__ void F16IncompressibleAdvectionDiffusion_Device(
+    real omegaDiffusivity,
+    uint* typeOfGridNode,
+    uint* neighborX,
+    uint* neighborY,
+    uint* neighborZ,
+    real* distributions,
+    real* distributionsAD,
+    unsigned long long numberOfLBnodes,
+    real* forces,
+    bool isEvenTimestep)
+{
+    //////////////////////////////////////////////////////////////////////////
+    //! Cumulant K17 Kernel is based on \ref
+    //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040 ]</b></a>
+    //! and \ref
+    //! <a href="https://doi.org/10.1016/j.jcp.2017.07.004"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.07.004 ]</b></a>
+    //!
+    //! The cumulant kernel is executed in the following steps
+    //!
+    ////////////////////////////////////////////////////////////////////////////////
+    //! - Get node index coordinates from threadIdx, blockIdx, blockDim and gridDim.
+    //!
+    const unsigned  x = threadIdx.x;
+    const unsigned  y = blockIdx.x;
+    const unsigned  z = blockIdx.y;
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+
+    //////////////////////////////////////////////////////////////////////////
+    // run for all indices in size_Mat and fluid nodes
+    if ((k < numberOfLBnodes) && (typeOfGridNode[k] == GEO_FLUID))
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //! - Read distributions: style of reading and writing the distributions from/to stored arrays dependent on timestep is based on the esoteric twist algorithm \ref
+        //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), DOI:10.3390/computation5020019 ]</b></a>
+        //!
+        Distributions27 dist;
+        if (isEvenTimestep)
+        {
+            dist.f[dP00] = &distributions[dP00 * numberOfLBnodes];
+            dist.f[dM00] = &distributions[dM00 * numberOfLBnodes];
+            dist.f[d0P0] = &distributions[d0P0 * numberOfLBnodes];
+            dist.f[d0M0] = &distributions[d0M0 * numberOfLBnodes];
+            dist.f[d00P] = &distributions[d00P * numberOfLBnodes];
+            dist.f[d00M] = &distributions[d00M * numberOfLBnodes];
+            dist.f[dPP0] = &distributions[dPP0 * numberOfLBnodes];
+            dist.f[dMM0] = &distributions[dMM0 * numberOfLBnodes];
+            dist.f[dPM0] = &distributions[dPM0 * numberOfLBnodes];
+            dist.f[dMP0] = &distributions[dMP0 * numberOfLBnodes];
+            dist.f[dP0P] = &distributions[dP0P * numberOfLBnodes];
+            dist.f[dM0M] = &distributions[dM0M * numberOfLBnodes];
+            dist.f[dP0M] = &distributions[dP0M * numberOfLBnodes];
+            dist.f[dM0P] = &distributions[dM0P * numberOfLBnodes];
+            dist.f[d0PP] = &distributions[d0PP * numberOfLBnodes];
+            dist.f[d0MM] = &distributions[d0MM * numberOfLBnodes];
+            dist.f[d0PM] = &distributions[d0PM * numberOfLBnodes];
+            dist.f[d0MP] = &distributions[d0MP * numberOfLBnodes];
+            dist.f[d000] = &distributions[d000 * numberOfLBnodes];
+            dist.f[dPPP] = &distributions[dPPP * numberOfLBnodes];
+            dist.f[dMMP] = &distributions[dMMP * numberOfLBnodes];
+            dist.f[dPMP] = &distributions[dPMP * numberOfLBnodes];
+            dist.f[dMPP] = &distributions[dMPP * numberOfLBnodes];
+            dist.f[dPPM] = &distributions[dPPM * numberOfLBnodes];
+            dist.f[dMMM] = &distributions[dMMM * numberOfLBnodes];
+            dist.f[dPMM] = &distributions[dPMM * numberOfLBnodes];
+            dist.f[dMPM] = &distributions[dMPM * numberOfLBnodes];
+        }
+        else
+        {
+            dist.f[dM00] = &distributions[dP00 * numberOfLBnodes];
+            dist.f[dP00] = &distributions[dM00 * numberOfLBnodes];
+            dist.f[d0M0] = &distributions[d0P0 * numberOfLBnodes];
+            dist.f[d0P0] = &distributions[d0M0 * numberOfLBnodes];
+            dist.f[d00M] = &distributions[d00P * numberOfLBnodes];
+            dist.f[d00P] = &distributions[d00M * numberOfLBnodes];
+            dist.f[dMM0] = &distributions[dPP0 * numberOfLBnodes];
+            dist.f[dPP0] = &distributions[dMM0 * numberOfLBnodes];
+            dist.f[dMP0] = &distributions[dPM0 * numberOfLBnodes];
+            dist.f[dPM0] = &distributions[dMP0 * numberOfLBnodes];
+            dist.f[dM0M] = &distributions[dP0P * numberOfLBnodes];
+            dist.f[dP0P] = &distributions[dM0M * numberOfLBnodes];
+            dist.f[dM0P] = &distributions[dP0M * numberOfLBnodes];
+            dist.f[dP0M] = &distributions[dM0P * numberOfLBnodes];
+            dist.f[d0MM] = &distributions[d0PP * numberOfLBnodes];
+            dist.f[d0PP] = &distributions[d0MM * numberOfLBnodes];
+            dist.f[d0MP] = &distributions[d0PM * numberOfLBnodes];
+            dist.f[d0PM] = &distributions[d0MP * numberOfLBnodes];
+            dist.f[d000] = &distributions[d000 * numberOfLBnodes];
+            dist.f[dMMM] = &distributions[dPPP * numberOfLBnodes];
+            dist.f[dPPM] = &distributions[dMMP * numberOfLBnodes];
+            dist.f[dMPM] = &distributions[dPMP * numberOfLBnodes];
+            dist.f[dPMM] = &distributions[dMPP * numberOfLBnodes];
+            dist.f[dMMP] = &distributions[dPPM * numberOfLBnodes];
+            dist.f[dPPP] = &distributions[dMMM * numberOfLBnodes];
+            dist.f[dMPP] = &distributions[dPMM * numberOfLBnodes];
+            dist.f[dPMP] = &distributions[dMPM * numberOfLBnodes];
+        }
+        ////////////////////////////////////////////////////////////////////////////////
+        Distributions27 distAD;
+        if (isEvenTimestep)
+        {
+            distAD.f[dP00] = &distributionsAD[dP00 * numberOfLBnodes];
+            distAD.f[dM00] = &distributionsAD[dM00 * numberOfLBnodes];
+            distAD.f[d0P0] = &distributionsAD[d0P0 * numberOfLBnodes];
+            distAD.f[d0M0] = &distributionsAD[d0M0 * numberOfLBnodes];
+            distAD.f[d00P] = &distributionsAD[d00P * numberOfLBnodes];
+            distAD.f[d00M] = &distributionsAD[d00M * numberOfLBnodes];
+            distAD.f[dPP0] = &distributionsAD[dPP0 * numberOfLBnodes];
+            distAD.f[dMM0] = &distributionsAD[dMM0 * numberOfLBnodes];
+            distAD.f[dPM0] = &distributionsAD[dPM0 * numberOfLBnodes];
+            distAD.f[dMP0] = &distributionsAD[dMP0 * numberOfLBnodes];
+            distAD.f[dP0P] = &distributionsAD[dP0P * numberOfLBnodes];
+            distAD.f[dM0M] = &distributionsAD[dM0M * numberOfLBnodes];
+            distAD.f[dP0M] = &distributionsAD[dP0M * numberOfLBnodes];
+            distAD.f[dM0P] = &distributionsAD[dM0P * numberOfLBnodes];
+            distAD.f[d0PP] = &distributionsAD[d0PP * numberOfLBnodes];
+            distAD.f[d0MM] = &distributionsAD[d0MM * numberOfLBnodes];
+            distAD.f[d0PM] = &distributionsAD[d0PM * numberOfLBnodes];
+            distAD.f[d0MP] = &distributionsAD[d0MP * numberOfLBnodes];
+            distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
+            distAD.f[dPPP] = &distributionsAD[dPPP * numberOfLBnodes];
+            distAD.f[dMMP] = &distributionsAD[dMMP * numberOfLBnodes];
+            distAD.f[dPMP] = &distributionsAD[dPMP * numberOfLBnodes];
+            distAD.f[dMPP] = &distributionsAD[dMPP * numberOfLBnodes];
+            distAD.f[dPPM] = &distributionsAD[dPPM * numberOfLBnodes];
+            distAD.f[dMMM] = &distributionsAD[dMMM * numberOfLBnodes];
+            distAD.f[dPMM] = &distributionsAD[dPMM * numberOfLBnodes];
+            distAD.f[dMPM] = &distributionsAD[dMPM * numberOfLBnodes];
+        }
+        else
+        {
+            distAD.f[dM00] = &distributionsAD[dP00 * numberOfLBnodes];
+            distAD.f[dP00] = &distributionsAD[dM00 * numberOfLBnodes];
+            distAD.f[d0M0] = &distributionsAD[d0P0 * numberOfLBnodes];
+            distAD.f[d0P0] = &distributionsAD[d0M0 * numberOfLBnodes];
+            distAD.f[d00M] = &distributionsAD[d00P * numberOfLBnodes];
+            distAD.f[d00P] = &distributionsAD[d00M * numberOfLBnodes];
+            distAD.f[dMM0] = &distributionsAD[dPP0 * numberOfLBnodes];
+            distAD.f[dPP0] = &distributionsAD[dMM0 * numberOfLBnodes];
+            distAD.f[dMP0] = &distributionsAD[dPM0 * numberOfLBnodes];
+            distAD.f[dPM0] = &distributionsAD[dMP0 * numberOfLBnodes];
+            distAD.f[dM0M] = &distributionsAD[dP0P * numberOfLBnodes];
+            distAD.f[dP0P] = &distributionsAD[dM0M * numberOfLBnodes];
+            distAD.f[dM0P] = &distributionsAD[dP0M * numberOfLBnodes];
+            distAD.f[dP0M] = &distributionsAD[dM0P * numberOfLBnodes];
+            distAD.f[d0MM] = &distributionsAD[d0PP * numberOfLBnodes];
+            distAD.f[d0PP] = &distributionsAD[d0MM * numberOfLBnodes];
+            distAD.f[d0MP] = &distributionsAD[d0PM * numberOfLBnodes];
+            distAD.f[d0PM] = &distributionsAD[d0MP * numberOfLBnodes];
+            distAD.f[d000] = &distributionsAD[d000 * numberOfLBnodes];
+            distAD.f[dMMM] = &distributionsAD[dPPP * numberOfLBnodes];
+            distAD.f[dPPM] = &distributionsAD[dMMP * numberOfLBnodes];
+            distAD.f[dMPM] = &distributionsAD[dPMP * numberOfLBnodes];
+            distAD.f[dPMM] = &distributionsAD[dMPP * numberOfLBnodes];
+            distAD.f[dMMP] = &distributionsAD[dPPM * numberOfLBnodes];
+            distAD.f[dPPP] = &distributionsAD[dMMM * numberOfLBnodes];
+            distAD.f[dMPP] = &distributionsAD[dPMM * numberOfLBnodes];
+            distAD.f[dPMP] = &distributionsAD[dMPM * numberOfLBnodes];
+        }
+        ////////////////////////////////////////////////////////////////////////////////
+        //! - Set neighbor indices (necessary for indirect addressing)
+        uint kw   = neighborX[k];
+        uint ks   = neighborY[k];
+        uint kb   = neighborZ[k];
+        uint ksw  = neighborY[kw];
+        uint kbw  = neighborZ[kw];
+        uint kbs  = neighborZ[ks];
+        uint kbsw = neighborZ[ksw];
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Set local distributions Fluid
+        //!
+        real fcbb = (dist.f[dP00])[k];
+        real fabb = (dist.f[dM00])[kw];
+        real fbcb = (dist.f[d0P0])[k];
+        real fbab = (dist.f[d0M0])[ks];
+        real fbbc = (dist.f[d00P])[k];
+        real fbba = (dist.f[d00M])[kb];
+        real fccb = (dist.f[dPP0])[k];
+        real faab = (dist.f[dMM0])[ksw];
+        real fcab = (dist.f[dPM0])[ks];
+        real facb = (dist.f[dMP0])[kw];
+        real fcbc = (dist.f[dP0P])[k];
+        real faba = (dist.f[dM0M])[kbw];
+        real fcba = (dist.f[dP0M])[kb];
+        real fabc = (dist.f[dM0P])[kw];
+        real fbcc = (dist.f[d0PP])[k];
+        real fbaa = (dist.f[d0MM])[kbs];
+        real fbca = (dist.f[d0PM])[kb];
+        real fbac = (dist.f[d0MP])[ks];
+        real fbbb = (dist.f[d000])[k];
+        real fccc = (dist.f[dPPP])[k];
+        real faac = (dist.f[dMMP])[ksw];
+        real fcac = (dist.f[dPMP])[ks];
+        real facc = (dist.f[dMPP])[kw];
+        real fcca = (dist.f[dPPM])[kb];
+        real faaa = (dist.f[dMMM])[kbsw];
+        real fcaa = (dist.f[dPMM])[kbs];
+        real faca = (dist.f[dMPM])[kbw];
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Set local distributions Advection Diffusion
+        //!
+        real mfcbb = (distAD.f[dP00])[k];
+        real mfabb = (distAD.f[dM00])[kw];
+        real mfbcb = (distAD.f[d0P0])[k];
+        real mfbab = (distAD.f[d0M0])[ks];
+        real mfbbc = (distAD.f[d00P])[k];
+        real mfbba = (distAD.f[d00M])[kb];
+        real mfccb = (distAD.f[dPP0])[k];
+        real mfaab = (distAD.f[dMM0])[ksw];
+        real mfcab = (distAD.f[dPM0])[ks];
+        real mfacb = (distAD.f[dMP0])[kw];
+        real mfcbc = (distAD.f[dP0P])[k];
+        real mfaba = (distAD.f[dM0M])[kbw];
+        real mfcba = (distAD.f[dP0M])[kb];
+        real mfabc = (distAD.f[dM0P])[kw];
+        real mfbcc = (distAD.f[d0PP])[k];
+        real mfbaa = (distAD.f[d0MM])[kbs];
+        real mfbca = (distAD.f[d0PM])[kb];
+        real mfbac = (distAD.f[d0MP])[ks];
+        real mfbbb = (distAD.f[d000])[k];
+        real mfccc = (distAD.f[dPPP])[k];
+        real mfaac = (distAD.f[dMMP])[ksw];
+        real mfcac = (distAD.f[dPMP])[ks];
+        real mfacc = (distAD.f[dMPP])[kw];
+        real mfcca = (distAD.f[dPPM])[kb];
+        real mfaaa = (distAD.f[dMMM])[kbsw];
+        real mfcaa = (distAD.f[dPMM])[kbs];
+        real mfaca = (distAD.f[dMPM])[kbw];
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref
+        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
+        //!
+        ////////////////////////////////////////////////////////////////////////////////////
+        // fluid component
+        real drhoFluid =
+            ((((fccc + faaa) + (faca + fcac)) + ((facc + fcaa) + (faac + fcca))) +
+            (((fbac + fbca) + (fbaa + fbcc)) + ((fabc + fcba) + (faba + fcbc)) + ((facb + fcab) + (faab + fccb))) +
+            ((fabb + fcbb) + (fbab + fbcb) + (fbba + fbbc))) + fbbb;
+
+        real vvx =
+            ((((fccc - faaa) + (fcac - faca)) + ((fcaa - facc) + (fcca - faac))) +
+            (((fcba - fabc) + (fcbc - faba)) + ((fcab - facb) + (fccb - faab))) +
+            (fcbb - fabb));
+        real vvy =
+            ((((fccc - faaa) + (faca - fcac)) + ((facc - fcaa) + (fcca - faac))) +
+            (((fbca - fbac) + (fbcc - fbaa)) + ((facb - fcab) + (fccb - faab))) +
+            (fbcb - fbab));
+        real vvz =
+            ((((fccc - faaa) + (fcac - faca)) + ((facc - fcaa) + (faac - fcca))) +
+            (((fbac - fbca) + (fbcc - fbaa)) + ((fabc - fcba) + (fcbc - faba))) +
+            (fbbc - fbba));
+        ////////////////////////////////////////////////////////////////////////////////////
+        // second component
+        real rho =
+            ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) +
+            (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) +
+                ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb;
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Add half of the acceleration (body force) to the velocity as in Eq. (42) \ref
+        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
+        //!
+        real fx = forces[0];
+        real fy = forces[1];
+        real fz = -rho*forces[2];
+        vvx += fx*c1o2;
+        vvy += fy*c1o2;
+        vvz += fz*c1o2;
+        ////////////////////////////////////////////////////////////////////////////////////
+        // calculate the square of velocities for this lattice node
+        real vx2 = vvx*vvx;
+        real vy2 = vvy*vvy;
+        real vz2 = vvz*vvz;
+        ////////////////////////////////////////////////////////////////////////////////////
+        //real omegaDiffusivity = c2o1 / (c6o1 * diffusivity + c1o1);
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Chimera transform from distributions to central moments as defined in Eq. (43)-(45) in \ref
+        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
+        //!
+        ////////////////////////////////////////////////////////////////////////////////////
+        // Z - Dir
+        forwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
+        forwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
+        forwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
+        forwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
+        forwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
+        forwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
+        forwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
+        forwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
+        forwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        // Y - Dir
+        forwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
+        forwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
+        forwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
+        forwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
+        forwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
+        forwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
+        forwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
+        forwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
+        forwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        // X - Dir
+        forwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
+        forwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
+        forwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
+        forwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
+        forwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
+        forwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
+        forwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
+        forwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
+        forwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Factorized central moments for Advection Diffusion Equation - Eq. (15)-(16) in \ref
+        //! <a href="https://doi.org/10.1016/j.advwatres.2015.09.015"><b>[ X. Yang et al. (2016), DOI: 10.1016/j.advwatres.2015.09.015]</b></a>
+        //!
+
+        // linearized orthogonalization of 3rd order central moments
+        real Mabc = mfabc - mfaba*c1o3;
+        real Mbca = mfbca - mfbaa*c1o3;
+        real Macb = mfacb - mfaab*c1o3;
+        real Mcba = mfcba - mfaba*c1o3;
+        real Mcab = mfcab - mfaab*c1o3;
+        real Mbac = mfbac - mfbaa*c1o3;
+        // linearized orthogonalization of 5th order central moments
+        real Mcbc = mfcbc - mfaba*c1o9;
+        real Mbcc = mfbcc - mfbaa*c1o9;
+        real Mccb = mfccb - mfaab*c1o9;
+
+        // collision of 1st order moments
+        mfbaa *= c1o1 - omegaDiffusivity;
+        mfaba *= c1o1 - omegaDiffusivity;
+        mfaab *= c1o1 - omegaDiffusivity;
+
+        // equilibration of 3rd order moments
+        Mabc = c0o1;
+        Mbca = c0o1;
+        Macb = c0o1;
+        Mcba = c0o1;
+        Mcab = c0o1;
+        Mbac = c0o1;
+        mfbbb = c0o1;
+
+        // equilibration of 5th order moments
+        Mcbc = c0o1;
+        Mbcc = c0o1;
+        Mccb = c0o1;
+
+        // equilibration of 2nd order moments
+        mfbba = c0o1;
+        mfbab = c0o1;
+        mfabb = c0o1;
+
+        mfcaa = c1o3 * rho;
+        mfaca = c1o3 * rho;
+        mfaac = c1o3 * rho;
+
+        // equilibration of 4th order moments
+        mfacc = c1o9 * rho;
+        mfcac = c1o9 * rho;
+        mfcca = c1o9 * rho;
+
+        mfcbb = c0o1;
+        mfbcb = c0o1;
+        mfbbc = c0o1;
+
+        // equilibration of 6th order moment
+        mfccc = c1o27 * rho;
+
+        // from linearized orthogonalization 3rd order central moments to central moments
+        mfabc = Mabc + mfaba*c1o3;
+        mfbca = Mbca + mfbaa*c1o3;
+        mfacb = Macb + mfaab*c1o3;
+        mfcba = Mcba + mfaba*c1o3;
+        mfcab = Mcab + mfaab*c1o3;
+        mfbac = Mbac + mfbaa*c1o3;
+
+        // from linearized orthogonalization 5th order central moments to central moments
+        mfcbc = Mcbc + mfaba*c1o9;
+        mfbcc = Mbcc + mfbaa*c1o9;
+        mfccb = Mccb + mfaab*c1o9;
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Chimera transform from  central moments to distributions as defined in Eq. (88)-(96) in \ref
+        //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a>
+        //!
+        ////////////////////////////////////////////////////////////////////////////////////
+        // X - Dir
+        backwardChimera(mfaaa, mfbaa, mfcaa, vvx, vx2);
+        backwardChimera(mfaba, mfbba, mfcba, vvx, vx2);
+        backwardChimera(mfaca, mfbca, mfcca, vvx, vx2);
+        backwardChimera(mfaab, mfbab, mfcab, vvx, vx2);
+        backwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2);
+        backwardChimera(mfacb, mfbcb, mfccb, vvx, vx2);
+        backwardChimera(mfaac, mfbac, mfcac, vvx, vx2);
+        backwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2);
+        backwardChimera(mfacc, mfbcc, mfccc, vvx, vx2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        // Y - Dir
+        backwardChimera(mfaaa, mfaba, mfaca, vvy, vy2);
+        backwardChimera(mfaab, mfabb, mfacb, vvy, vy2);
+        backwardChimera(mfaac, mfabc, mfacc, vvy, vy2);
+        backwardChimera(mfbaa, mfbba, mfbca, vvy, vy2);
+        backwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2);
+        backwardChimera(mfbac, mfbbc, mfbcc, vvy, vy2);
+        backwardChimera(mfcaa, mfcba, mfcca, vvy, vy2);
+        backwardChimera(mfcab, mfcbb, mfccb, vvy, vy2);
+        backwardChimera(mfcac, mfcbc, mfccc, vvy, vy2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        // Z - Dir
+        backwardChimera(mfaaa, mfaab, mfaac, vvz, vz2);
+        backwardChimera(mfaba, mfabb, mfabc, vvz, vz2);
+        backwardChimera(mfaca, mfacb, mfacc, vvz, vz2);
+        backwardChimera(mfbaa, mfbab, mfbac, vvz, vz2);
+        backwardChimera(mfbba, mfbbb, mfbbc, vvz, vz2);
+        backwardChimera(mfbca, mfbcb, mfbcc, vvz, vz2);
+        backwardChimera(mfcaa, mfcab, mfcac, vvz, vz2);
+        backwardChimera(mfcba, mfcbb, mfcbc, vvz, vz2);
+        backwardChimera(mfcca, mfccb, mfccc, vvz, vz2);
+
+        ////////////////////////////////////////////////////////////////////////////////////
+        //! - Write distributions: style of reading and writing the distributions from/to
+        //! stored arrays dependent on timestep is based on the esoteric twist algorithm
+        //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), DOI:10.3390/computation5020019 ]</b></a>
+        //!
+        (distAD.f[dP00])[k   ] = mfabb;
+        (distAD.f[dM00])[kw  ] = mfcbb;
+        (distAD.f[d0P0])[k   ] = mfbab;
+        (distAD.f[d0M0])[ks  ] = mfbcb;
+        (distAD.f[d00P])[k   ] = mfbba;
+        (distAD.f[d00M])[kb  ] = mfbbc;
+        (distAD.f[dPP0])[k   ] = mfaab;
+        (distAD.f[dMM0])[ksw ] = mfccb;
+        (distAD.f[dPM0])[ks  ] = mfacb;
+        (distAD.f[dMP0])[kw  ] = mfcab;
+        (distAD.f[dP0P])[k   ] = mfaba;
+        (distAD.f[dM0M])[kbw ] = mfcbc;
+        (distAD.f[dP0M])[kb  ] = mfabc;
+        (distAD.f[dM0P])[kw  ] = mfcba;
+        (distAD.f[d0PP])[k   ] = mfbaa;
+        (distAD.f[d0MM])[kbs ] = mfbcc;
+        (distAD.f[d0PM])[kb  ] = mfbac;
+        (distAD.f[d0MP])[ks  ] = mfbca;
+        (distAD.f[d000])[k   ] = mfbbb;
+        (distAD.f[dPPP])[k   ] = mfaaa;
+        (distAD.f[dPMP])[ks  ] = mfaca;
+        (distAD.f[dPPM])[kb  ] = mfaac;
+        (distAD.f[dPMM])[kbs ] = mfacc;
+        (distAD.f[dMPP])[kw  ] = mfcaa;
+        (distAD.f[dMMP])[ksw ] = mfcca;
+        (distAD.f[dMPM])[kbw ] = mfcac;
+        (distAD.f[dMMM])[kbsw] = mfccc;
+    }
+}
+////////////////////////////////////////////////////////////////////////////////
+
diff --git a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion_Device.cuh b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion_Device.cuh
similarity index 50%
rename from src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion_Device.cuh
rename to src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion_Device.cuh
index 141e2fce7f8f2142550c17d11593ec707553981d..519fa3e5158a756a53b61800b9fb1bd3c0bf555f 100644
--- a/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion_Device.cuh
+++ b/src/gpu/core/Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion_Device.cuh
@@ -5,13 +5,14 @@
 #include <curand.h>
 
 __global__ void F16IncompressibleAdvectionDiffusion_Device(real diffusivity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* DD27,
-	unsigned long long numberOfLBnodes,
-	bool EvenOrOdd);
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    real* DD27, 
+    unsigned long long numberOfLBnodes, 
+    real* forces,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus.cu
index 846c2effc1d7df08f76e9752ed706e821254aba7..251cf7544eae9710d3460cacfdd4b301c9c48d79 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus.cu
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<B15IncompressibleNavierStokesBGKplus> B15IncompressibleNavierStokesBGKplus::getNewInstance(std::shared_ptr<Parameter> para, int level)
 {
-	return std::shared_ptr<B15IncompressibleNavierStokesBGKplus>(new B15IncompressibleNavierStokesBGKplus(para, level));
+    return std::shared_ptr<B15IncompressibleNavierStokesBGKplus>(new B15IncompressibleNavierStokesBGKplus(para, level));
 }
 
 void B15IncompressibleNavierStokesBGKplus::run()
@@ -27,12 +27,12 @@ void B15IncompressibleNavierStokesBGKplus::run()
 
 B15IncompressibleNavierStokesBGKplus::B15IncompressibleNavierStokesBGKplus(std::shared_ptr<Parameter> para, int level)
 {
-	this->para = para;
-	this->level = level;
+    this->para = para;
+    this->level = level;
 
-	myPreProcessorTypes.push_back(InitSP27);
+    myPreProcessorTypes.push_back(InitSP27);
 
-	
+    
 }
 
 B15IncompressibleNavierStokesBGKplus::B15IncompressibleNavierStokesBGKplus()
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus.h b/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus.h
index 2426d32cb0262c90aa32e8eaeea40ad9e273b75d..11585f69736db77bde471418bd548fa68ea9d6dd 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus.h
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus.h
@@ -6,12 +6,12 @@
 class B15IncompressibleNavierStokesBGKplus : public KernelImp
 {
 public:
-	static std::shared_ptr<B15IncompressibleNavierStokesBGKplus> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
+    static std::shared_ptr<B15IncompressibleNavierStokesBGKplus> getNewInstance(std::shared_ptr< Parameter> para, int level);
+    void run();
 
 private:
-	B15IncompressibleNavierStokesBGKplus();
-	B15IncompressibleNavierStokesBGKplus(std::shared_ptr< Parameter> para, int level);
+    B15IncompressibleNavierStokesBGKplus();
+    B15IncompressibleNavierStokesBGKplus(std::shared_ptr< Parameter> para, int level);
 
 };
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus_Device.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus_Device.cu
index 626f33bae48e880a14734281c884a4e0b309fac1..ea5dd79414218b055298cad4a804d250601f3f50 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus_Device.cu
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus_Device.cu
@@ -7,751 +7,751 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 __global__ void B15IncompressibleNavierStokesBGKplus_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
 
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
 
-	if (k < size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
+    if (k < size_Mat)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
 
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
+        if ((BC != GEO_SOLID) && (BC != GEO_VOID))
+        {
+            Distributions27 D;
+            if (EvenOrOdd == true)
+            {
+                D.f[dP00] = &DDStart[dP00 * size_Mat];
+                D.f[dM00] = &DDStart[dM00 * size_Mat];
+                D.f[d0P0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0M0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00P] = &DDStart[d00P * size_Mat];
+                D.f[d00M] = &DDStart[d00M * size_Mat];
+                D.f[dPP0] = &DDStart[dPP0 * size_Mat];
+                D.f[dMM0] = &DDStart[dMM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dPM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dMP0 * size_Mat];
+                D.f[dP0P] = &DDStart[dP0P * size_Mat];
+                D.f[dM0M] = &DDStart[dM0M * size_Mat];
+                D.f[dP0M] = &DDStart[dP0M * size_Mat];
+                D.f[dM0P] = &DDStart[dM0P * size_Mat];
+                D.f[d0PP] = &DDStart[d0PP * size_Mat];
+                D.f[d0MM] = &DDStart[d0MM * size_Mat];
+                D.f[d0PM] = &DDStart[d0PM * size_Mat];
+                D.f[d0MP] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dPPP] = &DDStart[dPPP * size_Mat];
+                D.f[dMMP] = &DDStart[dMMP * size_Mat];
+                D.f[dPMP] = &DDStart[dPMP * size_Mat];
+                D.f[dMPP] = &DDStart[dMPP * size_Mat];
+                D.f[dPPM] = &DDStart[dPPM * size_Mat];
+                D.f[dMMM] = &DDStart[dMMM * size_Mat];
+                D.f[dPMM] = &DDStart[dPMM * size_Mat];
+                D.f[dMPM] = &DDStart[dMPM * size_Mat];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * size_Mat];
+                D.f[dP00] = &DDStart[dM00 * size_Mat];
+                D.f[d0M0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0P0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00M] = &DDStart[d00P * size_Mat];
+                D.f[d00P] = &DDStart[d00M * size_Mat];
+                D.f[dMM0] = &DDStart[dPP0 * size_Mat];
+                D.f[dPP0] = &DDStart[dMM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dPM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dMP0 * size_Mat];
+                D.f[dM0M] = &DDStart[dP0P * size_Mat];
+                D.f[dP0P] = &DDStart[dM0M * size_Mat];
+                D.f[dM0P] = &DDStart[dP0M * size_Mat];
+                D.f[dP0M] = &DDStart[dM0P * size_Mat];
+                D.f[d0MM] = &DDStart[d0PP * size_Mat];
+                D.f[d0PP] = &DDStart[d0MM * size_Mat];
+                D.f[d0MP] = &DDStart[d0PM * size_Mat];
+                D.f[d0PM] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dMMM] = &DDStart[dPPP * size_Mat];
+                D.f[dPPM] = &DDStart[dMMP * size_Mat];
+                D.f[dMPM] = &DDStart[dPMP * size_Mat];
+                D.f[dPMM] = &DDStart[dMPP * size_Mat];
+                D.f[dMMP] = &DDStart[dPPM * size_Mat];
+                D.f[dPPP] = &DDStart[dMMM * size_Mat];
+                D.f[dMPP] = &DDStart[dPMM * size_Mat];
+                D.f[dPMP] = &DDStart[dMPM * size_Mat];
+            }
 
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-											//slow
-											//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-											//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-											//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb));
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab));
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
-				mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-																	   ////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real wadjust;
-			//real qudricLimit = 0.01f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1;
-			mfbac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1;
-			mfbbc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1;
-			mfcac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1;
-			mfcbc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1;
-			mfbca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1;
-			mfcac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            //unsigned int kzero= k;
+            //unsigned int ke   = k;
+            unsigned int kw = neighborX[k];
+            //unsigned int kn   = k;
+            unsigned int ks = neighborY[k];
+            //unsigned int kt   = k;
+            unsigned int kb = neighborZ[k];
+            unsigned int ksw = neighborY[kw];
+            //unsigned int kne  = k;
+            //unsigned int kse  = ks;
+            //unsigned int knw  = kw;
+            unsigned int kbw = neighborZ[kw];
+            //unsigned int kte  = k;
+            //unsigned int kbe  = kb;
+            //unsigned int ktw  = kw;
+            unsigned int kbs = neighborZ[ks];
+            //unsigned int ktn  = k;
+            //unsigned int kbn  = kb;
+            //unsigned int kts  = ks;
+            //unsigned int ktse = ks;
+            //unsigned int kbnw = kbw;
+            //unsigned int ktnw = kw;
+            //unsigned int kbse = kbs;
+            //unsigned int ktsw = ksw;
+            //unsigned int kbne = kb;
+            //unsigned int ktne = k;
+            unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
+            real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
+            real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
+            real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
+            real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
+            real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
+            real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
+            real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
+            real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
+            real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
+            real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
+            real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
+            real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
+            real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
+            real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
+            real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
+            real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
+            real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
+            real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
+            real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
+            real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
+            real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
+            real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
+            real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
+            real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
+            real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
+            real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
+                                            ////////////////////////////////////////////////////////////////////////////////////
+                                            //slow
+                                            //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                                            //                       (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                                            //                        ((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
+            real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
+                (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
+                (mfcbb - mfabb));
+            real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
+                (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
+                (mfbcb - mfbab));
+            real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
+                (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
+                (mfbbc - mfbba));
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            real oMdrho = c1o1 - (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
+                mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
+                mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb);//fehlt mfbbb nicht mehr
+                                                                       ////////////////////////////////////////////////////////////////////////////////////
+            real m0, m1, m2;
+            real vx2;
+            real vy2;
+            real vz2;
+            vx2 = vvx*vvx;
+            vy2 = vvy*vvy;
+            vz2 = vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //real wadjust;
+            //real qudricLimit = 0.01f;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2 = mfaaa + mfaac;
+            m1 = mfaac - mfaaa;
+            m0 = m2 + mfaab;
+            mfaaa = m0;
+            m0 += c1o36 * oMdrho;
+            mfaab = m1;
+            mfaac = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaba + mfabc;
+            m1 = mfabc - mfaba;
+            m0 = m2 + mfabb;
+            mfaba = m0;
+            m0 += c1o9 * oMdrho;
+            mfabb = m1;
+            mfabc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaca + mfacc;
+            m1 = mfacc - mfaca;
+            m0 = m2 + mfacb;
+            mfaca = m0;
+            m0 += c1o36 * oMdrho;
+            mfacb = m1;
+            mfacc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbaa + mfbac;
+            m1 = mfbac - mfbaa;
+            m0 = m2 + mfbab;
+            mfbaa = m0;
+            m0 += c1o9 * oMdrho;
+            mfbab = m1;
+            mfbac = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbba + mfbbc;
+            m1 = mfbbc - mfbba;
+            m0 = m2 + mfbbb;
+            mfbba = m0;
+            m0 += c4o9 * oMdrho;
+            mfbbb = m1;
+            mfbbc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbca + mfbcc;
+            m1 = mfbcc - mfbca;
+            m0 = m2 + mfbcb;
+            mfbca = m0;
+            m0 += c1o9 * oMdrho;
+            mfbcb = m1;
+            mfbcc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcaa + mfcac;
+            m1 = mfcac - mfcaa;
+            m0 = m2 + mfcab;
+            mfcaa = m0;
+            m0 += c1o36 * oMdrho;
+            mfcab = m1;
+            mfcac = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcba + mfcbc;
+            m1 = mfcbc - mfcba;
+            m0 = m2 + mfcbb;
+            mfcba = m0;
+            m0 += c1o9 * oMdrho;
+            mfcbb = m1;
+            mfcbc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcca + mfccc;
+            m1 = mfccc - mfcca;
+            m0 = m2 + mfccb;
+            mfcca = m0;
+            m0 += c1o36 * oMdrho;
+            mfccb = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2 = mfaaa + mfaca;
+            m1 = mfaca - mfaaa;
+            m0 = m2 + mfaba;
+            mfaaa = m0;
+            m0 += c1o6 * oMdrho;
+            mfaba = m1;
+            mfaca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaab + mfacb;
+            m1 = mfacb - mfaab;
+            m0 = m2 + mfabb;
+            mfaab = m0;
+            mfabb = m1;
+            mfacb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaac + mfacc;
+            m1 = mfacc - mfaac;
+            m0 = m2 + mfabc;
+            mfaac = m0;
+            m0 += c1o18 * oMdrho;
+            mfabc = m1;
+            mfacc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbaa + mfbca;
+            m1 = mfbca - mfbaa;
+            m0 = m2 + mfbba;
+            mfbaa = m0;
+            m0 += c2o3 * oMdrho;
+            mfbba = m1;
+            mfbca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbab + mfbcb;
+            m1 = mfbcb - mfbab;
+            m0 = m2 + mfbbb;
+            mfbab = m0;
+            mfbbb = m1;
+            mfbcb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbac + mfbcc;
+            m1 = mfbcc - mfbac;
+            m0 = m2 + mfbbc;
+            mfbac = m0;
+            m0 += c2o9 * oMdrho;
+            mfbbc = m1;
+            mfbcc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcaa + mfcca;
+            m1 = mfcca - mfcaa;
+            m0 = m2 + mfcba;
+            mfcaa = m0;
+            m0 += c1o6 * oMdrho;
+            mfcba = m1;
+            mfcca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcab + mfccb;
+            m1 = mfccb - mfcab;
+            m0 = m2 + mfcbb;
+            mfcab = m0;
+            mfcbb = m1;
+            mfccb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcac + mfccc;
+            m1 = mfccc - mfcac;
+            m0 = m2 + mfcbc;
+            mfcac = m0;
+            m0 += c1o18 * oMdrho;
+            mfcbc = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2 = mfaaa + mfcaa;
+            m1 = mfcaa - mfaaa;
+            m0 = m2 + mfbaa;
+            mfaaa = m0;
+            m0 += c1o1* oMdrho;
+            mfbaa = m1;
+            mfcaa = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaba + mfcba;
+            m1 = mfcba - mfaba;
+            m0 = m2 + mfbba;
+            mfaba = m0;
+            mfbba = m1;
+            mfcba = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaca + mfcca;
+            m1 = mfcca - mfaca;
+            m0 = m2 + mfbca;
+            mfaca = m0;
+            m0 += c1o3 * oMdrho;
+            mfbca = m1;
+            mfcca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaab + mfcab;
+            m1 = mfcab - mfaab;
+            m0 = m2 + mfbab;
+            mfaab = m0;
+            mfbab = m1;
+            mfcab = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfabb + mfcbb;
+            m1 = mfcbb - mfabb;
+            m0 = m2 + mfbbb;
+            mfabb = m0;
+            mfbbb = m1;
+            mfcbb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfacb + mfccb;
+            m1 = mfccb - mfacb;
+            m0 = m2 + mfbcb;
+            mfacb = m0;
+            mfbcb = m1;
+            mfccb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaac + mfcac;
+            m1 = mfcac - mfaac;
+            m0 = m2 + mfbac;
+            mfaac = m0;
+            m0 += c1o3 * oMdrho;
+            mfbac = m1;
+            mfcac = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfabc + mfcbc;
+            m1 = mfcbc - mfabc;
+            m0 = m2 + mfbbc;
+            mfabc = m0;
+            mfbbc = m1;
+            mfcbc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfacc + mfccc;
+            m1 = mfccc - mfacc;
+            m0 = m2 + mfbcc;
+            mfacc = m0;
+            m0 += c1o9 * oMdrho;
+            mfbcc = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
 
 
-			////////////////////////////////////////////////////////////////////////////////////
-			// BGK
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = omega;
-			real OxyyPxzz = omega;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz = omega;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4 = omega;
-			real O5 = omega;
-			real O6 = omega;
+            ////////////////////////////////////////////////////////////////////////////////////
+            // BGK
+            ////////////////////////////////////////////////////////////////////////////////////
+            real OxxPyyPzz = omega;
+            real OxyyPxzz = omega;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
+            real OxyyMxzz = omega;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
+            real O4 = omega;
+            real O5 = omega;
+            real O6 = omega;
 
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
+            real mxxPyyPzz = mfcaa + mfaca + mfaac;
+            real mxxMyy = mfcaa - mfaca;
+            real mxxMzz = mfcaa - mfaac;
 
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz - c2o1*vx2 + vy2 + vz2) + c1o2 * OxxPyyPzz * (mfaaa + vx2 + vy2 + vz2 - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * (mxxMyy - vx2 + vy2);
-				real dzuz = dxux + omega * c3o2 * (mxxMzz - vx2 + vz2);
+            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //incl. correction
+            {
+                real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz - c2o1*vx2 + vy2 + vz2) + c1o2 * OxxPyyPzz * (mfaaa + vx2 + vy2 + vz2 - mxxPyyPzz);
+                real dyuy = dxux + omega * c3o2 * (mxxMyy - vx2 + vy2);
+                real dzuz = dxux + omega * c3o2 * (mxxMzz - vx2 + vz2);
 
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa + vx2 + vy2 + vz2 - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy += omega * (vx2 - vy2 - mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (vx2 - vz2 - mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+                //relax
+                mxxPyyPzz += OxxPyyPzz*(mfaaa + vx2 + vy2 + vz2 - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
+                mxxMyy += omega * (vx2 - vy2 - mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
+                mxxMzz += omega * (vx2 - vz2 - mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
+            }
+            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-			// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			// 			//no correction
-			// 			mxxPyyPzz += OxxPyyPzz*(mfaaa+vx2+vy2+vz2-mxxPyyPzz);
-			// 			mxxMyy    += -(-omega) * (vx2-vy2-mxxMyy);
-			// 			mxxMzz    += -(-omega) * (vx2-vz2-mxxMzz);
-			// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //             ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //             //no correction
+            //             mxxPyyPzz += OxxPyyPzz*(mfaaa+vx2+vy2+vz2-mxxPyyPzz);
+            //             mxxMyy    += -(-omega) * (vx2-vy2-mxxMyy);
+            //             mxxMzz    += -(-omega) * (vx2-vz2-mxxMzz);
+            //             ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-			mfabb += omega * (vvy*vvz - mfabb);
-			mfbab += omega * (vvx*vvz - mfbab);
-			mfbba += omega * (vvx*vvy - mfbba);
+            mfabb += omega * (vvy*vvz - mfabb);
+            mfbab += omega * (vvx*vvz - mfbab);
+            mfbba += omega * (vvx*vvy - mfbba);
 
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
+            // linear combinations back
+            mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
+            mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
+            mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
 
-			//3.
-			// linear combinations
+            //3.
+            // linear combinations
 
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
+            real mxxyPyzz = mfcba + mfabc;
+            real mxxyMyzz = mfcba - mfabc;
 
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
+            real mxxzPyyz = mfcab + mfacb;
+            real mxxzMyyz = mfcab - mfacb;
 
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
+            real mxyyPxzz = mfbca + mfbac;
+            real mxyyMxzz = mfbca - mfbac;
 
-			mxxyMyzz += OxyyMxzz*((vx2 - vz2)*vvy - mxxyMyzz);
-			mxxzMyyz += OxyyMxzz*((vx2 - vy2)*vvz - mxxzMyyz);
-			mxyyMxzz += OxyyMxzz*((vy2 - vz2)*vvx - mxyyMxzz);
+            mxxyMyzz += OxyyMxzz*((vx2 - vz2)*vvy - mxxyMyzz);
+            mxxzMyyz += OxyyMxzz*((vx2 - vy2)*vvz - mxxzMyyz);
+            mxyyMxzz += OxyyMxzz*((vy2 - vz2)*vvx - mxyyMxzz);
 
-			mxxyPyzz += OxyyPxzz*((c2o3 + vx2 + vz2)*vvy - mxxyPyzz);
-			mxxzPyyz += OxyyPxzz*((c2o3 + vx2 + vy2)*vvz - mxxzPyyz);
-			mxyyPxzz += OxyyPxzz*((c2o3 + vy2 + vz2)*vvx - mxyyPxzz);
+            mxxyPyzz += OxyyPxzz*((c2o3 + vx2 + vz2)*vvy - mxxyPyzz);
+            mxxzPyyz += OxyyPxzz*((c2o3 + vx2 + vy2)*vvz - mxxzPyyz);
+            mxyyPxzz += OxyyPxzz*((c2o3 + vy2 + vz2)*vvx - mxyyPxzz);
 
-			mfbbb += OxyyMxzz * (vvx*vvy*vvz - mfbbb);
+            mfbbb += OxyyMxzz * (vvx*vvy*vvz - mfbbb);
 
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+            mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
+            mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+            mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
+            mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+            mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
+            mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
 
-			//4.
-			mfacc += O4*((c1o3 + vy2)*(c1o3 + vz2) + c1o9*(mfaaa - c1o1) - mfacc);
-			mfcac += O4*((c1o3 + vx2)*(c1o3 + vz2) + c1o9*(mfaaa - c1o1) - mfcac);
-			mfcca += O4*((c1o3 + vx2)*(c1o3 + vy2) + c1o9*(mfaaa - c1o1) - mfcca);
+            //4.
+            mfacc += O4*((c1o3 + vy2)*(c1o3 + vz2) + c1o9*(mfaaa - c1o1) - mfacc);
+            mfcac += O4*((c1o3 + vx2)*(c1o3 + vz2) + c1o9*(mfaaa - c1o1) - mfcac);
+            mfcca += O4*((c1o3 + vx2)*(c1o3 + vy2) + c1o9*(mfaaa - c1o1) - mfcca);
 
-			mfcbb += O4*((c1o3 + vx2)*vvy*vvz - mfcbb);
-			mfbcb += O4*((c1o3 + vy2)*vvx*vvz - mfbcb);
-			mfbbc += O4*((c1o3 + vz2)*vvx*vvy - mfbbc);
+            mfcbb += O4*((c1o3 + vx2)*vvy*vvz - mfcbb);
+            mfbcb += O4*((c1o3 + vy2)*vvx*vvz - mfbcb);
+            mfbbc += O4*((c1o3 + vz2)*vvx*vvy - mfbbc);
 
-			//5.
-			mfbcc += O5*((c1o3 + vy2)*(c1o3 + vz2)*vvx - mfbcc);
-			mfcbc += O5*((c1o3 + vx2)*(c1o3 + vz2)*vvy - mfcbc);
-			mfccb += O5*((c1o3 + vx2)*(c1o3 + vy2)*vvz - mfccb);
+            //5.
+            mfbcc += O5*((c1o3 + vy2)*(c1o3 + vz2)*vvx - mfbcc);
+            mfcbc += O5*((c1o3 + vx2)*(c1o3 + vz2)*vvy - mfcbc);
+            mfccb += O5*((c1o3 + vx2)*(c1o3 + vy2)*vvz - mfccb);
 
-			//6.
-			mfccc += O6*((c1o3 + vx2)*(c1o3 + vy2)*(c1o3 + vz2) + c1o27*(mfaaa - c1o1) - mfccc);
+            //6.
+            mfccc += O6*((c1o3 + vx2)*(c1o3 + vy2)*(c1o3 + vz2) + c1o27*(mfaaa - c1o1) - mfccc);
 
 
-			//bad fix
-			vvx = c0o1;
-			vvy = c0o1;
-			vvz = c0o1;
-			vx2 = c0o1;
-			vy2 = c0o1;
-			vz2 = c0o1;
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
+            //bad fix
+            vvx = c0o1;
+            vvy = c0o1;
+            vvz = c0o1;
+            vx2 = c0o1;
+            vy2 = c0o1;
+            vz2 = c0o1;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //back
+            ////////////////////////////////////////////////////////////////////////////////////
+            //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
+            m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
+            mfaaa = m0;
+            mfaab = m1;
+            mfaac = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
+            m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
+            m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
+            mfaba = m0;
+            mfabb = m1;
+            mfabc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
+            m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
+            mfaca = m0;
+            mfacb = m1;
+            mfacc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
+            m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
+            m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
+            mfbaa = m0;
+            mfbab = m1;
+            mfbac = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
+            m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
+            m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
+            mfbba = m0;
+            mfbbb = m1;
+            mfbbc = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
+            m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
+            m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
+            mfbca = m0;
+            mfbcb = m1;
+            mfbcc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
+            m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
+            mfcaa = m0;
+            mfcab = m1;
+            mfcac = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
+            m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
+            m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
+            mfcba = m0;
+            mfcbb = m1;
+            mfcbc = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
+            m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
+            mfcca = m0;
+            mfccb = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
+            m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfaaa = m0;
+            mfaba = m1;
+            mfaca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
+            m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfaab = m0;
+            mfabb = m1;
+            mfacb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
+            m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfaac = m0;
+            mfabc = m1;
+            mfacc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
+            m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
+            m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
+            mfbaa = m0;
+            mfbba = m1;
+            mfbca = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
+            m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
+            m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
+            mfbab = m0;
+            mfbbb = m1;
+            mfbcb = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
+            m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
+            m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
+            mfbac = m0;
+            mfbbc = m1;
+            mfbcc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
+            m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfcaa = m0;
+            mfcba = m1;
+            mfcca = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
+            m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfcab = m0;
+            mfcbb = m1;
+            mfccb = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
+            m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfcac = m0;
+            mfcbc = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaaa = m0;
+            mfbaa = m1;
+            mfcaa = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaba = m0;
+            mfbba = m1;
+            mfcba = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaca = m0;
+            mfbca = m1;
+            mfcca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaab = m0;
+            mfbab = m1;
+            mfcab = m2;
+            ///////////b////////////////////////////////////////////////////////////////////////
+            m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
+            m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfabb = m0;
+            mfbbb = m1;
+            mfcbb = m2;
+            ///////////b////////////////////////////////////////////////////////////////////////
+            m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfacb = m0;
+            mfbcb = m1;
+            mfccb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaac = m0;
+            mfbac = m1;
+            mfcac = m2;
+            ///////////c////////////////////////////////////////////////////////////////////////
+            m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfabc = m0;
+            mfbbc = m1;
+            mfcbc = m2;
+            ///////////c////////////////////////////////////////////////////////////////////////
+            m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfacc = m0;
+            mfbcc = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
 
 
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
+            ////////////////////////////////////////////////////////////////////////////////////
+            (D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
+            (D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
+            (D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;     (D.f[ d0P0   ])[k   ]
+            (D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;     (D.f[ d0M0   ])[ks  ]
+            (D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;     (D.f[ d00P   ])[k   ]
+            (D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;     (D.f[ d00M   ])[kb  ]
+            (D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;     (D.f[ dPP0  ])[k   ]
+            (D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;     (D.f[ dMM0  ])[ksw ]
+            (D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;     (D.f[ dPM0  ])[ks  ]
+            (D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;     (D.f[ dMP0  ])[kw  ]
+            (D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;     (D.f[ dP0P  ])[k   ]
+            (D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;     (D.f[ dM0M  ])[kbw ]
+            (D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;     (D.f[ dP0M  ])[kb  ]
+            (D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;     (D.f[ dM0P  ])[kw  ]
+            (D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;     (D.f[ d0PP  ])[k   ]
+            (D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;     (D.f[ d0MM  ])[kbs ]
+            (D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;     (D.f[ d0PM  ])[kb  ]
+            (D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;     (D.f[ d0MP  ])[ks  ]
+            (D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;     (D.f[ d000])[k   ]
+            (D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;     (D.f[ dPPP ])[k   ]
+            (D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;     (D.f[ dPMP ])[ks  ]
+            (D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;     (D.f[ dPPM ])[kb  ]
+            (D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;     (D.f[ dPMM ])[kbs ]
+            (D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;     (D.f[ dMPP ])[kw  ]
+            (D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;     (D.f[ dMMP ])[ksw ]
+            (D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;     (D.f[ dMPM ])[kbw ]
+            (D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;     (D.f[ dMMM ])[kbsw]
+                                        ////////////////////////////////////////////////////////////////////////////////////
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus_Device.cuh b/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus_Device.cuh
index 1c812f936541deaba06060fda0367dc60f231e63..a857a43bab38c7bdf03a50d8e06d1b404b41c0de 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus_Device.cuh
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus_Device.cuh
@@ -5,13 +5,13 @@
 #include <curand.h>
 
 __global__ void B15IncompressibleNavierStokesBGKplus_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
+    real omega,
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes.cu
index 99f5fda8377bd7ce5bd4d486db5e2a680add7e84..4ff8d0d6ce700b0245171fe31790e320bcc9e725 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes.cu
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<B92IncompressibleNavierStokes> B92IncompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
 {
-	return std::shared_ptr<B92IncompressibleNavierStokes>(new B92IncompressibleNavierStokes(para, level));
+    return std::shared_ptr<B92IncompressibleNavierStokes>(new B92IncompressibleNavierStokes(para, level));
 }
 
 void B92IncompressibleNavierStokes::run()
@@ -27,12 +27,12 @@ void B92IncompressibleNavierStokes::run()
 
 B92IncompressibleNavierStokes::B92IncompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
 {
-	this->para = para;
-	this->level = level;
+    this->para = para;
+    this->level = level;
 
-	myPreProcessorTypes.push_back(InitSP27);
+    myPreProcessorTypes.push_back(InitSP27);
 
-	
+    
 }
 
 B92IncompressibleNavierStokes::B92IncompressibleNavierStokes()
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes.h b/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes.h
index 782b764460b85b6525d8c3ec89ef25e333eadd40..0a84e9db596fd9d1cf933635665ba808753cf714 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes.h
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes.h
@@ -7,11 +7,11 @@
 class B92IncompressibleNavierStokes : public KernelImp
 {
 public:
-	static std::shared_ptr<B92IncompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
+    static std::shared_ptr<B92IncompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
+    void run();
 
 private:
-	B92IncompressibleNavierStokes();
-	B92IncompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
+    B92IncompressibleNavierStokes();
+    B92IncompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
 };
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes_Device.cu
index 8c8197b815f0060d5612656617c1236d0e0b01fc..edc01efbc9064c85b714777c57a31bf4283b83d3 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes_Device.cu
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes_Device.cu
@@ -7,233 +7,233 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 __global__ void B92IncompressibleNavierStokes_Device(real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k < size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real fE = (D.f[dP00])[k];//ke
-			real fW = (D.f[dM00])[kw];
-			real fN = (D.f[d0P0])[k];//kn
-			real fS = (D.f[d0M0])[ks];
-			real fT = (D.f[d00P])[k];//kt
-			real fB = (D.f[d00M])[kb];
-			real fNE = (D.f[dPP0])[k];//kne
-			real fSW = (D.f[dMM0])[ksw];
-			real fSE = (D.f[dPM0])[ks];//kse
-			real fNW = (D.f[dMP0])[kw];//knw
-			real fTE = (D.f[dP0P])[k];//kte
-			real fBW = (D.f[dM0M])[kbw];
-			real fBE = (D.f[dP0M])[kb];//kbe
-			real fTW = (D.f[dM0P])[kw];//ktw
-			real fTN = (D.f[d0PP])[k];//ktn
-			real fBS = (D.f[d0MM])[kbs];
-			real fBN = (D.f[d0PM])[kb];//kbn
-			real fTS = (D.f[d0MP])[ks];//kts
-			real fZERO = (D.f[d000])[k];//kzero
-			real fTNE = (D.f[dPPP])[k];//ktne
-			real fTSW = (D.f[dMMP])[ksw];//ktsw
-			real fTSE = (D.f[dPMP])[ks];//ktse
-			real fTNW = (D.f[dMPP])[kw];//ktnw
-			real fBNE = (D.f[dPPM])[kb];//kbne
-			real fBSW = (D.f[dMMM])[kbsw];
-			real fBSE = (D.f[dPMM])[kbs];//kbse
-			real fBNW = (D.f[dMPM])[kbw];//kbnw
-										   ////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-										   //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-										   //BGK incomp
-										   //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real drho = (fTNE + fBSW) + (fTSW + fBNE) + (fTSE + fBNW) + (fTNW + fBSE) + (fNE + fSW) + (fNW + fSE) + (fTE + fBW) + (fBE + fTW) + (fTN + fBS) + (fBN + fTS) + (fE + fW) + (fN + fS) + (fT + fB) + fZERO;
-			real vx1 = (fTNE - fBSW) + (fBNE - fTSW) + (fTSE - fBNW) + (fBSE - fTNW) + (fNE - fSW) + (fSE - fNW) + (fTE - fBW) + (fBE - fTW) + (fE - fW);
-			real vx2 = (fTNE - fBSW) + (fBNE - fTSW) + (fBNW - fTSE) + (fTNW - fBSE) + (fNE - fSW) + (fNW - fSE) + (fTN - fBS) + (fBN - fTS) + (fN - fS);
-			real vx3 = (fTNE - fBSW) + (fTSW - fBNE) + (fTSE - fBNW) + (fTNW - fBSE) + (fTE - fBW) + (fTW - fBE) + (fTN - fBS) + (fTS - fBN) + (fT - fB);
-			real cusq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
-			//////////////////////////////////////////////////////////////////////////                            
-			fZERO = fZERO *(c1o1 + (-omega)) - (-omega)*   c8o27*  (drho - cusq);
-			fE = fE    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(vx1)+c9o2*(vx1)*(vx1)-cusq);
-			fW = fW    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(-vx1) + c9o2*(-vx1)*(-vx1) - cusq);
-			fN = fN    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(vx2)+c9o2*(vx2)*(vx2)-cusq);
-			fS = fS    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(-vx2) + c9o2*(-vx2)*(-vx2) - cusq);
-			fT = fT    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(vx3)+c9o2*(vx3)*(vx3)-cusq);
-			fB = fB    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(-vx3) + c9o2*(-vx3)*(-vx3) - cusq);
-			fNE = fNE   *(c1o1 + (-omega)) - (-omega)*   c1o54*  (drho + c3o1*(vx1 + vx2) + c9o2*(vx1 + vx2)*(vx1 + vx2) - cusq);
-			fSW = fSW   *(c1o1 + (-omega)) - (-omega)*   c1o54*  (drho + c3o1*(-vx1 - vx2) + c9o2*(-vx1 - vx2)*(-vx1 - vx2) - cusq);
-			fSE = fSE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx1 - vx2) + c9o2*(vx1 - vx2)*(vx1 - vx2) - cusq);
-			fNW = fNW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx1 + vx2) + c9o2*(-vx1 + vx2)*(-vx1 + vx2) - cusq);
-			fTE = fTE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx1 + vx3) + c9o2*(vx1 + vx3)*(vx1 + vx3) - cusq);
-			fBW = fBW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx1 - vx3) + c9o2*(-vx1 - vx3)*(-vx1 - vx3) - cusq);
-			fBE = fBE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx1 - vx3) + c9o2*(vx1 - vx3)*(vx1 - vx3) - cusq);
-			fTW = fTW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx1 + vx3) + c9o2*(-vx1 + vx3)*(-vx1 + vx3) - cusq);
-			fTN = fTN   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx2 + vx3) + c9o2*(vx2 + vx3)*(vx2 + vx3) - cusq);
-			fBS = fBS   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx2 - vx3) + c9o2*(-vx2 - vx3)*(-vx2 - vx3) - cusq);
-			fBN = fBN   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx2 - vx3) + c9o2*(vx2 - vx3)*(vx2 - vx3) - cusq);
-			fTS = fTS   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx2 + vx3) + c9o2*(-vx2 + vx3)*(-vx2 + vx3) - cusq);
-			fTNE = fTNE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(vx1 + vx2 + vx3) + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) - cusq);
-			fBSW = fBSW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(-vx1 - vx2 - vx3) + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) - cusq);
-			fBNE = fBNE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(vx1 + vx2 - vx3) + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) - cusq);
-			fTSW = fTSW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(-vx1 - vx2 + vx3) + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) - cusq);
-			fTSE = fTSE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(vx1 - vx2 + vx3) + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) - cusq);
-			fBNW = fBNW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(-vx1 + vx2 - vx3) + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) - cusq);
-			fBSE = fBSE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(vx1 - vx2 - vx3) + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) - cusq);
-			fTNW = fTNW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(-vx1 + vx2 + vx3) + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) - cusq);
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-			//////////////////////////////////////////////////////////////////////////                            
-			(D.f[dP00])[k] = fW;
-			(D.f[dM00])[kw] = fE;
-			(D.f[d0P0])[k] = fS;
-			(D.f[d0M0])[ks] = fN;
-			(D.f[d00P])[k] = fB;
-			(D.f[d00M])[kb] = fT;
-			(D.f[dPP0])[k] = fSW;
-			(D.f[dMM0])[ksw] = fNE;
-			(D.f[dPM0])[ks] = fNW;
-			(D.f[dMP0])[kw] = fSE;
-			(D.f[dP0P])[k] = fBW;
-			(D.f[dM0M])[kbw] = fTE;
-			(D.f[dP0M])[kb] = fTW;
-			(D.f[dM0P])[kw] = fBE;
-			(D.f[d0PP])[k] = fBS;
-			(D.f[d0MM])[kbs] = fTN;
-			(D.f[d0PM])[kb] = fTS;
-			(D.f[d0MP])[ks] = fBN;
-			(D.f[d000])[k] = fZERO;
-			(D.f[dPPP])[k] = fBSW;
-			(D.f[dPMP])[ks] = fBNW;
-			(D.f[dPPM])[kb] = fTSW;
-			(D.f[dPMM])[kbs] = fTNW;
-			(D.f[dMPP])[kw] = fBSE;
-			(D.f[dMMP])[ksw] = fBNE;
-			(D.f[dMPM])[kbw] = fTSE;
-			(D.f[dMMM])[kbsw] = fTNE;
-			//////////////////////////////////////////////////////////////////////////                            
-		}
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if (k < size_Mat)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
+
+        if ((BC != GEO_SOLID) && (BC != GEO_VOID))
+        {
+            Distributions27 D;
+            if (EvenOrOdd == true)
+            {
+                D.f[dP00] = &DDStart[dP00 * size_Mat];
+                D.f[dM00] = &DDStart[dM00 * size_Mat];
+                D.f[d0P0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0M0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00P] = &DDStart[d00P * size_Mat];
+                D.f[d00M] = &DDStart[d00M * size_Mat];
+                D.f[dPP0] = &DDStart[dPP0 * size_Mat];
+                D.f[dMM0] = &DDStart[dMM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dPM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dMP0 * size_Mat];
+                D.f[dP0P] = &DDStart[dP0P * size_Mat];
+                D.f[dM0M] = &DDStart[dM0M * size_Mat];
+                D.f[dP0M] = &DDStart[dP0M * size_Mat];
+                D.f[dM0P] = &DDStart[dM0P * size_Mat];
+                D.f[d0PP] = &DDStart[d0PP * size_Mat];
+                D.f[d0MM] = &DDStart[d0MM * size_Mat];
+                D.f[d0PM] = &DDStart[d0PM * size_Mat];
+                D.f[d0MP] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dPPP] = &DDStart[dPPP * size_Mat];
+                D.f[dMMP] = &DDStart[dMMP * size_Mat];
+                D.f[dPMP] = &DDStart[dPMP * size_Mat];
+                D.f[dMPP] = &DDStart[dMPP * size_Mat];
+                D.f[dPPM] = &DDStart[dPPM * size_Mat];
+                D.f[dMMM] = &DDStart[dMMM * size_Mat];
+                D.f[dPMM] = &DDStart[dPMM * size_Mat];
+                D.f[dMPM] = &DDStart[dMPM * size_Mat];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * size_Mat];
+                D.f[dP00] = &DDStart[dM00 * size_Mat];
+                D.f[d0M0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0P0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00M] = &DDStart[d00P * size_Mat];
+                D.f[d00P] = &DDStart[d00M * size_Mat];
+                D.f[dMM0] = &DDStart[dPP0 * size_Mat];
+                D.f[dPP0] = &DDStart[dMM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dPM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dMP0 * size_Mat];
+                D.f[dM0M] = &DDStart[dP0P * size_Mat];
+                D.f[dP0P] = &DDStart[dM0M * size_Mat];
+                D.f[dM0P] = &DDStart[dP0M * size_Mat];
+                D.f[dP0M] = &DDStart[dM0P * size_Mat];
+                D.f[d0MM] = &DDStart[d0PP * size_Mat];
+                D.f[d0PP] = &DDStart[d0MM * size_Mat];
+                D.f[d0MP] = &DDStart[d0PM * size_Mat];
+                D.f[d0PM] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dMMM] = &DDStart[dPPP * size_Mat];
+                D.f[dPPM] = &DDStart[dMMP * size_Mat];
+                D.f[dMPM] = &DDStart[dPMP * size_Mat];
+                D.f[dPMM] = &DDStart[dMPP * size_Mat];
+                D.f[dMMP] = &DDStart[dPPM * size_Mat];
+                D.f[dPPP] = &DDStart[dMMM * size_Mat];
+                D.f[dMPP] = &DDStart[dPMM * size_Mat];
+                D.f[dPMP] = &DDStart[dMPM * size_Mat];
+            }
+
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            //unsigned int kzero= k;
+            //unsigned int ke   = k;
+            unsigned int kw = neighborX[k];
+            //unsigned int kn   = k;
+            unsigned int ks = neighborY[k];
+            //unsigned int kt   = k;
+            unsigned int kb = neighborZ[k];
+            unsigned int ksw = neighborY[kw];
+            //unsigned int kne  = k;
+            //unsigned int kse  = ks;
+            //unsigned int knw  = kw;
+            unsigned int kbw = neighborZ[kw];
+            //unsigned int kte  = k;
+            //unsigned int kbe  = kb;
+            //unsigned int ktw  = kw;
+            unsigned int kbs = neighborZ[ks];
+            //unsigned int ktn  = k;
+            //unsigned int kbn  = kb;
+            //unsigned int kts  = ks;
+            //unsigned int ktse = ks;
+            //unsigned int kbnw = kbw;
+            //unsigned int ktnw = kw;
+            //unsigned int kbse = kbs;
+            //unsigned int ktsw = ksw;
+            //unsigned int kbne = kb;
+            //unsigned int ktne = k;
+            unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real fE = (D.f[dP00])[k];//ke
+            real fW = (D.f[dM00])[kw];
+            real fN = (D.f[d0P0])[k];//kn
+            real fS = (D.f[d0M0])[ks];
+            real fT = (D.f[d00P])[k];//kt
+            real fB = (D.f[d00M])[kb];
+            real fNE = (D.f[dPP0])[k];//kne
+            real fSW = (D.f[dMM0])[ksw];
+            real fSE = (D.f[dPM0])[ks];//kse
+            real fNW = (D.f[dMP0])[kw];//knw
+            real fTE = (D.f[dP0P])[k];//kte
+            real fBW = (D.f[dM0M])[kbw];
+            real fBE = (D.f[dP0M])[kb];//kbe
+            real fTW = (D.f[dM0P])[kw];//ktw
+            real fTN = (D.f[d0PP])[k];//ktn
+            real fBS = (D.f[d0MM])[kbs];
+            real fBN = (D.f[d0PM])[kb];//kbn
+            real fTS = (D.f[d0MP])[ks];//kts
+            real fZERO = (D.f[d000])[k];//kzero
+            real fTNE = (D.f[dPPP])[k];//ktne
+            real fTSW = (D.f[dMMP])[ksw];//ktsw
+            real fTSE = (D.f[dPMP])[ks];//ktse
+            real fTNW = (D.f[dMPP])[kw];//ktnw
+            real fBNE = (D.f[dPPM])[kb];//kbne
+            real fBSW = (D.f[dMMM])[kbsw];
+            real fBSE = (D.f[dPMM])[kbs];//kbse
+            real fBNW = (D.f[dMPM])[kbw];//kbnw
+                                           ////////////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+                                           //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+                                           //BGK incomp
+                                           //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real drho = (fTNE + fBSW) + (fTSW + fBNE) + (fTSE + fBNW) + (fTNW + fBSE) + (fNE + fSW) + (fNW + fSE) + (fTE + fBW) + (fBE + fTW) + (fTN + fBS) + (fBN + fTS) + (fE + fW) + (fN + fS) + (fT + fB) + fZERO;
+            real vx1 = (fTNE - fBSW) + (fBNE - fTSW) + (fTSE - fBNW) + (fBSE - fTNW) + (fNE - fSW) + (fSE - fNW) + (fTE - fBW) + (fBE - fTW) + (fE - fW);
+            real vx2 = (fTNE - fBSW) + (fBNE - fTSW) + (fBNW - fTSE) + (fTNW - fBSE) + (fNE - fSW) + (fNW - fSE) + (fTN - fBS) + (fBN - fTS) + (fN - fS);
+            real vx3 = (fTNE - fBSW) + (fTSW - fBNE) + (fTSE - fBNW) + (fTNW - fBSE) + (fTE - fBW) + (fTW - fBE) + (fTN - fBS) + (fTS - fBN) + (fT - fB);
+            real cusq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
+            //////////////////////////////////////////////////////////////////////////                            
+            fZERO = fZERO *(c1o1 + (-omega)) - (-omega)*   c8o27*  (drho - cusq);
+            fE = fE    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(vx1)+c9o2*(vx1)*(vx1)-cusq);
+            fW = fW    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(-vx1) + c9o2*(-vx1)*(-vx1) - cusq);
+            fN = fN    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(vx2)+c9o2*(vx2)*(vx2)-cusq);
+            fS = fS    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(-vx2) + c9o2*(-vx2)*(-vx2) - cusq);
+            fT = fT    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(vx3)+c9o2*(vx3)*(vx3)-cusq);
+            fB = fB    *(c1o1 + (-omega)) - (-omega)*   c2o27*  (drho + c3o1*(-vx3) + c9o2*(-vx3)*(-vx3) - cusq);
+            fNE = fNE   *(c1o1 + (-omega)) - (-omega)*   c1o54*  (drho + c3o1*(vx1 + vx2) + c9o2*(vx1 + vx2)*(vx1 + vx2) - cusq);
+            fSW = fSW   *(c1o1 + (-omega)) - (-omega)*   c1o54*  (drho + c3o1*(-vx1 - vx2) + c9o2*(-vx1 - vx2)*(-vx1 - vx2) - cusq);
+            fSE = fSE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx1 - vx2) + c9o2*(vx1 - vx2)*(vx1 - vx2) - cusq);
+            fNW = fNW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx1 + vx2) + c9o2*(-vx1 + vx2)*(-vx1 + vx2) - cusq);
+            fTE = fTE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx1 + vx3) + c9o2*(vx1 + vx3)*(vx1 + vx3) - cusq);
+            fBW = fBW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx1 - vx3) + c9o2*(-vx1 - vx3)*(-vx1 - vx3) - cusq);
+            fBE = fBE   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx1 - vx3) + c9o2*(vx1 - vx3)*(vx1 - vx3) - cusq);
+            fTW = fTW   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx1 + vx3) + c9o2*(-vx1 + vx3)*(-vx1 + vx3) - cusq);
+            fTN = fTN   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx2 + vx3) + c9o2*(vx2 + vx3)*(vx2 + vx3) - cusq);
+            fBS = fBS   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx2 - vx3) + c9o2*(-vx2 - vx3)*(-vx2 - vx3) - cusq);
+            fBN = fBN   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(vx2 - vx3) + c9o2*(vx2 - vx3)*(vx2 - vx3) - cusq);
+            fTS = fTS   *(c1o1 + (-omega)) - (-omega)*    c1o54* (drho + c3o1*(-vx2 + vx3) + c9o2*(-vx2 + vx3)*(-vx2 + vx3) - cusq);
+            fTNE = fTNE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(vx1 + vx2 + vx3) + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) - cusq);
+            fBSW = fBSW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(-vx1 - vx2 - vx3) + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) - cusq);
+            fBNE = fBNE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(vx1 + vx2 - vx3) + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) - cusq);
+            fTSW = fTSW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(-vx1 - vx2 + vx3) + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) - cusq);
+            fTSE = fTSE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(vx1 - vx2 + vx3) + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) - cusq);
+            fBNW = fBNW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(-vx1 + vx2 - vx3) + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) - cusq);
+            fBSE = fBSE  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(vx1 - vx2 - vx3) + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) - cusq);
+            fTNW = fTNW  *(c1o1 + (-omega)) - (-omega)*    c1o216*(drho + c3o1*(-vx1 + vx2 + vx3) + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) - cusq);
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+            //////////////////////////////////////////////////////////////////////////                            
+            (D.f[dP00])[k] = fW;
+            (D.f[dM00])[kw] = fE;
+            (D.f[d0P0])[k] = fS;
+            (D.f[d0M0])[ks] = fN;
+            (D.f[d00P])[k] = fB;
+            (D.f[d00M])[kb] = fT;
+            (D.f[dPP0])[k] = fSW;
+            (D.f[dMM0])[ksw] = fNE;
+            (D.f[dPM0])[ks] = fNW;
+            (D.f[dMP0])[kw] = fSE;
+            (D.f[dP0P])[k] = fBW;
+            (D.f[dM0M])[kbw] = fTE;
+            (D.f[dP0M])[kb] = fTW;
+            (D.f[dM0P])[kw] = fBE;
+            (D.f[d0PP])[k] = fBS;
+            (D.f[d0MM])[kbs] = fTN;
+            (D.f[d0PM])[kb] = fTS;
+            (D.f[d0MP])[ks] = fBN;
+            (D.f[d000])[k] = fZERO;
+            (D.f[dPPP])[k] = fBSW;
+            (D.f[dPMP])[ks] = fBNW;
+            (D.f[dPPM])[kb] = fTSW;
+            (D.f[dPMM])[kbs] = fTNW;
+            (D.f[dMPP])[kw] = fBSE;
+            (D.f[dMMP])[ksw] = fBNE;
+            (D.f[dMPM])[kbw] = fTSE;
+            (D.f[dMMM])[kbsw] = fTNE;
+            //////////////////////////////////////////////////////////////////////////                            
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes_Device.cuh
index 8b81ebf323cd27faaa60f4b5f75d113a17a2b5e8..2d46a0b0d2794c0edd96dbe63971e44e9301678c 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes_Device.cuh
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes_Device.cuh
@@ -5,13 +5,13 @@
 #include <curand.h>
 
 __global__ void B92IncompressibleNavierStokes_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
+    real omega,
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/C06IncompressibleNavierStokes.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/C06IncompressibleNavierStokes.cu
deleted file mode 100644
index 16f6ffd99e8e7b68b954976fd79f0f2aeb7370b9..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/C06IncompressibleNavierStokes.cu
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "C06IncompressibleNavierStokes.h"
-
-#include "CascadeIncompSP27_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<C06IncompressibleNavierStokes> C06IncompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<C06IncompressibleNavierStokes>(new C06IncompressibleNavierStokes(para, level));
-}
-
-void C06IncompressibleNavierStokes::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    C06IncompressibleNavierStokes_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_Cascade_Incomp_SP_27 execution failed");
-}
-
-C06IncompressibleNavierStokes::C06IncompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitSP27);
-
-	
-}
-
-C06IncompressibleNavierStokes::C06IncompressibleNavierStokes()
-{
-}
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/C06IncompressibleNavierStokes.h b/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/C06IncompressibleNavierStokes.h
deleted file mode 100644
index 292b37ee75e1f8098845888776089d448e133332..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/C06IncompressibleNavierStokes.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef C06IncompressibleNavierStokes_H
-#define C06IncompressibleNavierStokes_H
-
-#include "Kernel/KernelImp.h"
-
-class C06IncompressibleNavierStokes : public KernelImp
-{
-public:
-	static std::shared_ptr<C06IncompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	C06IncompressibleNavierStokes();
-	C06IncompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
-
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/CascadeIncompSP27_Device.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/CascadeIncompSP27_Device.cu
deleted file mode 100644
index 15f5ba6495639325d28bc35ebe999b89134b7393..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/CascadeIncompSP27_Device.cu
+++ /dev/null
@@ -1,762 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void C06IncompressibleNavierStokes_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-											//slow
-											//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-											//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-											//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb));
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab));
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
-				mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-																	   ////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimit = 0.01f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cascade
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = omega;
-			real OxyyPxzz = c1o1;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz = c1o1;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4 = c1o1;
-			real O5 = c1o1;
-			real O6 = c1o1;
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			// 			//no correction
-			// 			mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);
-			// 			mxxMyy    += -(-omega) * (-mxxMyy);
-			// 			mxxMzz    += -(-omega) * (-mxxMzz);
-			// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mfbbb) / (abs(mfbbb) + qudricLimit);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimit);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimit);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimit);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimit);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimit);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimit);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-
-			// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			mfacc = mfaaa * c1o9 * O4 + (c1o1 - O4) * mfacc;
-			mfcac = mfaaa * c1o9 * O4 + (c1o1 - O4) * mfcac;
-			mfcca = mfaaa * c1o9 * O4 + (c1o1 - O4) * mfcca;
-
-			mfbbc += O4 * (-mfbbc);
-			mfbcb += O4 * (-mfbcb);
-			mfcbb += O4 * (-mfcbb);
-
-			//5.
-			mfbcc += O5 * (-mfbcc);
-			mfcbc += O5 * (-mfcbc);
-			mfccb += O5 * (-mfccb);
-
-			//6.
-			mfccc = mfaaa * c1o27 * O6 + (c1o1 - O6) * mfccc;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/CascadeIncompSP27_Device.cuh b/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/CascadeIncompSP27_Device.cuh
deleted file mode 100644
index daebc3345411812700a8776da1b1f5917dff2f59..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/C06/CascadeIncompSP27_Device.cuh
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef C06IncompressibleNavierStokes_Device_H
-#define C06IncompressibleNavierStokes_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void C06IncompressibleNavierStokes_Device(
-	real s9,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes.cu
index f457eb98e856733795681f5b285d82decc6ff2b6..40247d0f664ff842246a1a9066a69bcf5dff117f 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes.cu
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<K15IncompressibleNavierStokes> K15IncompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
 {
-	return std::shared_ptr<K15IncompressibleNavierStokes>(new K15IncompressibleNavierStokes(para, level));
+    return std::shared_ptr<K15IncompressibleNavierStokes>(new K15IncompressibleNavierStokes(para, level));
 }
 
 void K15IncompressibleNavierStokes::run()
@@ -27,12 +27,12 @@ void K15IncompressibleNavierStokes::run()
 
 K15IncompressibleNavierStokes::K15IncompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
 {
-	this->para = para;
-	this->level = level;
+    this->para = para;
+    this->level = level;
 
-	myPreProcessorTypes.push_back(InitSP27);
+    myPreProcessorTypes.push_back(InitSP27);
 
-	
+    
 }
 
 K15IncompressibleNavierStokes::K15IncompressibleNavierStokes()
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes.h b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes.h
index 40d06dfaef95cdd71ab1d11fbfc356087345ce91..858050ddc8e92abb7a0457439aeec9edb592f5c2 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes.h
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes.h
@@ -6,11 +6,11 @@
 class K15IncompressibleNavierStokes : public KernelImp
 {
 public:
-	static std::shared_ptr<K15IncompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
+    static std::shared_ptr<K15IncompressibleNavierStokes> getNewInstance(std::shared_ptr< Parameter> para, int level);
+    void run();
 
 private:
-	K15IncompressibleNavierStokes();
-	K15IncompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
+    K15IncompressibleNavierStokes();
+    K15IncompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
 };
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck.cu
deleted file mode 100644
index 0db31e686cfce85c19ae5b4aa37fef71ecc6e354..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck.cu
+++ /dev/null
@@ -1,43 +0,0 @@
-#include "K15IncompressibleNavierStokesIsoCheck.h"
-
-#include "K15IncompressibleNavierStokesIsoCheck_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<K15IncompressibleNavierStokesIsoCheck> K15IncompressibleNavierStokesIsoCheck::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K15IncompressibleNavierStokesIsoCheck>(new K15IncompressibleNavierStokesIsoCheck(para, level));
-}
-
-void K15IncompressibleNavierStokesIsoCheck::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    K15IncompressibleNavierStokesIsoCheck_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->dxxUx,
-        para->getParD(level)->dyyUy,
-        para->getParD(level)->dzzUz,
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_Cum_IsoTest_Incomp_SP_27 execution failed");
-}
-
-K15IncompressibleNavierStokesIsoCheck::K15IncompressibleNavierStokesIsoCheck(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitSP27);
-
-	
-}
-
-K15IncompressibleNavierStokesIsoCheck::K15IncompressibleNavierStokesIsoCheck()
-{
-}
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck.h b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck.h
deleted file mode 100644
index c2871b389c421b191cb65b36fd8cab3c6c35cb2c..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef K15IncompressibleNavierStokesIsoCheck_H
-#define K15IncompressibleNavierStokesIsoCheck_H
-
-#include "Kernel/KernelImp.h"
-
-class K15IncompressibleNavierStokesIsoCheck : public KernelImp
-{
-public:
-	static std::shared_ptr<K15IncompressibleNavierStokesIsoCheck> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K15IncompressibleNavierStokesIsoCheck();
-	K15IncompressibleNavierStokesIsoCheck(std::shared_ptr< Parameter> para, int level);
-
-};
-
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck_Device.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck_Device.cu
deleted file mode 100644
index dd404227d1cdc1e0ce0903f3ad5b2da3a5943635..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck_Device.cu
+++ /dev/null
@@ -1,1007 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K15IncompressibleNavierStokesIsoCheck_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* dxxUx,
-	real* dyyUy,
-	real* dzzUz,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-											//slow
-											//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-											//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-											//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb));
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab));
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
-				mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-																	   //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-																	   //				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-																	   //				mfcbb-mfabb;
-																	   //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-																	   //				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-																	   //				mfbcb-mfbab;
-																	   //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-																	   //				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-																	   //				mfbbc-mfbba;
-																	   ////////////////////////////////////////////////////////////////////////////////////
-																	   // oMdrho assembler style -------> faaaaaastaaaa
-																	   // or much sloooowaaaa ... it dep�ndssssss on sadaku
-			real m0, m1, m2;
-			//real oMdrho;
-			//{
-			//	oMdrho=mfccc+mfaaa;
-			//	m0=mfaca+mfcac;
-			//	m1=mfacc+mfcaa;
-			//	m2=mfaac+mfcca;
-			//	oMdrho+=m0;
-			//	m1+=m2;
-			//	oMdrho+=m1;
-			//	m0=mfbac+mfbca;
-			//	m1=mfbaa+mfbcc;
-			//	m0+=m1;
-			//	m1=mfabc+mfcba;
-			//	m2=mfaba+mfcbc;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	m1=mfacb+mfcab;
-			//	m2=mfaab+mfccb;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	oMdrho+=m0;
-			//	m0=mfabb+mfcbb;
-			//	m1=mfbab+mfbcb;
-			//	m2=mfbba+mfbbc;
-			//	m0+=m1+m2;
-			//	m0+=mfbbb; //hat gefehlt
-			//	oMdrho = one - (oMdrho + m0);
-			//}
-			//real vvx;
-			real vx2;
-			//{
-			//	vvx = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfcaa-mfacc;
-			//	m2  = mfcca-mfaac;
-			//	vvx+= m0;
-			//	m1 += m2;
-			//	vvx+= m1;
-			//	vx2 = mfcba-mfabc;
-			//	m0  = mfcbc-mfaba;
-			//	m1  = mfcab-mfacb;
-			//	m2  = mfccb-mfaab;
-			//	vx2+= m0;
-			//	m1 += m2;
-			//	vx2+= m1;
-			//	vvx+= vx2;
-			//	vx2 = mfcbb-mfabb;
-			//	vvx+= vx2;
-			//}
-			//real vvy;
-			real vy2;
-			//{
-			//	vvy = mfccc-mfaaa;
-			//	m0  = mfaca-mfcac;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfcca-mfaac;
-			//	vvy+= m0;
-			//	m1 += m2;
-			//	vvy+= m1;
-			//	vy2 = mfbca-mfbac;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfacb-mfcab;
-			//	m2  = mfccb-mfaab;
-			//	vy2+= m0;
-			//	m1 += m2;
-			//	vy2+= m1;
-			//	vvy+= vy2;
-			//	vy2 = mfbcb-mfbab;
-			//	vvy+= vy2;
-			//}
-			//real vvz;
-			real vz2;
-			//{
-			//	vvz = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfaac-mfcca;
-			//	vvz+= m0;
-			//	m1 += m2;
-			//	vvz+= m1;
-			//	vz2 = mfbac-mfbca;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfabc-mfcba;
-			//	m2  = mfcbc-mfaba;
-			//	vz2+= m0;
-			//	m1 += m2;
-			//	vz2+= m1;
-			//	vvz+= vz2;
-			//	vz2 = mfbbc-mfbba;
-			//	vvz+= vz2;
-			//}
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimit = 0.01f;
-			//real s9 = minusomega;
-			//test
-			//s9 = 0.;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// BGK
-			////////////////////////////////////////////////////////////////////////////////////
-			////2.
-			//mfabb += omega * (-mfabb);
-			//mfbab += omega * (-mfbab);
-			//mfbba += omega * (-mfbba);
-			//
-			//mfcaa += omega * (c1o3 * mfaaa - mfcaa);
-			//mfaca += omega * (c1o3 * mfaaa - mfaca);
-			//mfaac += omega * (c1o3 * mfaaa - mfaac);
-			//
-			////3.
-			//mfabc += omega * (-mfabc);
-			//mfbac += omega * (-mfbac);
-			//
-			//mfacb += omega * (-mfacb);
-			//mfbca += omega * (-mfbca);
-
-			//mfcab += omega * (-mfcab);
-			//mfcba += omega * (-mfcba);
-
-			//mfbbb += omega * (-mfbbb);
-
-			////4.
-			//mfacc += omega * (c1o9 * mfaaa - mfacc);
-			//mfcac += omega * (c1o9 * mfaaa - mfcac);
-			//mfcca += omega * (c1o9 * mfaaa - mfcca);
-
-			//mfbbc += omega * (-mfbbc);
-			//mfbcb += omega * (-mfbcb);
-			//mfcbb += omega * (-mfcbb);
-
-			////5.
-			//mfbcc += omega * (-mfbcc);
-			//mfcbc += omega * (-mfcbc);
-			//mfccb += omega * (-mfccb);
-
-			////6.
-			//mfccc += omega * (c1o27 * mfaaa - mfccc);
-			//////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz = c1o1;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz = c1o1;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4 = c1o1;
-			real O5 = c1o1;
-			real O6 = c1o1;
-
-			//Cum 4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb);
-
-			real CUMcca = mfcca - (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			real CUMcac = mfcac - (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			real CUMacc = mfacc - (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-
-			//Cum 5.
-			real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho;
-			real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho;
-			real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//Cum 6.
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb)
-				- c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9*oMdrho*oMdrho
-				- c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1 - c2o1* oMdrho) - c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) + c1o27*oMdrho;
-
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//Iso Test Part 1
-			real dxuydyux = -c3o1 * omega * mfbba;
-			real dxuzdzux = -c3o1 * omega * mfbab;
-			real dyuzdzuy = -c3o1 * omega * mfabb;
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * mxxMyy;
-				real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-			}
-
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz);
-			//mxxMyy    += -(-omega) * (-mxxMyy);
-			//mxxMzz    += -(-omega) * (-mxxMzz);
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//Iso Test Part 2
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//precollision terms 3. moments
-			real premxxyPyzz = mxxyPyzz;
-			real premxxzPyyz = mxxzPyyz;
-			real premxyyPxzz = mxyyPxzz;
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-			//relax
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mfbbb) / (abs(mfbbb) + qudricLimit);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimit);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimit);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimit);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimit);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimit);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimit);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-
-			//// linear combinations back
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			CUMacc += O4 * (-CUMacc);
-			CUMcac += O4 * (-CUMcac);
-			CUMcca += O4 * (-CUMcca);
-
-			CUMbbc += O4 * (-CUMbbc);
-			CUMbcb += O4 * (-CUMbcb);
-			CUMcbb += O4 * (-CUMcbb);
-
-			//5.
-			//CUMbcc += O5 * (-CUMbcc);
-			//CUMcbc += O5 * (-CUMcbc);
-			//CUMccb += O5 * (-CUMccb);
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//Iso Test Part 3
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//precollision terms 5. moments
-			real preCUMbcc = CUMbcc;
-			real preCUMcbc = CUMcbc;
-			real preCUMccb = CUMccb;
-			//new calculation of 5. moments
-			CUMbcc = c2o3 * (c1o1 - c1o2 * O5) * (vvy * dxuydyux + vvz * dxuzdzux) * c0o1 + (c1o1 - O5) * CUMbcc;
-			CUMcbc = c2o3 * (c1o1 - c1o2 * O5) * (vvx * dxuydyux + vvz * dyuzdzuy) * c0o1 + (c1o1 - O5) * CUMcbc;
-			CUMccb = c2o3 * (c1o1 - c1o2 * O5) * (vvx * dxuzdzux + vvy * dyuzdzuy) * c0o1 + (c1o1 - O5) * CUMccb;
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			//6.
-			//CUMccc += O6 * (-CUMccc);
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//Iso Test Part 4
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//new calculation of 6. moment
-			CUMccc = O6 * c1o3 * (vx2 + vy2 + vz2) * c0o1 + (c1o1 - O6) * CUMccc;
-			// second derivation of ux, uy, uz
-			real dxxux = c3o1 * (c3o2 * (CUMbcc - preCUMbcc) - c0o1 * (mxyyPxzz - premxyyPxzz));
-			real dyyuy = c3o1 * (c3o2 * (CUMcbc - preCUMcbc) - c0o1 * (mxxyPyzz - premxxyPyzz));
-			real dzzuz = c3o1 * (c3o2 * (CUMccb - preCUMccb) - c0o1 * (mxxzPyyz - premxxzPyyz));
-			// copy local values to global arrays for paraview files 
-			dxxUx[k] = dxxux;
-			dyyUy[k] = dyyuy;
-			dzzUz[k] = dzzuz;
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb);
-
-			mfcca = CUMcca + (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			mfcac = CUMcac + (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			mfacc = CUMacc + (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-
-			//5.
-			mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho;
-			mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) * oMdrho;
-			mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//6.
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb)
-				- c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9*oMdrho*oMdrho
-				- c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1 - c2o1* oMdrho) - c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) - c1o27*oMdrho;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck_Device.cuh b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck_Device.cuh
deleted file mode 100644
index b392245582cec7a098a9d7bf2583d75a578b6993..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck_Device.cuh
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef K15IncompressibleNavierStokesIsoCheck_Device_27
-#define K15IncompressibleNavierStokesIsoCheck_Device_27
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K15IncompressibleNavierStokesIsoCheck_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	real* dxxUx,
-	real* dyyUy,
-	real* dzzUz,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField.cu
deleted file mode 100644
index 5e5f99045cdc6bdbe365a4624e73b05dc82c2438..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField.cu
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "K15IncompressibleNavierStokesRotatingVelocityField.h"
-
-#include "K15IncompressibleNavierStokesRotatingVelocityField_Device.cuh"
-#include "Parameter/Parameter.h"
-#include "cuda_helper/CudaGrid.h"
-
-std::shared_ptr<K15IncompressibleNavierStokesRotatingVelocityField> K15IncompressibleNavierStokesRotatingVelocityField::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<K15IncompressibleNavierStokesRotatingVelocityField>(new K15IncompressibleNavierStokesRotatingVelocityField(para, level));
-}
-
-void K15IncompressibleNavierStokesRotatingVelocityField::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    K15IncompressibleNavierStokesRotatingVelocityField_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->deltaPhi,
-        para->getAngularVelocity(),
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->coordinateX,
-        para->getParD(level)->coordinateY,
-        para->getParD(level)->coordinateZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("K15IncompressibleNavierStokesRotatingVelocityField_Device execution failed");
-}
-
-K15IncompressibleNavierStokesRotatingVelocityField::K15IncompressibleNavierStokesRotatingVelocityField(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitSP27);
-
-	
-}
-
-K15IncompressibleNavierStokesRotatingVelocityField::K15IncompressibleNavierStokesRotatingVelocityField()
-{
-}
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField.h b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField.h
deleted file mode 100644
index 94858833254f2e2b40c0ae3ef00eaa0789ded88b..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef K15IncompressibleNavierStokesRotatingVelocityField_H
-#define K15IncompressibleNavierStokesRotatingVelocityField_H
-
-#include "Kernel/KernelImp.h"
-
-class K15IncompressibleNavierStokesRotatingVelocityField : public KernelImp
-{
-public:
-	static std::shared_ptr<K15IncompressibleNavierStokesRotatingVelocityField> getNewInstance(std::shared_ptr< Parameter> para, int level);
-	void run();
-
-private:
-	K15IncompressibleNavierStokesRotatingVelocityField();
-	K15IncompressibleNavierStokesRotatingVelocityField(std::shared_ptr< Parameter> para, int level);
-
-};
-
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField_Device.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField_Device.cu
deleted file mode 100644
index 7694553b7885449fc965bfbf3721e986313d3d60..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField_Device.cu
+++ /dev/null
@@ -1,1195 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void K15IncompressibleNavierStokesRotatingVelocityField_Device(
-	real omega,
-	real deltaPhi,
-	real angularVelocity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* coordX,
-	real* coordY,
-	real* coordZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			//unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			//unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			//unsigned int kb   = neighborZ[k];
-			//unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			//unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			//unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			//unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-											//Ship
-			real coord0X = 281.125f;//7.5f;
-			real coord0Y = 388.125f;//7.5f;
-			real ux = -angularVelocity * (coordY[k] - coord0Y);
-			real uy = angularVelocity * (coordX[k] - coord0X);
-			////////////////////////////////////////////////////////////////////////////////////
-			//slow
-			//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-			//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-			//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb));
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab));
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			real vxNeu = cosf(deltaPhi) * vvx - sinf(deltaPhi) * vvy;
-			real vyNeu = sinf(deltaPhi) * vvx + cosf(deltaPhi) * vvy;
-
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
-				mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-																	   //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-																	   //				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-																	   //				mfcbb-mfabb;
-																	   //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-																	   //				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-																	   //				mfbcb-mfbab;
-																	   //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-																	   //				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-																	   //				mfbbc-mfbba;
-																	   ////////////////////////////////////////////////////////////////////////////////////
-																	   // oMdrho assembler style -------> faaaaaastaaaa
-																	   // or much sloooowaaaa ... it dep�ndssssss on sadaku
-			real m0, m1, m2;
-			//real oMdrho;
-			//{
-			//	oMdrho=mfccc+mfaaa;
-			//	m0=mfaca+mfcac;
-			//	m1=mfacc+mfcaa;
-			//	m2=mfaac+mfcca;
-			//	oMdrho+=m0;
-			//	m1+=m2;
-			//	oMdrho+=m1;
-			//	m0=mfbac+mfbca;
-			//	m1=mfbaa+mfbcc;
-			//	m0+=m1;
-			//	m1=mfabc+mfcba;
-			//	m2=mfaba+mfcbc;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	m1=mfacb+mfcab;
-			//	m2=mfaab+mfccb;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	oMdrho+=m0;
-			//	m0=mfabb+mfcbb;
-			//	m1=mfbab+mfbcb;
-			//	m2=mfbba+mfbbc;
-			//	m0+=m1+m2;
-			//	m0+=mfbbb; //hat gefehlt
-			//	oMdrho = one - (oMdrho + m0);
-			//}
-			//real vvx;
-			real vx2;
-			//{
-			//	vvx = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfcaa-mfacc;
-			//	m2  = mfcca-mfaac;
-			//	vvx+= m0;
-			//	m1 += m2;
-			//	vvx+= m1;
-			//	vx2 = mfcba-mfabc;
-			//	m0  = mfcbc-mfaba;
-			//	m1  = mfcab-mfacb;
-			//	m2  = mfccb-mfaab;
-			//	vx2+= m0;
-			//	m1 += m2;
-			//	vx2+= m1;
-			//	vvx+= vx2;
-			//	vx2 = mfcbb-mfabb;
-			//	vvx+= vx2;
-			//}
-			//real vvy;
-			real vy2;
-			//{
-			//	vvy = mfccc-mfaaa;
-			//	m0  = mfaca-mfcac;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfcca-mfaac;
-			//	vvy+= m0;
-			//	m1 += m2;
-			//	vvy+= m1;
-			//	vy2 = mfbca-mfbac;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfacb-mfcab;
-			//	m2  = mfccb-mfaab;
-			//	vy2+= m0;
-			//	m1 += m2;
-			//	vy2+= m1;
-			//	vvy+= vy2;
-			//	vy2 = mfbcb-mfbab;
-			//	vvy+= vy2;
-			//}
-			//real vvz;
-			real vz2;
-			//{
-			//	vvz = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfaac-mfcca;
-			//	vvz+= m0;
-			//	m1 += m2;
-			//	vvz+= m1;
-			//	vz2 = mfbac-mfbca;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfabc-mfcba;
-			//	m2  = mfcbc-mfaba;
-			//	vz2+= m0;
-			//	m1 += m2;
-			//	vz2+= m1;
-			//	vvz+= vz2;
-			//	vz2 = mfbbc-mfbba;
-			//	vvz+= vz2;
-			//}
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			real wadjust;
-			real qudricLimit = 0.01f;
-			//real s9 = minusomega;
-			//test
-			//s9 = 0.;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// BGK
-			////////////////////////////////////////////////////////////////////////////////////
-			////2.
-			//mfabb += omega * (-mfabb);
-			//mfbab += omega * (-mfbab);
-			//mfbba += omega * (-mfbba);
-			//
-			//mfcaa += omega * (c1o3 * mfaaa - mfcaa);
-			//mfaca += omega * (c1o3 * mfaaa - mfaca);
-			//mfaac += omega * (c1o3 * mfaaa - mfaac);
-			//
-			////3.
-			//mfabc += omega * (-mfabc);
-			//mfbac += omega * (-mfbac);
-			//
-			//mfacb += omega * (-mfacb);
-			//mfbca += omega * (-mfbca);
-
-			//mfcab += omega * (-mfcab);
-			//mfcba += omega * (-mfcba);
-
-			//mfbbb += omega * (-mfbbb);
-
-			////4.
-			//mfacc += omega * (c1o9 * mfaaa - mfacc);
-			//mfcac += omega * (c1o9 * mfaaa - mfcac);
-			//mfcca += omega * (c1o9 * mfaaa - mfcca);
-
-			//mfbbc += omega * (-mfbbc);
-			//mfbcb += omega * (-mfbcb);
-			//mfcbb += omega * (-mfcbb);
-
-			////5.
-			//mfbcc += omega * (-mfbcc);
-			//mfcbc += omega * (-mfcbc);
-			//mfccb += omega * (-mfccb);
-
-			////6.
-			//mfccc += omega * (c1o27 * mfaaa - mfccc);
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			//////////////////////////////////////////////////////////////////////////////////////////
-			//////// Cumulants
-			//////////////////////////////////////////////////////////////////////////////////////////
-			//////real OxxPyyPzz = one;
-			//////real OxyyPxzz  = one;//two-omega;//
-			//////real OxyyMxzz  = one;//two-omega;//
-			//////real O4        = one;
-			//////real O5        = one;
-			//////real O6        = one;
-
-			////////Cum 4.
-			//////real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
-			//////real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
-			//////real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
-
-			//////real CUMcca = mfcca - (mfcaa * mfaca + two* mfbba * mfbba)- c1o3 * (mfcaa + mfaca);
-			//////real CUMcac = mfcac - (mfcaa * mfaac + two* mfbab * mfbab)- c1o3 * (mfcaa + mfaac);
-			//////real CUMacc = mfacc - (mfaac * mfaca + two* mfabb * mfabb)- c1o3 * (mfaac + mfaca);
-
-			////////Cum 5.
-			//////real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
-			//////				- c1o3 * (mfbca + mfbac); //O(eps^3)
-			//////real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
-			//////				- c1o3 * (mfcba + mfabc); //O(eps^3)
-			//////real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
-			//////				- c1o3 * (mfacb + mfcab);//O(eps^3)
-
-			////////Cum 6.
-			//////real CUMccc = mfccc +(-four*  mfbbb * mfbbb  //O(eps^6)
-			//////	                   -       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) // O(eps^4)
-			//////					   -  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc) // O(eps^6) 
-			//////					   -  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) // O(esp^6)
-			//////					   +( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) //O(eps^6)
-			//////					   +  two* (mfcaa * mfaca * mfaac) //O(eps^6)
-			//////					   + sixteen*  mfbba * mfbab * mfabb) //O(eps^6)
-			//////					   - c1o3* (mfacc + mfcac + mfcca) //O(eps^2)
-			//////					   + c1o9* (mfcaa + mfaca + mfaac) //O(eps^2)
-			//////					   +( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)//O(eps^4)
-			//////					   +       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3;//O(eps^4)
-
-
-			////////2.
-			//////// linear combinations
-			//////real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			//////real mxxMyy    = mfcaa - mfaca;
-			//////real mxxMzz	   = mfcaa - mfaac;
-
-			//////{
-			//////	real dxux = c1o2 * ((-omega) * (mxxMyy + mxxMzz) + (mfaaa - mxxPyyPzz));
-			//////	real dyuy = dxux + omega * c3o2 * mxxMyy;
-			//////	real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//////	//relax
-			//////	mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three* (one- c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//////	mxxMyy    += omega * (-mxxMyy) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//////	mxxMzz    += omega * (-mxxMzz) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			//////}
-			//////mfabb     += omega * (-mfabb);
-			//////mfbab     += omega * (-mfbab);
-			//////mfbba     += omega * (-mfbba);
-
-			//////// linear combinations back
-			//////mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			//////mfaca = c1o3 * (-two*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			//////mfaac = c1o3 * (       mxxMyy - two* mxxMzz + mxxPyyPzz);
-
-			////////3.
-			//////// linear combinations
-			//////real mxxyPyzz = mfcba + mfabc;
-			//////real mxxyMyzz = mfcba - mfabc;
-
-			//////real mxxzPyyz = mfcab + mfacb;
-			//////real mxxzMyyz = mfcab - mfacb;
-
-			//////real mxyyPxzz = mfbca + mfbac;
-			//////real mxyyMxzz = mfbca - mfbac;
-
-			////////relax
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			//////mfbbb     += wadjust * (-mfbbb);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			//////mxxyPyzz  += wadjust * (-mxxyPyzz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			//////mxxyMyzz  += wadjust * (-mxxyMyzz);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			//////mxxzPyyz  += wadjust * (-mxxzPyyz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			//////mxxzMyyz  += wadjust * (-mxxzMyyz);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			//////mxyyPxzz  += wadjust * (-mxyyPxzz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			//////mxyyMxzz  += wadjust * (-mxyyMxzz);
-
-			//////// linear combinations back
-			//////mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			//////mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			//////mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			//////mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			//////mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			//////mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			////////4.
-			//////CUMacc += O4 * (-CUMacc); 
-			//////CUMcac += O4 * (-CUMcac); 
-			//////CUMcca += O4 * (-CUMcca); 
-			//////
-			//////CUMbbc += O4 * (-CUMbbc); 
-			//////CUMbcb += O4 * (-CUMbcb); 
-			//////CUMcbb += O4 * (-CUMcbb); 
-			//////		
-			////////5.
-			//////CUMbcc += O5 * (-CUMbcc);
-			//////CUMcbc += O5 * (-CUMcbc);
-			//////CUMccb += O5 * (-CUMccb);
-
-			////////6.
-			//////CUMccc += O6 * (-CUMccc);
-			//////
-			////////back cumulants to central moments
-			////////4.
-			//////mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
-			//////mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
-			//////mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
-			//////			   
-			//////mfcca = CUMcca + (mfcaa * mfaca + two* mfbba * mfbba) + c1o3 * (mfcaa + mfaca);
-			//////mfcac = CUMcac + (mfcaa * mfaac + two* mfbab * mfbab) + c1o3 * (mfcaa + mfaac);
-			//////mfacc = CUMacc + (mfaac * mfaca + two* mfabb * mfabb) + c1o3 * (mfaac + mfaca);
-
-			////////5.
-			//////mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac);
-			//////mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc);
-			//////mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab);
-			//////
-			////////6.
-			//////mfccc = CUMccc  -((-four*  mfbbb * mfbbb  
-			//////				-       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			//////				-  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc)
-			//////				-  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-			//////				+( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-			//////				+  two* (mfcaa * mfaca * mfaac)
-			//////				+ sixteen*  mfbba * mfbab * mfabb)
-			//////				- c1o3* (mfacc + mfcac + mfcca)
-			//////				+ c1o9* (mfcaa + mfaca + mfaac)
-			//////				+( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-			//////				+       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3);
-			//////////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz = c1o1;//omega;//two-omega;//
-			real OxyyMxzz = c2o1 - omega;//one;// 
-			real O4 = c1o1;
-			real O5 = c1o1;
-			real O6 = c1o1;
-
-			////Cum 4.
-			//real CUMcbb;	real CUMbcb;	real CUMbbc;
-			//real CUMcca;	real CUMcac;	real CUMacc;
-			////Cum 5.
-			//real CUMbcc;	real CUMcbc;	real CUMccb;
-			////Cum 6.
-			//real CUMccc;
-
-			//Cum four
-			real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb);
-
-			real CUMcca = mfcca - (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			real CUMcac = mfcac - (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			real CUMacc = mfacc - (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-
-			//Cum 5.
-			//real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
-			//				- c1o3 * (mfbca + mfbac); //O(eps^3)
-			//real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
-			//				- c1o3 * (mfcba + mfabc); //O(eps^3)
-			//real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
-			//				- c1o3 * (mfacb + mfcab);//O(eps^3)
-
-			real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho;
-			real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho;
-			real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//Cum 6.
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb)
-				- c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9*oMdrho*oMdrho
-				- c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1 - c2o1* oMdrho) - c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) + c1o27*oMdrho;
-
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			{
-				real dxux = c0o1;//c1o2 * (-omega) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-				real dyuy = c0o1;//dxux + omega * c3o2 * mxxMyy;
-				real dzuz = c0o1;//dxux + omega * c3o2 * mxxMzz;
-
-								 //relax
-				mxxPyyPzz += (OxxPyyPzz)*(mfaaa - c2o1*(ux*vvx + uy*vvy) - ux*ux - uy*uy - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy += omega * (-c2o1*(ux*vvx - uy*vvy) - (ux*ux - uy*uy) - mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-				mxxMzz += omega * (-c2o1*ux*vvx - ux*ux - mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			}
-			mfabb += omega * (-uy*vvz - mfabb);
-			mfbab += omega * (-ux*vvz - mfbab);
-			mfbba += omega * (-ux*vvy - uy*vvx - ux*uy - mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mfbbb) / (abs(mfbbb) + qudricLimit);
-			mfbbb += wadjust * (-mfbbb);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimit);
-			mxxyPyzz += wadjust * (-mxxyPyzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimit);
-			mxxyMyzz += wadjust * (-mxxyMyzz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimit);
-			mxxzPyyz += wadjust * (-mxxzPyyz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimit);
-			mxxzMyyz += wadjust * (-mxxzMyyz);
-			wadjust = OxyyPxzz + (c1o1 - OxyyPxzz)*abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimit);
-			mxyyPxzz += wadjust * (-mxyyPxzz);
-			wadjust = OxyyMxzz + (c1o1 - OxyyMxzz)*abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimit);
-			mxyyMxzz += wadjust * (-mxyyMxzz);
-
-			//// linear combinations back
-			////generic
-			//mfcba =  zero;
-			//mfabc =  zero;
-			//mfcab =  zero;
-			//mfacb =  zero;
-			//mfbca =  zero;
-			//mfbac =  zero;
-
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//CUMacc =  zero; 
-			//CUMcac =  zero; 
-			//CUMcca =  zero; 
-			//	   
-			//CUMbbc =  zero; 
-			//CUMbcb =  zero; 
-			//CUMcbb =  zero; 
-			//	  
-			////5.   
-			//CUMbcc =  zero;
-			//CUMcbc =  zero;
-			//CUMccb =  zero;
-			//	   
-			////6.   
-			//CUMccc =  zero;
-
-			//4.
-			CUMacc += O4 * (-CUMacc);
-			CUMcac += O4 * (-CUMcac);
-			CUMcca += O4 * (-CUMcca);
-
-			CUMbbc += O4 * (-CUMbbc);
-			CUMbcb += O4 * (-CUMbcb);
-			CUMcbb += O4 * (-CUMcbb);
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb);
-
-			mfcca = CUMcca + (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			mfcac = CUMcac + (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			mfacc = CUMacc + (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-
-			//5.
-			mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho;
-			mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) * oMdrho;
-			mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//6.
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb)
-				- c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9*oMdrho*oMdrho
-				- c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1 - c2o1* oMdrho) - c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) - c1o27*oMdrho;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-
-			//turning ship:
-
-			vvx = vxNeu;
-			vvy = vyNeu;
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField_Device.cuh b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField_Device.cuh
deleted file mode 100644
index b313fcb8f2e7aa4544249ce26f6ada3cf85c7a79..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField_Device.cuh
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef K15IncompressibleNavierStokesRotatingVelocityField_Device_H
-#define K15IncompressibleNavierStokesRotatingVelocityField_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void K15IncompressibleNavierStokesRotatingVelocityField_Device(
-	real omega,
-	real deltaPhi,
-	real angularVelocity,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* coordX,
-	real* coordY,
-	real* coordZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes_Device.cu
index 4438d69ecd25ac21dc6f944f450cfa1b61e273e3..c1a538c07ea820b2212901ac601fe36ddc2d6dac 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes_Device.cu
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes_Device.cu
@@ -7,1234 +7,1234 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 __global__ void K15IncompressibleNavierStokes_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
+    real omega,
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			//unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			//unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			//unsigned int kb   = neighborZ[k];
-			//unsigned int ksw  = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			//unsigned int kbw  = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			//unsigned int kbs  = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			//unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-											//slow
-											//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-											//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-											//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb));
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab));
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
-				mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-																	   //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-																	   //				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-																	   //				mfcbb-mfabb;
-																	   //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-																	   //				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-																	   //				mfbcb-mfbab;
-																	   //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-																	   //				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-																	   //				mfbbc-mfbba;
-																	   ////////////////////////////////////////////////////////////////////////////////////
-																	   // oMdrho assembler style -------> faaaaaastaaaa
-																	   // or much sloooowaaaa ... it dep�ndssssss on sadaku
-			real m0, m1, m2;
-			//real oMdrho;
-			//{
-			//	oMdrho=mfccc+mfaaa;
-			//	m0=mfaca+mfcac;
-			//	m1=mfacc+mfcaa;
-			//	m2=mfaac+mfcca;
-			//	oMdrho+=m0;
-			//	m1+=m2;
-			//	oMdrho+=m1;
-			//	m0=mfbac+mfbca;
-			//	m1=mfbaa+mfbcc;
-			//	m0+=m1;
-			//	m1=mfabc+mfcba;
-			//	m2=mfaba+mfcbc;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	m1=mfacb+mfcab;
-			//	m2=mfaab+mfccb;
-			//	m1+=m2;
-			//	m0+=m1;
-			//	oMdrho+=m0;
-			//	m0=mfabb+mfcbb;
-			//	m1=mfbab+mfbcb;
-			//	m2=mfbba+mfbbc;
-			//	m0+=m1+m2;
-			//	m0+=mfbbb; //hat gefehlt
-			//	oMdrho = one - (oMdrho + m0);
-			//}
-			//real vvx;
-			real vx2;
-			//{
-			//	vvx = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfcaa-mfacc;
-			//	m2  = mfcca-mfaac;
-			//	vvx+= m0;
-			//	m1 += m2;
-			//	vvx+= m1;
-			//	vx2 = mfcba-mfabc;
-			//	m0  = mfcbc-mfaba;
-			//	m1  = mfcab-mfacb;
-			//	m2  = mfccb-mfaab;
-			//	vx2+= m0;
-			//	m1 += m2;
-			//	vx2+= m1;
-			//	vvx+= vx2;
-			//	vx2 = mfcbb-mfabb;
-			//	vvx+= vx2;
-			//}
-			//real vvy;
-			real vy2;
-			//{
-			//	vvy = mfccc-mfaaa;
-			//	m0  = mfaca-mfcac;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfcca-mfaac;
-			//	vvy+= m0;
-			//	m1 += m2;
-			//	vvy+= m1;
-			//	vy2 = mfbca-mfbac;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfacb-mfcab;
-			//	m2  = mfccb-mfaab;
-			//	vy2+= m0;
-			//	m1 += m2;
-			//	vy2+= m1;
-			//	vvy+= vy2;
-			//	vy2 = mfbcb-mfbab;
-			//	vvy+= vy2;
-			//}
-			//real vvz;
-			real vz2;
-			//{
-			//	vvz = mfccc-mfaaa;
-			//	m0  = mfcac-mfaca;
-			//	m1  = mfacc-mfcaa;
-			//	m2  = mfaac-mfcca;
-			//	vvz+= m0;
-			//	m1 += m2;
-			//	vvz+= m1;
-			//	vz2 = mfbac-mfbca;
-			//	m0  = mfbcc-mfbaa;
-			//	m1  = mfabc-mfcba;
-			//	m2  = mfcbc-mfaba;
-			//	vz2+= m0;
-			//	m1 += m2;
-			//	vz2+= m1;
-			//	vvz+= vz2;
-			//	vz2 = mfbbc-mfbba;
-			//	vvz+= vz2;
-			//}
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real wadjust;
-			//real qudricLimit = 0.01f;
-			//real s9 = minusomega;
-			//test
-			//s9 = 0.;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1 - m0 * vvz;
-			mfaac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1 - m0 * vvz;
-			mfabc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1 - m0 * vvz;
-			mfacc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1 - m0 * vvz;
-			mfbac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1 - m0 * vvz;
-			mfbbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1 - m0 * vvz;
-			mfbcc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1 - m0 * vvz;
-			mfcac = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1 - m0 * vvz;
-			mfcbc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1 - m0 * vvz;
-			mfccc = m2 - c2o1*	m1 * vvz + vz2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1 - m0 * vvy;
-			mfaca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1 - m0 * vvy;
-			mfacb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1 - m0 * vvy;
-			mfacc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1 - m0 * vvy;
-			mfbca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1 - m0 * vvy;
-			mfbcb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1 - m0 * vvy;
-			mfbcc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1 - m0 * vvy;
-			mfcca = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1 - m0 * vvy;
-			mfccb = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1 - m0 * vvy;
-			mfccc = m2 - c2o1*	m1 * vvy + vy2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1 - m0 * vvx;
-			mfcaa = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1 - m0 * vvx;
-			mfcba = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1 - m0 * vvx;
-			mfcca = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1 - m0 * vvx;
-			mfcab = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1 - m0 * vvx;
-			mfcbb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1 - m0 * vvx;
-			mfccb = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1 - m0 * vvx;
-			mfcac = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1 - m0 * vvx;
-			mfcbc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1 - m0 * vvx;
-			mfccc = m2 - c2o1*	m1 * vvx + vx2 * m0;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// BGK
-			////////////////////////////////////////////////////////////////////////////////////
-			////2.
-			//mfabb += omega * (-mfabb);
-			//mfbab += omega * (-mfbab);
-			//mfbba += omega * (-mfbba);
-			//
-			//mfcaa += omega * (c1o3 * mfaaa - mfcaa);
-			//mfaca += omega * (c1o3 * mfaaa - mfaca);
-			//mfaac += omega * (c1o3 * mfaaa - mfaac);
-			//
-			////3.
-			//mfabc += omega * (-mfabc);
-			//mfbac += omega * (-mfbac);
-			//
-			//mfacb += omega * (-mfacb);
-			//mfbca += omega * (-mfbca);
-
-			//mfcab += omega * (-mfcab);
-			//mfcba += omega * (-mfcba);
-
-			//mfbbb += omega * (-mfbbb);
-
-			////4.
-			//mfacc += omega * (c1o9 * mfaaa - mfacc);
-			//mfcac += omega * (c1o9 * mfaaa - mfcac);
-			//mfcca += omega * (c1o9 * mfaaa - mfcca);
-
-			//mfbbc += omega * (-mfbbc);
-			//mfbcb += omega * (-mfbcb);
-			//mfcbb += omega * (-mfcbb);
-
-			////5.
-			//mfbcc += omega * (-mfbcc);
-			//mfcbc += omega * (-mfcbc);
-			//mfccb += omega * (-mfccb);
-
-			////6.
-			//mfccc += omega * (c1o27 * mfaaa - mfccc);
-			//////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			//////////////////////////////////////////////////////////////////////////////////////////
-			//////// Cumulants
-			//////////////////////////////////////////////////////////////////////////////////////////
-			//////real OxxPyyPzz = one;
-			//////real OxyyPxzz  = one;//two-omega;//
-			//////real OxyyMxzz  = one;//two-omega;//
-			//////real O4        = one;
-			//////real O5        = one;
-			//////real O6        = one;
-
-			////////Cum 4.
-			//////real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
-			//////real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
-			//////real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
-
-			//////real CUMcca = mfcca - (mfcaa * mfaca + two* mfbba * mfbba)- c1o3 * (mfcaa + mfaca);
-			//////real CUMcac = mfcac - (mfcaa * mfaac + two* mfbab * mfbab)- c1o3 * (mfcaa + mfaac);
-			//////real CUMacc = mfacc - (mfaac * mfaca + two* mfabb * mfabb)- c1o3 * (mfaac + mfaca);
-
-			////////Cum 5.
-			//////real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
-			//////				- c1o3 * (mfbca + mfbac); //O(eps^3)
-			//////real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
-			//////				- c1o3 * (mfcba + mfabc); //O(eps^3)
-			//////real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
-			//////				- c1o3 * (mfacb + mfcab);//O(eps^3)
-
-			////////Cum 6.
-			//////real CUMccc = mfccc +(-four*  mfbbb * mfbbb  //O(eps^6)
-			//////	                   -       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) // O(eps^4)
-			//////					   -  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc) // O(eps^6) 
-			//////					   -  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) // O(esp^6)
-			//////					   +( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) //O(eps^6)
-			//////					   +  two* (mfcaa * mfaca * mfaac) //O(eps^6)
-			//////					   + sixteen*  mfbba * mfbab * mfabb) //O(eps^6)
-			//////					   - c1o3* (mfacc + mfcac + mfcca) //O(eps^2)
-			//////					   + c1o9* (mfcaa + mfaca + mfaac) //O(eps^2)
-			//////					   +( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)//O(eps^4)
-			//////					   +       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3;//O(eps^4)
-
-
-			////////2.
-			//////// linear combinations
-			//////real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			//////real mxxMyy    = mfcaa - mfaca;
-			//////real mxxMzz	   = mfcaa - mfaac;
-
-			//////{
-			//////	real dxux = c1o2 * ((-omega) * (mxxMyy + mxxMzz) + (mfaaa - mxxPyyPzz));
-			//////	real dyuy = dxux + omega * c3o2 * mxxMyy;
-			//////	real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//////	//relax
-			//////	mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three* (one- c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//////	mxxMyy    += omega * (-mxxMyy) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//////	mxxMzz    += omega * (-mxxMzz) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			//////}
-			//////mfabb     += omega * (-mfabb);
-			//////mfbab     += omega * (-mfbab);
-			//////mfbba     += omega * (-mfbba);
-
-			//////// linear combinations back
-			//////mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
-			//////mfaca = c1o3 * (-two*  mxxMyy +      mxxMzz + mxxPyyPzz);
-			//////mfaac = c1o3 * (       mxxMyy - two* mxxMzz + mxxPyyPzz);
-
-			////////3.
-			//////// linear combinations
-			//////real mxxyPyzz = mfcba + mfabc;
-			//////real mxxyMyzz = mfcba - mfabc;
-
-			//////real mxxzPyyz = mfcab + mfacb;
-			//////real mxxzMyyz = mfcab - mfacb;
-
-			//////real mxyyPxzz = mfbca + mfbac;
-			//////real mxyyMxzz = mfbca - mfbac;
-
-			////////relax
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			//////mfbbb     += wadjust * (-mfbbb);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			//////mxxyPyzz  += wadjust * (-mxxyPyzz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			//////mxxyMyzz  += wadjust * (-mxxyMyzz);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			//////mxxzPyyz  += wadjust * (-mxxzPyyz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			//////mxxzMyyz  += wadjust * (-mxxzMyyz);
-			//////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			//////mxyyPxzz  += wadjust * (-mxyyPxzz);
-			//////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			//////mxyyMxzz  += wadjust * (-mxyyMxzz);
-
-			//////// linear combinations back
-			//////mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
-			//////mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			//////mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
-			//////mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			//////mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
-			//////mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			////////4.
-			//////CUMacc += O4 * (-CUMacc); 
-			//////CUMcac += O4 * (-CUMcac); 
-			//////CUMcca += O4 * (-CUMcca); 
-			//////
-			//////CUMbbc += O4 * (-CUMbbc); 
-			//////CUMbcb += O4 * (-CUMbcb); 
-			//////CUMcbb += O4 * (-CUMcbb); 
-			//////		
-			////////5.
-			//////CUMbcc += O5 * (-CUMbcc);
-			//////CUMcbc += O5 * (-CUMcbc);
-			//////CUMccb += O5 * (-CUMccb);
-
-			////////6.
-			//////CUMccc += O6 * (-CUMccc);
-			//////
-			////////back cumulants to central moments
-			////////4.
-			//////mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
-			//////mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
-			//////mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
-			//////			   
-			//////mfcca = CUMcca + (mfcaa * mfaca + two* mfbba * mfbba) + c1o3 * (mfcaa + mfaca);
-			//////mfcac = CUMcac + (mfcaa * mfaac + two* mfbab * mfbab) + c1o3 * (mfcaa + mfaac);
-			//////mfacc = CUMacc + (mfaac * mfaca + two* mfabb * mfabb) + c1o3 * (mfaac + mfaca);
-
-			////////5.
-			//////mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac);
-			//////mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc);
-			//////mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab);
-			//////
-			////////6.
-			//////mfccc = CUMccc  -((-four*  mfbbb * mfbbb  
-			//////				-       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-			//////				-  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc)
-			//////				-  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-			//////				+( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-			//////				+  two* (mfcaa * mfaca * mfaac)
-			//////				+ sixteen*  mfbba * mfbab * mfabb)
-			//////				- c1o3* (mfacc + mfcac + mfcca)
-			//////				+ c1o9* (mfcaa + mfaca + mfaac)
-			//////				+( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-			//////				+       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3);
-			//////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// Cumulants
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = c1o1;
-			real OxyyPxzz = c8o1*(c2o1 - omega) / (c8o1 - omega);//one;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz = c8o1*(c2o1 - omega) / (c8o1 - omega);//one;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4 = c1o1;
-			real O5 = c1o1;
-			real O6 = c1o1;
-
-			////Cum 4.
-			//real CUMcbb;	real CUMbcb;	real CUMbbc;
-			//real CUMcca;	real CUMcac;	real CUMacc;
-			////Cum 5.
-			//real CUMbcc;	real CUMcbc;	real CUMccb;
-			////Cum 6.
-			//real CUMccc;
-
-			//Cum 4.
-			real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab); // /rho
-			real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb); // /rho
-			real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb); // /rho
-
-			real CUMcca = mfcca - ((mfcaa * mfaca + c2o1 * mfbba * mfbba) /* /rho*/ + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho);
-			real CUMcac = mfcac - ((mfcaa * mfaac + c2o1 * mfbab * mfbab) /* /rho*/ + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho);
-			real CUMacc = mfacc - ((mfaac * mfaca + c2o1 * mfabb * mfabb) /* /rho*/ + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho);
-
-			//Cum 5.
-			//real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
-			//				- c1o3 * (mfbca + mfbac); //O(eps^3)
-			//real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
-			//				- c1o3 * (mfcba + mfabc); //O(eps^3)
-			//real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
-			//				- c1o3 * (mfacb + mfcab);//O(eps^3)
-
-			real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho;
-			real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho;
-			real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//Cum 6.
-			real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb)
-				- c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9*oMdrho*oMdrho
-				- c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1 - c2o1* oMdrho) - c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) + c1o27*oMdrho;
-
-
-
-
-
-			//2.
-			// linear combinations
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			//////////////////////////////////////////////////////////////////////////
-			//real magicBulk = (CUMacc + CUMcac + CUMcca)*(c1o1 / OxxPyyPzz - c1o2)*c3o2*8.;
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 1
-			//real oxxyy,oxxzz,oxy,oxz,oyz;
-			//real smag=0.001;
-			//oxxyy    = omega+(one-omega)*abs(mxxMyy)/(abs(mxxMyy)+smag);
-			//oxxzz    = omega+(one-omega)*abs(mxxMzz)/(abs(mxxMzz)+smag);
-			//oxy      = omega+(one-omega)*abs(mfbba)/(abs(mfbba)+smag);
-			//oxz      = omega+(one-omega)*abs(mfbab)/(abs(mfbab)+smag);
-			//oyz      = omega+(one-omega)*abs(mfabb)/(abs(mfabb)+smag);
-
-			////////////////////////////////////////////////////////////////////////////
-			////Teil 1b
-			//real constante = 1000.0;
-			//real nuEddi = constante * abs(mxxPyyPzz);
-			//real omegaLimit = one / (one / omega + three * nuEddi);
-
-			//{
-			//	real dxux = c1o2 * (-omegaLimit) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			//	real dyuy = dxux + omegaLimit * c3o2 * mxxMyy;
-			//	real dzuz = dxux + omegaLimit * c3o2 * mxxMzz;
-
-			////relax
-			//mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-			//mxxMyy    += omegaLimit * (-mxxMyy) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vy2 * dyuy);
-			//mxxMzz    += omegaLimit * (-mxxMzz) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vz2 * dzuz);
-
-			//}
-			//mfabb     += omegaLimit * (-mfabb);
-			//mfbab     += omegaLimit * (-mfbab);
-			//mfbba     += omegaLimit * (-mfbba);
-			////////////////////////////////////////////////////////////////////////////
-
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			////incl. correction		(hat noch nicht so gut funktioniert...Optimierungsbedarf??)
-			//{
-			//	real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
-			//	real dyuy = dxux + omega * c3o2 * mxxMyy;
-			//	real dzuz = dxux + omega * c3o2 * mxxMzz;
-
-			//	//relax
-			//	mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
-			//	mxxMyy    += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-			//	mxxMzz    += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-
-			//	//////////////////////////////////////////////////////////////////////////
-			//	//limiter-Scheise Teil 2
-			//	//mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
-			//	//mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
-			//	//////////////////////////////////////////////////////////////////////////
-
-			//}
-			/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//no correction
-			mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz);//-magicBulk*OxxPyyPzz;
-			mxxMyy += -(-omega) * (-mxxMyy);
-			mxxMzz += -(-omega) * (-mxxMzz);
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (-mfabb);
-			mfbab += omega * (-mfbab);
-			mfbba += omega * (-mfbba);
-
-			//////////////////////////////////////////////////////////////////////////
-			//limiter-Scheise Teil 3
-			//mfabb     += oyz * (-mfabb);
-			//mfbab     += oxz * (-mfbab);
-			//mfbba     += oxy * (-mfbba);
-			//////////////////////////////////////////////////////////////////////////
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			//relax
-			// 			wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
-			// 			mfbbb     += wadjust * (-mfbbb);
-			// 			wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
-			// 			mxxyPyzz  += wadjust * (-mxxyPyzz);
-			// 			wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
-			// 			mxxyMyzz  += wadjust * (-mxxyMyzz);
-			// 			wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
-			// 			mxxzPyyz  += wadjust * (-mxxzPyyz);
-			// 			wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
-			// 			mxxzMyyz  += wadjust * (-mxxzMyyz);
-			// 			wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
-			// 			mxyyPxzz  += wadjust * (-mxyyPxzz);
-			// 			wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
-			// 			mxyyMxzz  += wadjust * (-mxyyMxzz);
-			mfbbb += OxyyMxzz * (-mfbbb);
-			mxxyPyzz += OxyyPxzz * (-mxxyPyzz);
-			mxxyMyzz += OxyyMxzz * (-mxxyMyzz);
-			mxxzPyyz += OxyyPxzz * (-mxxzPyyz);
-			mxxzMyyz += OxyyMxzz * (-mxxzMyyz);
-			mxyyPxzz += OxyyPxzz * (-mxyyPxzz);
-			mxyyMxzz += OxyyMxzz * (-mxyyMxzz);
-
-			//// linear combinations back
-			////generic
-			//mfcba =  zero;
-			//mfabc =  zero;
-			//mfcab =  zero;
-			//mfacb =  zero;
-			//mfbca =  zero;
-			//mfbac =  zero;
-
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			//CUMacc =  zero; 
-			//CUMcac =  zero; 
-			//CUMcca =  zero; 
-			//	   
-			//CUMbbc =  zero; 
-			//CUMbcb =  zero; 
-			//CUMcbb =  zero; 
-			//	  
-			////5.   
-			//CUMbcc =  zero;
-			//CUMcbc =  zero;
-			//CUMccb =  zero;
-			//	   
-			////6.   
-			//CUMccc =  zero;
-
-			//4.
-			CUMacc += O4 * (-CUMacc);
-			CUMcac += O4 * (-CUMcac);
-			CUMcca += O4 * (-CUMcca);
-
-			CUMbbc += O4 * (-CUMbbc);
-			CUMbcb += O4 * (-CUMbcb);
-			CUMcbb += O4 * (-CUMcbb);
-
-			//5.
-			CUMbcc += O5 * (-CUMbcc);
-			CUMcbc += O5 * (-CUMcbc);
-			CUMccb += O5 * (-CUMccb);
-
-			//6.
-			CUMccc += O6 * (-CUMccc);
-
-
-
-			//back cumulants to central moments
-			//4.
-			mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
-			mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
-			mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb);
-
-			mfcca = CUMcca + (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			mfcac = CUMcac + (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-			mfacc = CUMacc + (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
-
-			//5.
-			mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho;
-			mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) * oMdrho;
-			mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) * oMdrho;
-
-			//6.
-			mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
-				- (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
-				- c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
-				- c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
-				+ (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
-					+ c2o1 * (mfcaa * mfaca * mfaac)
-					+ c16o1 *  mfbba * mfbab * mfabb)
-				- c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9*oMdrho*oMdrho
-				- c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1 - c2o1* oMdrho) - c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
-				+ (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
-					+ (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) - c1o27*oMdrho;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
+
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
+
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
+
+    if (k<size_Mat)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = bcMatD[k];
+
+        if ((BC != GEO_SOLID) && (BC != GEO_VOID))
+        {
+            Distributions27 D;
+            if (EvenOrOdd == true)
+            {
+                D.f[dP00] = &DDStart[dP00 * size_Mat];
+                D.f[dM00] = &DDStart[dM00 * size_Mat];
+                D.f[d0P0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0M0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00P] = &DDStart[d00P * size_Mat];
+                D.f[d00M] = &DDStart[d00M * size_Mat];
+                D.f[dPP0] = &DDStart[dPP0 * size_Mat];
+                D.f[dMM0] = &DDStart[dMM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dPM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dMP0 * size_Mat];
+                D.f[dP0P] = &DDStart[dP0P * size_Mat];
+                D.f[dM0M] = &DDStart[dM0M * size_Mat];
+                D.f[dP0M] = &DDStart[dP0M * size_Mat];
+                D.f[dM0P] = &DDStart[dM0P * size_Mat];
+                D.f[d0PP] = &DDStart[d0PP * size_Mat];
+                D.f[d0MM] = &DDStart[d0MM * size_Mat];
+                D.f[d0PM] = &DDStart[d0PM * size_Mat];
+                D.f[d0MP] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dPPP] = &DDStart[dPPP * size_Mat];
+                D.f[dMMP] = &DDStart[dMMP * size_Mat];
+                D.f[dPMP] = &DDStart[dPMP * size_Mat];
+                D.f[dMPP] = &DDStart[dMPP * size_Mat];
+                D.f[dPPM] = &DDStart[dPPM * size_Mat];
+                D.f[dMMM] = &DDStart[dMMM * size_Mat];
+                D.f[dPMM] = &DDStart[dPMM * size_Mat];
+                D.f[dMPM] = &DDStart[dMPM * size_Mat];
+            }
+            else
+            {
+                D.f[dM00] = &DDStart[dP00 * size_Mat];
+                D.f[dP00] = &DDStart[dM00 * size_Mat];
+                D.f[d0M0] = &DDStart[d0P0 * size_Mat];
+                D.f[d0P0] = &DDStart[d0M0 * size_Mat];
+                D.f[d00M] = &DDStart[d00P * size_Mat];
+                D.f[d00P] = &DDStart[d00M * size_Mat];
+                D.f[dMM0] = &DDStart[dPP0 * size_Mat];
+                D.f[dPP0] = &DDStart[dMM0 * size_Mat];
+                D.f[dMP0] = &DDStart[dPM0 * size_Mat];
+                D.f[dPM0] = &DDStart[dMP0 * size_Mat];
+                D.f[dM0M] = &DDStart[dP0P * size_Mat];
+                D.f[dP0P] = &DDStart[dM0M * size_Mat];
+                D.f[dM0P] = &DDStart[dP0M * size_Mat];
+                D.f[dP0M] = &DDStart[dM0P * size_Mat];
+                D.f[d0MM] = &DDStart[d0PP * size_Mat];
+                D.f[d0PP] = &DDStart[d0MM * size_Mat];
+                D.f[d0MP] = &DDStart[d0PM * size_Mat];
+                D.f[d0PM] = &DDStart[d0MP * size_Mat];
+                D.f[d000] = &DDStart[d000 * size_Mat];
+                D.f[dMMM] = &DDStart[dPPP * size_Mat];
+                D.f[dPPM] = &DDStart[dMMP * size_Mat];
+                D.f[dMPM] = &DDStart[dPMP * size_Mat];
+                D.f[dPMM] = &DDStart[dMPP * size_Mat];
+                D.f[dMMP] = &DDStart[dPPM * size_Mat];
+                D.f[dPPP] = &DDStart[dMMM * size_Mat];
+                D.f[dMPP] = &DDStart[dPMM * size_Mat];
+                D.f[dPMP] = &DDStart[dMPM * size_Mat];
+            }
+
+            ////////////////////////////////////////////////////////////////////////////////
+            //index
+            //unsigned int kzero= k;
+            //unsigned int ke   = k;
+            unsigned int kw = neighborX[k];
+            //unsigned int kn   = k;
+            unsigned int ks = neighborY[k];
+            //unsigned int kt   = k;
+            unsigned int kb = neighborZ[k];
+            unsigned int ksw = neighborY[kw];
+            //unsigned int kne  = k;
+            //unsigned int kse  = ks;
+            //unsigned int knw  = kw;
+            unsigned int kbw = neighborZ[kw];
+            //unsigned int kte  = k;
+            //unsigned int kbe  = kb;
+            //unsigned int ktw  = kw;
+            unsigned int kbs = neighborZ[ks];
+            //unsigned int ktn  = k;
+            //unsigned int kbn  = kb;
+            //unsigned int kts  = ks;
+            //unsigned int ktse = ks;
+            //unsigned int kbnw = kbw;
+            //unsigned int ktnw = kw;
+            //unsigned int kbse = kbs;
+            //unsigned int ktsw = ksw;
+            //unsigned int kbne = kb;
+            //unsigned int ktne = k;
+            unsigned int kbsw = neighborZ[ksw];
+
+            //unsigned int kzero= k;
+            //unsigned int ke   = k;
+            //unsigned int kw   = neighborX[k];
+            //unsigned int kn   = k;
+            //unsigned int ks   = neighborY[k];
+            //unsigned int kt   = k;
+            //unsigned int kb   = neighborZ[k];
+            //unsigned int ksw  = neighborY[kw];
+            //unsigned int kne  = k;
+            //unsigned int kse  = ks;
+            //unsigned int knw  = kw;
+            //unsigned int kbw  = neighborZ[kw];
+            //unsigned int kte  = k;
+            //unsigned int kbe  = kb;
+            //unsigned int ktw  = kw;
+            //unsigned int kbs  = neighborZ[ks];
+            //unsigned int ktn  = k;
+            //unsigned int kbn  = kb;
+            //unsigned int kts  = ks;
+            //unsigned int ktse = ks;
+            //unsigned int kbnw = kbw;
+            //unsigned int ktnw = kw;
+            //unsigned int kbse = kbs;
+            //unsigned int ktsw = ksw;
+            //unsigned int kbne = kb;
+            //unsigned int ktne = k;
+            //unsigned int kbsw = neighborZ[ksw];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
+            real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
+            real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
+            real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
+            real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
+            real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
+            real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
+            real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
+            real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
+            real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
+            real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
+            real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
+            real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
+            real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
+            real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
+            real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
+            real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
+            real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
+            real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
+            real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
+            real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
+            real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
+            real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
+            real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
+            real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
+            real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
+            real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
+                                            ////////////////////////////////////////////////////////////////////////////////////
+                                            //slow
+                                            //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
+                                            //                       (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
+                                            //                        ((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
+            real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
+                (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
+                (mfcbb - mfabb));
+            real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
+                (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
+                (mfbcb - mfbab));
+            real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
+                (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
+                (mfbbc - mfbba));
+            ////////////////////////////////////////////////////////////////////////////////////
+            //fast
+            real oMdrho = c1o1 - (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
+                mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
+                mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb);//fehlt mfbbb nicht mehr
+                                                                       //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
+                                                                       //                mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
+                                                                       //                mfcbb-mfabb;
+                                                                       //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
+                                                                       //                mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
+                                                                       //                mfbcb-mfbab;
+                                                                       //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
+                                                                       //                mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
+                                                                       //                mfbbc-mfbba;
+                                                                       ////////////////////////////////////////////////////////////////////////////////////
+                                                                       // oMdrho assembler style -------> faaaaaastaaaa
+                                                                       // or much sloooowaaaa ... it dep�ndssssss on sadaku
+            real m0, m1, m2;
+            //real oMdrho;
+            //{
+            //    oMdrho=mfccc+mfaaa;
+            //    m0=mfaca+mfcac;
+            //    m1=mfacc+mfcaa;
+            //    m2=mfaac+mfcca;
+            //    oMdrho+=m0;
+            //    m1+=m2;
+            //    oMdrho+=m1;
+            //    m0=mfbac+mfbca;
+            //    m1=mfbaa+mfbcc;
+            //    m0+=m1;
+            //    m1=mfabc+mfcba;
+            //    m2=mfaba+mfcbc;
+            //    m1+=m2;
+            //    m0+=m1;
+            //    m1=mfacb+mfcab;
+            //    m2=mfaab+mfccb;
+            //    m1+=m2;
+            //    m0+=m1;
+            //    oMdrho+=m0;
+            //    m0=mfabb+mfcbb;
+            //    m1=mfbab+mfbcb;
+            //    m2=mfbba+mfbbc;
+            //    m0+=m1+m2;
+            //    m0+=mfbbb; //hat gefehlt
+            //    oMdrho = one - (oMdrho + m0);
+            //}
+            //real vvx;
+            real vx2;
+            //{
+            //    vvx = mfccc-mfaaa;
+            //    m0  = mfcac-mfaca;
+            //    m1  = mfcaa-mfacc;
+            //    m2  = mfcca-mfaac;
+            //    vvx+= m0;
+            //    m1 += m2;
+            //    vvx+= m1;
+            //    vx2 = mfcba-mfabc;
+            //    m0  = mfcbc-mfaba;
+            //    m1  = mfcab-mfacb;
+            //    m2  = mfccb-mfaab;
+            //    vx2+= m0;
+            //    m1 += m2;
+            //    vx2+= m1;
+            //    vvx+= vx2;
+            //    vx2 = mfcbb-mfabb;
+            //    vvx+= vx2;
+            //}
+            //real vvy;
+            real vy2;
+            //{
+            //    vvy = mfccc-mfaaa;
+            //    m0  = mfaca-mfcac;
+            //    m1  = mfacc-mfcaa;
+            //    m2  = mfcca-mfaac;
+            //    vvy+= m0;
+            //    m1 += m2;
+            //    vvy+= m1;
+            //    vy2 = mfbca-mfbac;
+            //    m0  = mfbcc-mfbaa;
+            //    m1  = mfacb-mfcab;
+            //    m2  = mfccb-mfaab;
+            //    vy2+= m0;
+            //    m1 += m2;
+            //    vy2+= m1;
+            //    vvy+= vy2;
+            //    vy2 = mfbcb-mfbab;
+            //    vvy+= vy2;
+            //}
+            //real vvz;
+            real vz2;
+            //{
+            //    vvz = mfccc-mfaaa;
+            //    m0  = mfcac-mfaca;
+            //    m1  = mfacc-mfcaa;
+            //    m2  = mfaac-mfcca;
+            //    vvz+= m0;
+            //    m1 += m2;
+            //    vvz+= m1;
+            //    vz2 = mfbac-mfbca;
+            //    m0  = mfbcc-mfbaa;
+            //    m1  = mfabc-mfcba;
+            //    m2  = mfcbc-mfaba;
+            //    vz2+= m0;
+            //    m1 += m2;
+            //    vz2+= m1;
+            //    vvz+= vz2;
+            //    vz2 = mfbbc-mfbba;
+            //    vvz+= vz2;
+            //}
+            vx2 = vvx*vvx;
+            vy2 = vvy*vvy;
+            vz2 = vvz*vvz;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //real wadjust;
+            //real qudricLimit = 0.01f;
+            //real s9 = minusomega;
+            //test
+            //s9 = 0.;
+            ////////////////////////////////////////////////////////////////////////////////////
+            //Hin
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m2 = mfaaa + mfaac;
+            m1 = mfaac - mfaaa;
+            m0 = m2 + mfaab;
+            mfaaa = m0;
+            m0 += c1o36 * oMdrho;
+            mfaab = m1 - m0 * vvz;
+            mfaac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaba + mfabc;
+            m1 = mfabc - mfaba;
+            m0 = m2 + mfabb;
+            mfaba = m0;
+            m0 += c1o9 * oMdrho;
+            mfabb = m1 - m0 * vvz;
+            mfabc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaca + mfacc;
+            m1 = mfacc - mfaca;
+            m0 = m2 + mfacb;
+            mfaca = m0;
+            m0 += c1o36 * oMdrho;
+            mfacb = m1 - m0 * vvz;
+            mfacc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbaa + mfbac;
+            m1 = mfbac - mfbaa;
+            m0 = m2 + mfbab;
+            mfbaa = m0;
+            m0 += c1o9 * oMdrho;
+            mfbab = m1 - m0 * vvz;
+            mfbac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbba + mfbbc;
+            m1 = mfbbc - mfbba;
+            m0 = m2 + mfbbb;
+            mfbba = m0;
+            m0 += c4o9 * oMdrho;
+            mfbbb = m1 - m0 * vvz;
+            mfbbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbca + mfbcc;
+            m1 = mfbcc - mfbca;
+            m0 = m2 + mfbcb;
+            mfbca = m0;
+            m0 += c1o9 * oMdrho;
+            mfbcb = m1 - m0 * vvz;
+            mfbcc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcaa + mfcac;
+            m1 = mfcac - mfcaa;
+            m0 = m2 + mfcab;
+            mfcaa = m0;
+            m0 += c1o36 * oMdrho;
+            mfcab = m1 - m0 * vvz;
+            mfcac = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcba + mfcbc;
+            m1 = mfcbc - mfcba;
+            m0 = m2 + mfcbb;
+            mfcba = m0;
+            m0 += c1o9 * oMdrho;
+            mfcbb = m1 - m0 * vvz;
+            mfcbc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcca + mfccc;
+            m1 = mfccc - mfcca;
+            m0 = m2 + mfccb;
+            mfcca = m0;
+            m0 += c1o36 * oMdrho;
+            mfccb = m1 - m0 * vvz;
+            mfccc = m2 - c2o1*    m1 * vvz + vz2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m2 = mfaaa + mfaca;
+            m1 = mfaca - mfaaa;
+            m0 = m2 + mfaba;
+            mfaaa = m0;
+            m0 += c1o6 * oMdrho;
+            mfaba = m1 - m0 * vvy;
+            mfaca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaab + mfacb;
+            m1 = mfacb - mfaab;
+            m0 = m2 + mfabb;
+            mfaab = m0;
+            mfabb = m1 - m0 * vvy;
+            mfacb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaac + mfacc;
+            m1 = mfacc - mfaac;
+            m0 = m2 + mfabc;
+            mfaac = m0;
+            m0 += c1o18 * oMdrho;
+            mfabc = m1 - m0 * vvy;
+            mfacc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbaa + mfbca;
+            m1 = mfbca - mfbaa;
+            m0 = m2 + mfbba;
+            mfbaa = m0;
+            m0 += c2o3 * oMdrho;
+            mfbba = m1 - m0 * vvy;
+            mfbca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbab + mfbcb;
+            m1 = mfbcb - mfbab;
+            m0 = m2 + mfbbb;
+            mfbab = m0;
+            mfbbb = m1 - m0 * vvy;
+            mfbcb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfbac + mfbcc;
+            m1 = mfbcc - mfbac;
+            m0 = m2 + mfbbc;
+            mfbac = m0;
+            m0 += c2o9 * oMdrho;
+            mfbbc = m1 - m0 * vvy;
+            mfbcc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcaa + mfcca;
+            m1 = mfcca - mfcaa;
+            m0 = m2 + mfcba;
+            mfcaa = m0;
+            m0 += c1o6 * oMdrho;
+            mfcba = m1 - m0 * vvy;
+            mfcca = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcab + mfccb;
+            m1 = mfccb - mfcab;
+            m0 = m2 + mfcbb;
+            mfcab = m0;
+            mfcbb = m1 - m0 * vvy;
+            mfccb = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfcac + mfccc;
+            m1 = mfccc - mfcac;
+            m0 = m2 + mfcbc;
+            mfcac = m0;
+            m0 += c1o18 * oMdrho;
+            mfcbc = m1 - m0 * vvy;
+            mfccc = m2 - c2o1*    m1 * vvy + vy2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            // mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9        Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m2 = mfaaa + mfcaa;
+            m1 = mfcaa - mfaaa;
+            m0 = m2 + mfbaa;
+            mfaaa = m0;
+            m0 += c1o1* oMdrho;
+            mfbaa = m1 - m0 * vvx;
+            mfcaa = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaba + mfcba;
+            m1 = mfcba - mfaba;
+            m0 = m2 + mfbba;
+            mfaba = m0;
+            mfbba = m1 - m0 * vvx;
+            mfcba = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaca + mfcca;
+            m1 = mfcca - mfaca;
+            m0 = m2 + mfbca;
+            mfaca = m0;
+            m0 += c1o3 * oMdrho;
+            mfbca = m1 - m0 * vvx;
+            mfcca = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaab + mfcab;
+            m1 = mfcab - mfaab;
+            m0 = m2 + mfbab;
+            mfaab = m0;
+            mfbab = m1 - m0 * vvx;
+            mfcab = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfabb + mfcbb;
+            m1 = mfcbb - mfabb;
+            m0 = m2 + mfbbb;
+            mfabb = m0;
+            mfbbb = m1 - m0 * vvx;
+            mfcbb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfacb + mfccb;
+            m1 = mfccb - mfacb;
+            m0 = m2 + mfbcb;
+            mfacb = m0;
+            mfbcb = m1 - m0 * vvx;
+            mfccb = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfaac + mfcac;
+            m1 = mfcac - mfaac;
+            m0 = m2 + mfbac;
+            mfaac = m0;
+            m0 += c1o3 * oMdrho;
+            mfbac = m1 - m0 * vvx;
+            mfcac = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfabc + mfcbc;
+            m1 = mfcbc - mfabc;
+            m0 = m2 + mfbbc;
+            mfabc = m0;
+            mfbbc = m1 - m0 * vvx;
+            mfcbc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m2 = mfacc + mfccc;
+            m1 = mfccc - mfacc;
+            m0 = m2 + mfbcc;
+            mfacc = m0;
+            m0 += c1o9 * oMdrho;
+            mfbcc = m1 - m0 * vvx;
+            mfccc = m2 - c2o1*    m1 * vvx + vx2 * m0;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            // BGK
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////2.
+            //mfabb += omega * (-mfabb);
+            //mfbab += omega * (-mfbab);
+            //mfbba += omega * (-mfbba);
+            //
+            //mfcaa += omega * (c1o3 * mfaaa - mfcaa);
+            //mfaca += omega * (c1o3 * mfaaa - mfaca);
+            //mfaac += omega * (c1o3 * mfaaa - mfaac);
+            //
+            ////3.
+            //mfabc += omega * (-mfabc);
+            //mfbac += omega * (-mfbac);
+            //
+            //mfacb += omega * (-mfacb);
+            //mfbca += omega * (-mfbca);
+
+            //mfcab += omega * (-mfcab);
+            //mfcba += omega * (-mfcba);
+
+            //mfbbb += omega * (-mfbbb);
+
+            ////4.
+            //mfacc += omega * (c1o9 * mfaaa - mfacc);
+            //mfcac += omega * (c1o9 * mfaaa - mfcac);
+            //mfcca += omega * (c1o9 * mfaaa - mfcca);
+
+            //mfbbc += omega * (-mfbbc);
+            //mfbcb += omega * (-mfbcb);
+            //mfcbb += omega * (-mfcbb);
+
+            ////5.
+            //mfbcc += omega * (-mfbcc);
+            //mfcbc += omega * (-mfcbc);
+            //mfccb += omega * (-mfccb);
+
+            ////6.
+            //mfccc += omega * (c1o27 * mfaaa - mfccc);
+            //////////////////////////////////////////////////////////////////////////////////////
+
+
+
+            //////////////////////////////////////////////////////////////////////////////////////////
+            //////// Cumulants
+            //////////////////////////////////////////////////////////////////////////////////////////
+            //////real OxxPyyPzz = one;
+            //////real OxyyPxzz  = one;//two-omega;//
+            //////real OxyyMxzz  = one;//two-omega;//
+            //////real O4        = one;
+            //////real O5        = one;
+            //////real O6        = one;
+
+            ////////Cum 4.
+            //////real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
+            //////real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
+            //////real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
+
+            //////real CUMcca = mfcca - (mfcaa * mfaca + two* mfbba * mfbba)- c1o3 * (mfcaa + mfaca);
+            //////real CUMcac = mfcac - (mfcaa * mfaac + two* mfbab * mfbab)- c1o3 * (mfcaa + mfaac);
+            //////real CUMacc = mfacc - (mfaac * mfaca + two* mfabb * mfabb)- c1o3 * (mfaac + mfaca);
+
+            ////////Cum 5.
+            //////real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
+            //////                - c1o3 * (mfbca + mfbac); //O(eps^3)
+            //////real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
+            //////                - c1o3 * (mfcba + mfabc); //O(eps^3)
+            //////real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
+            //////                - c1o3 * (mfacb + mfcab);//O(eps^3)
+
+            ////////Cum 6.
+            //////real CUMccc = mfccc +(-four*  mfbbb * mfbbb  //O(eps^6)
+            //////                       -       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) // O(eps^4)
+            //////                       -  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc) // O(eps^6) 
+            //////                       -  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) // O(esp^6)
+            //////                       +( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) //O(eps^6)
+            //////                       +  two* (mfcaa * mfaca * mfaac) //O(eps^6)
+            //////                       + sixteen*  mfbba * mfbab * mfabb) //O(eps^6)
+            //////                       - c1o3* (mfacc + mfcac + mfcca) //O(eps^2)
+            //////                       + c1o9* (mfcaa + mfaca + mfaac) //O(eps^2)
+            //////                       +( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)//O(eps^4)
+            //////                       +       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3;//O(eps^4)
+
+
+            ////////2.
+            //////// linear combinations
+            //////real mxxPyyPzz = mfcaa + mfaca + mfaac;
+            //////real mxxMyy    = mfcaa - mfaca;
+            //////real mxxMzz       = mfcaa - mfaac;
+
+            //////{
+            //////    real dxux = c1o2 * ((-omega) * (mxxMyy + mxxMzz) + (mfaaa - mxxPyyPzz));
+            //////    real dyuy = dxux + omega * c3o2 * mxxMyy;
+            //////    real dzuz = dxux + omega * c3o2 * mxxMzz;
+
+            //////    //relax
+            //////    mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three* (one- c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
+            //////    mxxMyy    += omega * (-mxxMyy) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
+            //////    mxxMzz    += omega * (-mxxMzz) - three* (one+ c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
+            //////}
+            //////mfabb     += omega * (-mfabb);
+            //////mfbab     += omega * (-mfbab);
+            //////mfbba     += omega * (-mfbba);
+
+            //////// linear combinations back
+            //////mfcaa = c1o3 * (       mxxMyy +      mxxMzz + mxxPyyPzz);
+            //////mfaca = c1o3 * (-two*  mxxMyy +      mxxMzz + mxxPyyPzz);
+            //////mfaac = c1o3 * (       mxxMyy - two* mxxMzz + mxxPyyPzz);
+
+            ////////3.
+            //////// linear combinations
+            //////real mxxyPyzz = mfcba + mfabc;
+            //////real mxxyMyzz = mfcba - mfabc;
+
+            //////real mxxzPyyz = mfcab + mfacb;
+            //////real mxxzMyyz = mfcab - mfacb;
+
+            //////real mxyyPxzz = mfbca + mfbac;
+            //////real mxyyMxzz = mfbca - mfbac;
+
+            ////////relax
+            //////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+            //////mfbbb     += wadjust * (-mfbbb);
+            //////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
+            //////mxxyPyzz  += wadjust * (-mxxyPyzz);
+            //////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
+            //////mxxyMyzz  += wadjust * (-mxxyMyzz);
+            //////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
+            //////mxxzPyyz  += wadjust * (-mxxzPyyz);
+            //////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
+            //////mxxzMyyz  += wadjust * (-mxxzMyyz);
+            //////wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
+            //////mxyyPxzz  += wadjust * (-mxyyPxzz);
+            //////wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
+            //////mxyyMxzz  += wadjust * (-mxyyMxzz);
+
+            //////// linear combinations back
+            //////mfcba = ( mxxyMyzz + mxxyPyzz) * c1o2;
+            //////mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+            //////mfcab = ( mxxzMyyz + mxxzPyyz) * c1o2;
+            //////mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+            //////mfbca = ( mxyyMxzz + mxyyPxzz) * c1o2;
+            //////mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+            ////////4.
+            //////CUMacc += O4 * (-CUMacc); 
+            //////CUMcac += O4 * (-CUMcac); 
+            //////CUMcca += O4 * (-CUMcca); 
+            //////
+            //////CUMbbc += O4 * (-CUMbbc); 
+            //////CUMbcb += O4 * (-CUMbcb); 
+            //////CUMcbb += O4 * (-CUMcbb); 
+            //////        
+            ////////5.
+            //////CUMbcc += O5 * (-CUMbcc);
+            //////CUMcbc += O5 * (-CUMcbc);
+            //////CUMccb += O5 * (-CUMccb);
+
+            ////////6.
+            //////CUMccc += O6 * (-CUMccc);
+            //////
+            ////////back cumulants to central moments
+            ////////4.
+            //////mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + two* mfbba * mfbab);
+            //////mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + two* mfbba * mfabb);
+            //////mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + two* mfbab * mfabb); 
+            //////               
+            //////mfcca = CUMcca + (mfcaa * mfaca + two* mfbba * mfbba) + c1o3 * (mfcaa + mfaca);
+            //////mfcac = CUMcac + (mfcaa * mfaac + two* mfbab * mfbab) + c1o3 * (mfcaa + mfaac);
+            //////mfacc = CUMacc + (mfaac * mfaca + two* mfabb * mfabb) + c1o3 * (mfaac + mfaca);
+
+            ////////5.
+            //////mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + four* mfabb * mfbbb + two* (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac);
+            //////mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + four* mfbab * mfbbb + two* (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc);
+            //////mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + four* mfbba * mfbbb + two* (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab);
+            //////
+            ////////6.
+            //////mfccc = CUMccc  -((-four*  mfbbb * mfbbb  
+            //////                -       (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+            //////                -  four* (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc)
+            //////                -  two* (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
+            //////                +( four* (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+            //////                +  two* (mfcaa * mfaca * mfaac)
+            //////                + sixteen*  mfbba * mfbab * mfabb)
+            //////                - c1o3* (mfacc + mfcac + mfcca)
+            //////                + c1o9* (mfcaa + mfaca + mfaac)
+            //////                +( two* (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
+            //////                +       (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3);
+            //////////////////////////////////////////////////////////////////////////////////////////
+
+
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Cumulants
+            ////////////////////////////////////////////////////////////////////////////////////
+            real OxxPyyPzz = c1o1;
+            real OxyyPxzz = c8o1*(c2o1 - omega) / (c8o1 - omega);//one;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
+            real OxyyMxzz = c8o1*(c2o1 - omega) / (c8o1 - omega);//one;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
+            real O4 = c1o1;
+            real O5 = c1o1;
+            real O6 = c1o1;
+
+            ////Cum 4.
+            //real CUMcbb;    real CUMbcb;    real CUMbbc;
+            //real CUMcca;    real CUMcac;    real CUMacc;
+            ////Cum 5.
+            //real CUMbcc;    real CUMcbc;    real CUMccb;
+            ////Cum 6.
+            //real CUMccc;
+
+            //Cum 4.
+            real CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab); // /rho
+            real CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb); // /rho
+            real CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb); // /rho
+
+            real CUMcca = mfcca - ((mfcaa * mfaca + c2o1 * mfbba * mfbba) /* /rho*/ + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho);
+            real CUMcac = mfcac - ((mfcaa * mfaac + c2o1 * mfbab * mfbab) /* /rho*/ + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho);
+            real CUMacc = mfacc - ((mfaac * mfaca + c2o1 * mfabb * mfabb) /* /rho*/ + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho);
+
+            //Cum 5.
+            //real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) //O(eps^5) 
+            //                - c1o3 * (mfbca + mfbac); //O(eps^3)
+            //real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) //O(eps^5)
+            //                - c1o3 * (mfcba + mfabc); //O(eps^3)
+            //real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) //O(eps^5)
+            //                - c1o3 * (mfacb + mfcab);//O(eps^3)
+
+            real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho;
+            real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho;
+            real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho;
+
+            //Cum 6.
+            real CUMccc = mfccc + ((-c4o1 *  mfbbb * mfbbb
+                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
+                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
+                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+                    + c2o1 * (mfcaa * mfaca * mfaac)
+                    + c16o1 *  mfbba * mfbab * mfabb)
+                - c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9*oMdrho*oMdrho
+                - c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1 - c2o1* oMdrho) - c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
+                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
+                    + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) + c1o27*oMdrho;
+
+
+
+
+
+            //2.
+            // linear combinations
+            real mxxPyyPzz = mfcaa + mfaca + mfaac;
+            real mxxMyy = mfcaa - mfaca;
+            real mxxMzz = mfcaa - mfaac;
+
+            //////////////////////////////////////////////////////////////////////////
+            //real magicBulk = (CUMacc + CUMcac + CUMcca)*(c1o1 / OxxPyyPzz - c1o2)*c3o2*8.;
+
+            //////////////////////////////////////////////////////////////////////////
+            //limiter-Scheise Teil 1
+            //real oxxyy,oxxzz,oxy,oxz,oyz;
+            //real smag=0.001;
+            //oxxyy    = omega+(one-omega)*abs(mxxMyy)/(abs(mxxMyy)+smag);
+            //oxxzz    = omega+(one-omega)*abs(mxxMzz)/(abs(mxxMzz)+smag);
+            //oxy      = omega+(one-omega)*abs(mfbba)/(abs(mfbba)+smag);
+            //oxz      = omega+(one-omega)*abs(mfbab)/(abs(mfbab)+smag);
+            //oyz      = omega+(one-omega)*abs(mfabb)/(abs(mfabb)+smag);
+
+            ////////////////////////////////////////////////////////////////////////////
+            ////Teil 1b
+            //real constante = 1000.0;
+            //real nuEddi = constante * abs(mxxPyyPzz);
+            //real omegaLimit = one / (one / omega + three * nuEddi);
+
+            //{
+            //    real dxux = c1o2 * (-omegaLimit) *(mxxMyy + mxxMzz) +  OxxPyyPzz * (mfaaa - mxxPyyPzz);
+            //    real dyuy = dxux + omegaLimit * c3o2 * mxxMyy;
+            //    real dzuz = dxux + omegaLimit * c3o2 * mxxMzz;
+
+            ////relax
+            //mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
+            //mxxMyy    += omegaLimit * (-mxxMyy) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vy2 * dyuy);
+            //mxxMzz    += omegaLimit * (-mxxMzz) - three * (one + c1o2 * (-omegaLimit)) * (vx2 * dxux + vz2 * dzuz);
+
+            //}
+            //mfabb     += omegaLimit * (-mfabb);
+            //mfbab     += omegaLimit * (-mfbab);
+            //mfbba     += omegaLimit * (-mfbba);
+            ////////////////////////////////////////////////////////////////////////////
+
+            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            ////incl. correction        (hat noch nicht so gut funktioniert...Optimierungsbedarf??)
+            //{
+            //    real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz) + c1o2 *  OxxPyyPzz * (mfaaa - mxxPyyPzz);
+            //    real dyuy = dxux + omega * c3o2 * mxxMyy;
+            //    real dzuz = dxux + omega * c3o2 * mxxMzz;
+
+            //    //relax
+            //    mxxPyyPzz += OxxPyyPzz*(mfaaa  - mxxPyyPzz)- three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz;
+            //    mxxMyy    += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
+            //    mxxMzz    += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
+
+            //    //////////////////////////////////////////////////////////////////////////
+            //    //limiter-Scheise Teil 2
+            //    //mxxMyy    += oxxyy * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vy2 * dyuy);
+            //    //mxxMzz    += oxxzz * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux + vz2 * dzuz);
+            //    //////////////////////////////////////////////////////////////////////////
+
+            //}
+            /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //no correction
+            mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz);//-magicBulk*OxxPyyPzz;
+            mxxMyy += -(-omega) * (-mxxMyy);
+            mxxMzz += -(-omega) * (-mxxMzz);
+            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            mfabb += omega * (-mfabb);
+            mfbab += omega * (-mfbab);
+            mfbba += omega * (-mfbba);
+
+            //////////////////////////////////////////////////////////////////////////
+            //limiter-Scheise Teil 3
+            //mfabb     += oyz * (-mfabb);
+            //mfbab     += oxz * (-mfbab);
+            //mfbba     += oxy * (-mfbba);
+            //////////////////////////////////////////////////////////////////////////
+
+            // linear combinations back
+            mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
+            mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
+            mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
+
+            //3.
+            // linear combinations
+
+            real mxxyPyzz = mfcba + mfabc;
+            real mxxyMyzz = mfcba - mfabc;
+
+            real mxxzPyyz = mfcab + mfacb;
+            real mxxzMyyz = mfcab - mfacb;
+
+            real mxyyPxzz = mfbca + mfbac;
+            real mxyyMxzz = mfbca - mfbac;
+
+            //relax
+            //             wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mfbbb)/(abs(mfbbb)+qudricLimit);
+            //             mfbbb     += wadjust * (-mfbbb);
+            //             wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxyPyzz)/(abs(mxxyPyzz)+qudricLimit);
+            //             mxxyPyzz  += wadjust * (-mxxyPyzz);
+            //             wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxyMyzz)/(abs(mxxyMyzz)+qudricLimit);
+            //             mxxyMyzz  += wadjust * (-mxxyMyzz);
+            //             wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxxzPyyz)/(abs(mxxzPyyz)+qudricLimit);
+            //             mxxzPyyz  += wadjust * (-mxxzPyyz);
+            //             wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxxzMyyz)/(abs(mxxzMyyz)+qudricLimit);
+            //             mxxzMyyz  += wadjust * (-mxxzMyyz);
+            //             wadjust    = OxyyPxzz+(one-OxyyPxzz)*abs(mxyyPxzz)/(abs(mxyyPxzz)+qudricLimit);
+            //             mxyyPxzz  += wadjust * (-mxyyPxzz);
+            //             wadjust    = OxyyMxzz+(one-OxyyMxzz)*abs(mxyyMxzz)/(abs(mxyyMxzz)+qudricLimit);
+            //             mxyyMxzz  += wadjust * (-mxyyMxzz);
+            mfbbb += OxyyMxzz * (-mfbbb);
+            mxxyPyzz += OxyyPxzz * (-mxxyPyzz);
+            mxxyMyzz += OxyyMxzz * (-mxxyMyzz);
+            mxxzPyyz += OxyyPxzz * (-mxxzPyyz);
+            mxxzMyyz += OxyyMxzz * (-mxxzMyyz);
+            mxyyPxzz += OxyyPxzz * (-mxyyPxzz);
+            mxyyMxzz += OxyyMxzz * (-mxyyMxzz);
+
+            //// linear combinations back
+            ////generic
+            //mfcba =  zero;
+            //mfabc =  zero;
+            //mfcab =  zero;
+            //mfacb =  zero;
+            //mfbca =  zero;
+            //mfbac =  zero;
+
+            mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
+            mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
+            mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
+            mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
+            mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
+            mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
+
+            //4.
+            //CUMacc =  zero; 
+            //CUMcac =  zero; 
+            //CUMcca =  zero; 
+            //       
+            //CUMbbc =  zero; 
+            //CUMbcb =  zero; 
+            //CUMcbb =  zero; 
+            //      
+            ////5.   
+            //CUMbcc =  zero;
+            //CUMcbc =  zero;
+            //CUMccb =  zero;
+            //       
+            ////6.   
+            //CUMccc =  zero;
+
+            //4.
+            CUMacc += O4 * (-CUMacc);
+            CUMcac += O4 * (-CUMcac);
+            CUMcca += O4 * (-CUMcca);
+
+            CUMbbc += O4 * (-CUMbbc);
+            CUMbcb += O4 * (-CUMbcb);
+            CUMcbb += O4 * (-CUMcbb);
+
+            //5.
+            CUMbcc += O5 * (-CUMbcc);
+            CUMcbc += O5 * (-CUMcbc);
+            CUMccb += O5 * (-CUMccb);
+
+            //6.
+            CUMccc += O6 * (-CUMccc);
+
+
+
+            //back cumulants to central moments
+            //4.
+            mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + c2o1 * mfbba * mfbab);
+            mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + c2o1 * mfbba * mfabb);
+            mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + c2o1 * mfbab * mfabb);
+
+            mfcca = CUMcca + (mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
+            mfcac = CUMcac + (mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
+            mfacc = CUMacc + (mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9*(oMdrho - c1o1)*oMdrho;
+
+            //5.
+            mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho;
+            mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) * oMdrho;
+            mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) * oMdrho;
+
+            //6.
+            mfccc = CUMccc - ((-c4o1 *  mfbbb * mfbbb
+                - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca)
+                - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc)
+                - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb))
+                + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac)
+                    + c2o1 * (mfcaa * mfaca * mfaac)
+                    + c16o1 *  mfbba * mfbab * mfabb)
+                - c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9*oMdrho*oMdrho
+                - c1o9 * (mfcaa + mfaca + mfaac) * oMdrho*(c1o1 - c2o1* oMdrho) - c1o27* oMdrho * oMdrho*(-c2o1* oMdrho)
+                + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba)
+                    + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3*oMdrho) - c1o27*oMdrho;
+            ////////////////////////////////////////////////////////////////////////////////////
+
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            //back
+            ////////////////////////////////////////////////////////////////////////////////////
+            //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Z - Dir
+            m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
+            m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
+            mfaaa = m0;
+            mfaab = m1;
+            mfaac = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
+            m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
+            m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
+            mfaba = m0;
+            mfabb = m1;
+            mfabc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
+            m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
+            mfaca = m0;
+            mfacb = m1;
+            mfacc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
+            m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
+            m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
+            mfbaa = m0;
+            mfbab = m1;
+            mfbac = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
+            m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
+            m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
+            mfbba = m0;
+            mfbbb = m1;
+            mfbbc = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
+            m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
+            m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
+            mfbca = m0;
+            mfbcb = m1;
+            mfbcc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
+            m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
+            mfcaa = m0;
+            mfcab = m1;
+            mfcac = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
+            m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
+            m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
+            mfcba = m0;
+            mfcbb = m1;
+            mfcbc = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
+            m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
+            m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
+            mfcca = m0;
+            mfccb = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // Y - Dir
+            m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
+            m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfaaa = m0;
+            mfaba = m1;
+            mfaca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
+            m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfaab = m0;
+            mfabb = m1;
+            mfacb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
+            m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfaac = m0;
+            mfabc = m1;
+            mfacc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
+            m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
+            m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
+            mfbaa = m0;
+            mfbba = m1;
+            mfbca = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
+            m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
+            m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
+            mfbab = m0;
+            mfbbb = m1;
+            mfbcb = m2;
+            /////////b//////////////////////////////////////////////////////////////////////////
+            m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
+            m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
+            m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
+            mfbac = m0;
+            mfbbc = m1;
+            mfbcc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
+            m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfcaa = m0;
+            mfcba = m1;
+            mfcca = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
+            m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfcab = m0;
+            mfcbb = m1;
+            mfccb = m2;
+            /////////c//////////////////////////////////////////////////////////////////////////
+            m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
+            m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
+            m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
+            mfcac = m0;
+            mfcbc = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
+            ////////////////////////////////////////////////////////////////////////////////////
+            // X - Dir
+            m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaaa = m0;
+            mfbaa = m1;
+            mfcaa = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaba = m0;
+            mfbba = m1;
+            mfcba = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaca = m0;
+            mfbca = m1;
+            mfcca = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaab = m0;
+            mfbab = m1;
+            mfcab = m2;
+            ///////////b////////////////////////////////////////////////////////////////////////
+            m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
+            m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfabb = m0;
+            mfbbb = m1;
+            mfcbb = m2;
+            ///////////b////////////////////////////////////////////////////////////////////////
+            m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfacb = m0;
+            mfbcb = m1;
+            mfccb = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+            ////////////////////////////////////////////////////////////////////////////////////
+            m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfaac = m0;
+            mfbac = m1;
+            mfcac = m2;
+            ///////////c////////////////////////////////////////////////////////////////////////
+            m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
+            m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfabc = m0;
+            mfbbc = m1;
+            mfcbc = m2;
+            ///////////c////////////////////////////////////////////////////////////////////////
+            m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
+            m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
+            m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
+            mfacc = m0;
+            mfbcc = m1;
+            mfccc = m2;
+            ////////////////////////////////////////////////////////////////////////////////////
+
+
+            ////////////////////////////////////////////////////////////////////////////////////
+            (D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
+            (D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
+            (D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;     (D.f[ d0P0   ])[k   ]
+            (D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;     (D.f[ d0M0   ])[ks  ]
+            (D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;     (D.f[ d00P   ])[k   ]
+            (D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;     (D.f[ d00M   ])[kb  ]
+            (D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;     (D.f[ dPP0  ])[k   ]
+            (D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;     (D.f[ dMM0  ])[ksw ]
+            (D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;     (D.f[ dPM0  ])[ks  ]
+            (D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;     (D.f[ dMP0  ])[kw  ]
+            (D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;     (D.f[ dP0P  ])[k   ]
+            (D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;     (D.f[ dM0M  ])[kbw ]
+            (D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;     (D.f[ dP0M  ])[kb  ]
+            (D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;     (D.f[ dM0P  ])[kw  ]
+            (D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;     (D.f[ d0PP  ])[k   ]
+            (D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;     (D.f[ d0MM  ])[kbs ]
+            (D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;     (D.f[ d0PM  ])[kb  ]
+            (D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;     (D.f[ d0MP  ])[ks  ]
+            (D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;     (D.f[ d000])[k   ]
+            (D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;     (D.f[ dPPP ])[k   ]
+            (D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;     (D.f[ dPMP ])[ks  ]
+            (D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;     (D.f[ dPPM ])[kb  ]
+            (D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;     (D.f[ dPMM ])[kbs ]
+            (D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;     (D.f[ dMPP ])[kw  ]
+            (D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;     (D.f[ dMMP ])[ksw ]
+            (D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;     (D.f[ dMPM ])[kbw ]
+            (D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;     (D.f[ dMMM ])[kbsw]
+                                        ////////////////////////////////////////////////////////////////////////////////////
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes_Device.cuh
index 9252b17df43b405e7098359d3c5ff7406cc90759..a8daee5ba20ab4b4a7bf26e748af67309500b8e7 100644
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes_Device.cuh
+++ b/src/gpu/core/Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes_Device.cuh
@@ -5,13 +5,13 @@
 #include <curand.h>
 
 __global__ void K15IncompressibleNavierStokes_Device(
-	real s9,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
+    real s9,
+    unsigned int* bcMatD,
+    unsigned int* neighborX,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    real* DDStart,
+    int size_Mat,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes.cu
deleted file mode 100644
index a08eef4a381b06729da8ff26a0ab305e5cf3615c..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes.cu
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "M02IncompressibleNavierStokes.h"
-
-#include "M02IncompressibleNavierStokes_Device.cuh"
-#include "Parameter/Parameter.h"
-#include <cuda_helper/CudaGrid.h>
-
-std::shared_ptr<M02IncompressibleNavierStokes> M02IncompressibleNavierStokes::getNewInstance(std::shared_ptr<Parameter> para, int level)
-{
-	return std::shared_ptr<M02IncompressibleNavierStokes>(new M02IncompressibleNavierStokes(para, level));
-}
-
-void M02IncompressibleNavierStokes::run()
-{
-    vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(para->getParD(level)->numberofthreads, para->getParD(level)->numberOfNodes);
-
-    M02IncompressibleNavierStokes_Device <<< grid.grid, grid.threads >>>(
-        para->getParD(level)->omega,
-        para->getParD(level)->typeOfGridNode,
-        para->getParD(level)->neighborX,
-        para->getParD(level)->neighborY,
-        para->getParD(level)->neighborZ,
-        para->getParD(level)->distributions.f[0],
-        para->getParD(level)->numberOfNodes,
-        para->getParD(level)->isEvenTimestep);
-    getLastCudaError("LB_Kernel_MRT_Incomp_SP_27 execution failed");
-}
-
-M02IncompressibleNavierStokes::M02IncompressibleNavierStokes(std::shared_ptr<Parameter> para, int level)
-{
-	this->para = para;
-	this->level = level;
-
-	myPreProcessorTypes.push_back(InitSP27);
-
-	
-}
-
-M02IncompressibleNavierStokes::M02IncompressibleNavierStokes()
-{
-}
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes.h b/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes.h
deleted file mode 100644
index dde5846114b84abb6c276f155e3f583f7de0ecd6..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef M02IncompressibleNavierStokes_H
-#define M02IncompressibleNavierStokes_H
-
-#include "Kernel/KernelImp.h"
-
-class M02IncompressibleNavierStokes : public KernelImp
-{
-public:
-	static std::shared_ptr<M02IncompressibleNavierStokes> getNewInstance(std::shared_ptr<Parameter> para, int level);
-	void run();
-
-private:
-	M02IncompressibleNavierStokes();
-	M02IncompressibleNavierStokes(std::shared_ptr< Parameter> para, int level);
-};
-#endif 
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes_Device.cu b/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes_Device.cu
deleted file mode 100644
index c5af4088d5f4ba2d67e0eed5e8e919fbaaa9153f..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes_Device.cu
+++ /dev/null
@@ -1,765 +0,0 @@
-#include "LBM/LB.h" 
-#include "lbm/constants/D3Q27.h"
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-using namespace vf::lbm::dir;
-#include "math.h"
-
-__global__ void M02IncompressibleNavierStokes_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd)
-{
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
-
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
-
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
-
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = bcMatD[k];
-
-		if ((BC != GEO_SOLID) && (BC != GEO_VOID))
-		{
-			Distributions27 D;
-			if (EvenOrOdd == true)
-			{
-				D.f[dP00] = &DDStart[dP00 * size_Mat];
-				D.f[dM00] = &DDStart[dM00 * size_Mat];
-				D.f[d0P0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0M0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00P] = &DDStart[d00P * size_Mat];
-				D.f[d00M] = &DDStart[d00M * size_Mat];
-				D.f[dPP0] = &DDStart[dPP0 * size_Mat];
-				D.f[dMM0] = &DDStart[dMM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dPM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dMP0 * size_Mat];
-				D.f[dP0P] = &DDStart[dP0P * size_Mat];
-				D.f[dM0M] = &DDStart[dM0M * size_Mat];
-				D.f[dP0M] = &DDStart[dP0M * size_Mat];
-				D.f[dM0P] = &DDStart[dM0P * size_Mat];
-				D.f[d0PP] = &DDStart[d0PP * size_Mat];
-				D.f[d0MM] = &DDStart[d0MM * size_Mat];
-				D.f[d0PM] = &DDStart[d0PM * size_Mat];
-				D.f[d0MP] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dPPP] = &DDStart[dPPP * size_Mat];
-				D.f[dMMP] = &DDStart[dMMP * size_Mat];
-				D.f[dPMP] = &DDStart[dPMP * size_Mat];
-				D.f[dMPP] = &DDStart[dMPP * size_Mat];
-				D.f[dPPM] = &DDStart[dPPM * size_Mat];
-				D.f[dMMM] = &DDStart[dMMM * size_Mat];
-				D.f[dPMM] = &DDStart[dPMM * size_Mat];
-				D.f[dMPM] = &DDStart[dMPM * size_Mat];
-			}
-			else
-			{
-				D.f[dM00] = &DDStart[dP00 * size_Mat];
-				D.f[dP00] = &DDStart[dM00 * size_Mat];
-				D.f[d0M0] = &DDStart[d0P0 * size_Mat];
-				D.f[d0P0] = &DDStart[d0M0 * size_Mat];
-				D.f[d00M] = &DDStart[d00P * size_Mat];
-				D.f[d00P] = &DDStart[d00M * size_Mat];
-				D.f[dMM0] = &DDStart[dPP0 * size_Mat];
-				D.f[dPP0] = &DDStart[dMM0 * size_Mat];
-				D.f[dMP0] = &DDStart[dPM0 * size_Mat];
-				D.f[dPM0] = &DDStart[dMP0 * size_Mat];
-				D.f[dM0M] = &DDStart[dP0P * size_Mat];
-				D.f[dP0P] = &DDStart[dM0M * size_Mat];
-				D.f[dM0P] = &DDStart[dP0M * size_Mat];
-				D.f[dP0M] = &DDStart[dM0P * size_Mat];
-				D.f[d0MM] = &DDStart[d0PP * size_Mat];
-				D.f[d0PP] = &DDStart[d0MM * size_Mat];
-				D.f[d0MP] = &DDStart[d0PM * size_Mat];
-				D.f[d0PM] = &DDStart[d0MP * size_Mat];
-				D.f[d000] = &DDStart[d000 * size_Mat];
-				D.f[dMMM] = &DDStart[dPPP * size_Mat];
-				D.f[dPPM] = &DDStart[dMMP * size_Mat];
-				D.f[dMPM] = &DDStart[dPMP * size_Mat];
-				D.f[dPMM] = &DDStart[dMPP * size_Mat];
-				D.f[dMMP] = &DDStart[dPPM * size_Mat];
-				D.f[dPPP] = &DDStart[dMMM * size_Mat];
-				D.f[dMPP] = &DDStart[dPMM * size_Mat];
-				D.f[dPMP] = &DDStart[dMPM * size_Mat];
-			}
-
-			////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			unsigned int kw = neighborX[k];
-			//unsigned int kn   = k;
-			unsigned int ks = neighborY[k];
-			//unsigned int kt   = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			//unsigned int kne  = k;
-			//unsigned int kse  = ks;
-			//unsigned int knw  = kw;
-			unsigned int kbw = neighborZ[kw];
-			//unsigned int kte  = k;
-			//unsigned int kbe  = kb;
-			//unsigned int ktw  = kw;
-			unsigned int kbs = neighborZ[ks];
-			//unsigned int ktn  = k;
-			//unsigned int kbn  = kb;
-			//unsigned int kts  = ks;
-			//unsigned int ktse = ks;
-			//unsigned int kbnw = kbw;
-			//unsigned int ktnw = kw;
-			//unsigned int kbse = kbs;
-			//unsigned int ktsw = ksw;
-			//unsigned int kbne = kb;
-			//unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real mfcbb = (D.f[dP00])[k];//[ke   ];// +  c2over27 ;(D.f[dP00])[k  ];//ke
-			real mfabb = (D.f[dM00])[kw];//[kw   ];// +  c2over27 ;(D.f[dM00])[kw ];
-			real mfbcb = (D.f[d0P0])[k];//[kn   ];// +  c2over27 ;(D.f[d0P0])[k  ];//kn
-			real mfbab = (D.f[d0M0])[ks];//[ks   ];// +  c2over27 ;(D.f[d0M0])[ks ];
-			real mfbbc = (D.f[d00P])[k];//[kt   ];// +  c2over27 ;(D.f[d00P])[k  ];//kt
-			real mfbba = (D.f[d00M])[kb];//[kb   ];// +  c2over27 ;(D.f[d00M])[kb ];
-			real mfccb = (D.f[dPP0])[k];//[kne  ];// +  c1over54 ;(D.f[dPP0])[k  ];//kne
-			real mfaab = (D.f[dMM0])[ksw];//[ksw  ];// +  c1over54 ;(D.f[dMM0])[ksw];
-			real mfcab = (D.f[dPM0])[ks];//[kse  ];// +  c1over54 ;(D.f[dPM0])[ks ];//kse
-			real mfacb = (D.f[dMP0])[kw];//[knw  ];// +  c1over54 ;(D.f[dMP0])[kw ];//knw
-			real mfcbc = (D.f[dP0P])[k];//[kte  ];// +  c1over54 ;(D.f[dP0P])[k  ];//kte
-			real mfaba = (D.f[dM0M])[kbw];//[kbw  ];// +  c1over54 ;(D.f[dM0M])[kbw];
-			real mfcba = (D.f[dP0M])[kb];//[kbe  ];// +  c1over54 ;(D.f[dP0M])[kb ];//kbe
-			real mfabc = (D.f[dM0P])[kw];//[ktw  ];// +  c1over54 ;(D.f[dM0P])[kw ];//ktw
-			real mfbcc = (D.f[d0PP])[k];//[ktn  ];// +  c1over54 ;(D.f[d0PP])[k  ];//ktn
-			real mfbaa = (D.f[d0MM])[kbs];//[kbs  ];// +  c1over54 ;(D.f[d0MM])[kbs];
-			real mfbca = (D.f[d0PM])[kb];//[kbn  ];// +  c1over54 ;(D.f[d0PM])[kb ];//kbn
-			real mfbac = (D.f[d0MP])[ks];//[kts  ];// +  c1over54 ;(D.f[d0MP])[ks ];//kts
-			real mfbbb = (D.f[d000])[k];//[kzero];// +  c8over27 ;(D.f[d000])[k  ];//kzero
-			real mfccc = (D.f[dPPP])[k];//[ktne ];// +  c1over216;(D.f[dPPP])[k  ];//ktne
-			real mfaac = (D.f[dMMP])[ksw];//[ktsw ];// +  c1over216;(D.f[dMMP])[ksw];//ktsw
-			real mfcac = (D.f[dPMP])[ks];//[ktse ];// +  c1over216;(D.f[dPMP])[ks ];//ktse
-			real mfacc = (D.f[dMPP])[kw];//[ktnw ];// +  c1over216;(D.f[dMPP])[kw ];//ktnw
-			real mfcca = (D.f[dPPM])[kb];//[kbne ];// +  c1over216;(D.f[dPPM])[kb ];//kbne
-			real mfaaa = (D.f[dMMM])[kbsw];//[kbsw ];// +  c1over216;(D.f[dMMM])[kbsw];
-			real mfcaa = (D.f[dPMM])[kbs];//[kbse ];// +  c1over216;(D.f[dPMM])[kbs];//kbse
-			real mfaca = (D.f[dMPM])[kbw];//[kbnw ];// +  c1over216;(D.f[dMPM])[kbw];//kbnw
-											////////////////////////////////////////////////////////////////////////////////////
-											//slow
-											//real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + 
-											//					   (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) +
-											//						((mfabb+mfcbb) + (mfbab+mfbcb)  +  (mfbba+mfbbc)));//fehlt mfbbb
-			real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) +
-				(((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) +
-				(mfcbb - mfabb));
-			real vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) +
-				(((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) +
-				(mfbcb - mfbab));
-			real vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) +
-				(((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) +
-				(mfbbc - mfbba));
-			////////////////////////////////////////////////////////////////////////////////////
-			//fast
-			real oMdrho = c1o1 - (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca +
-				mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb +
-				mfabb + mfcbb + mfbab + mfbcb + mfbba + mfbbc + mfbbb);//fehlt mfbbb nicht mehr
-																	   //real vvx    =mfccc-mfaaa + mfcac-mfaca + mfcaa-mfacc + mfcca-mfaac + 
-																	   //				mfcba-mfabc + mfcbc-mfaba + mfcab-mfacb + mfccb-mfaab +
-																	   //				mfcbb-mfabb;
-																	   //real vvy    =mfccc-mfaaa + mfaca-mfcac + mfacc-mfcaa + mfcca-mfaac + 
-																	   //				mfbca-mfbac + mfbcc-mfbaa + mfacb-mfcab + mfccb-mfaab +
-																	   //				mfbcb-mfbab;
-																	   //real vvz    =mfccc-mfaaa + mfcac-mfaca + mfacc-mfcaa + mfaac-mfcca + 
-																	   //				mfbac-mfbca + mfbcc-mfbaa + mfabc-mfcba + mfcbc-mfaba +
-																	   //				mfbbc-mfbba;
-																	   ////////////////////////////////////////////////////////////////////////////////////
-			real m0, m1, m2;
-			real vx2;
-			real vy2;
-			real vz2;
-			vx2 = vvx*vvx;
-			vy2 = vvy*vvy;
-			vz2 = vvz*vvz;
-			////////////////////////////////////////////////////////////////////////////////////
-			//real wadjust;
-			//real qudricLimit = 0.01f;
-			////////////////////////////////////////////////////////////////////////////////////
-			//Hin
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36  Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m2 = mfaaa + mfaac;
-			m1 = mfaac - mfaaa;
-			m0 = m2 + mfaab;
-			mfaaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfabc;
-			m1 = mfabc - mfaba;
-			m0 = m2 + mfabb;
-			mfaba = m0;
-			m0 += c1o9 * oMdrho;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfacc;
-			m1 = mfacc - mfaca;
-			m0 = m2 + mfacb;
-			mfaca = m0;
-			m0 += c1o36 * oMdrho;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbac;
-			m1 = mfbac - mfbaa;
-			m0 = m2 + mfbab;
-			mfbaa = m0;
-			m0 += c1o9 * oMdrho;
-			mfbab = m1;
-			mfbac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbba + mfbbc;
-			m1 = mfbbc - mfbba;
-			m0 = m2 + mfbbb;
-			mfbba = m0;
-			m0 += c4o9 * oMdrho;
-			mfbbb = m1;
-			mfbbc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbca + mfbcc;
-			m1 = mfbcc - mfbca;
-			m0 = m2 + mfbcb;
-			mfbca = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcac;
-			m1 = mfcac - mfcaa;
-			m0 = m2 + mfcab;
-			mfcaa = m0;
-			m0 += c1o36 * oMdrho;
-			mfcab = m1;
-			mfcac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcba + mfcbc;
-			m1 = mfcbc - mfcba;
-			m0 = m2 + mfcbb;
-			mfcba = m0;
-			m0 += c1o9 * oMdrho;
-			mfcbb = m1;
-			mfcbc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcca + mfccc;
-			m1 = mfccc - mfcca;
-			m0 = m2 + mfccb;
-			mfcca = m0;
-			m0 += c1o36 * oMdrho;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit  1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m2 = mfaaa + mfaca;
-			m1 = mfaca - mfaaa;
-			m0 = m2 + mfaba;
-			mfaaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfacb;
-			m1 = mfacb - mfaab;
-			m0 = m2 + mfabb;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfacc;
-			m1 = mfacc - mfaac;
-			m0 = m2 + mfabc;
-			mfaac = m0;
-			m0 += c1o18 * oMdrho;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbaa + mfbca;
-			m1 = mfbca - mfbaa;
-			m0 = m2 + mfbba;
-			mfbaa = m0;
-			m0 += c2o3 * oMdrho;
-			mfbba = m1;
-			mfbca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbab + mfbcb;
-			m1 = mfbcb - mfbab;
-			m0 = m2 + mfbbb;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfbac + mfbcc;
-			m1 = mfbcc - mfbac;
-			m0 = m2 + mfbbc;
-			mfbac = m0;
-			m0 += c2o9 * oMdrho;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcaa + mfcca;
-			m1 = mfcca - mfcaa;
-			m0 = m2 + mfcba;
-			mfcaa = m0;
-			m0 += c1o6 * oMdrho;
-			mfcba = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcab + mfccb;
-			m1 = mfccb - mfcab;
-			m0 = m2 + mfcbb;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfcac + mfccc;
-			m1 = mfccc - mfcac;
-			m0 = m2 + mfcbc;
-			mfcac = m0;
-			m0 += c1o18 * oMdrho;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			// mit     1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9		Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m2 = mfaaa + mfcaa;
-			m1 = mfcaa - mfaaa;
-			m0 = m2 + mfbaa;
-			mfaaa = m0;
-			m0 += c1o1* oMdrho;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaba + mfcba;
-			m1 = mfcba - mfaba;
-			m0 = m2 + mfbba;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaca + mfcca;
-			m1 = mfcca - mfaca;
-			m0 = m2 + mfbca;
-			mfaca = m0;
-			m0 += c1o3 * oMdrho;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaab + mfcab;
-			m1 = mfcab - mfaab;
-			m0 = m2 + mfbab;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabb + mfcbb;
-			m1 = mfcbb - mfabb;
-			m0 = m2 + mfbbb;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacb + mfccb;
-			m1 = mfccb - mfacb;
-			m0 = m2 + mfbcb;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfaac + mfcac;
-			m1 = mfcac - mfaac;
-			m0 = m2 + mfbac;
-			mfaac = m0;
-			m0 += c1o3 * oMdrho;
-			mfbac = m1;
-			mfcac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfabc + mfcbc;
-			m1 = mfcbc - mfabc;
-			m0 = m2 + mfbbc;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m2 = mfacc + mfccc;
-			m1 = mfccc - mfacc;
-			m0 = m2 + mfbcc;
-			mfacc = m0;
-			m0 += c1o9 * oMdrho;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			// MRT
-			////////////////////////////////////////////////////////////////////////////////////
-			real OxxPyyPzz = omega;
-			real OxyyPxzz = c1o1;//two-omega;//eight*(two-omega)/(eight -omega);//one;//omega;//two-omega;//
-			real OxyyMxzz = c1o1;//omega;//one;//eight*(two-omega)/(eight -omega);//one;//two-omega;//one;// 
-			real O4 = c1o1;
-			real O5 = c1o1;
-			real O6 = c1o1;
-
-			real mxxPyyPzz = mfcaa + mfaca + mfaac;
-			real mxxMyy = mfcaa - mfaca;
-			real mxxMzz = mfcaa - mfaac;
-
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//incl. correction
-			{
-				real dxux = c1o2 * (-omega) *(mxxMyy + mxxMzz - c2o1*vx2 + vy2 + vz2) + c1o2 * OxxPyyPzz * (mfaaa + vx2 + vy2 + vz2 - mxxPyyPzz);
-				real dyuy = dxux + omega * c3o2 * (mxxMyy - vx2 + vy2);
-				real dzuz = dxux + omega * c3o2 * (mxxMzz - vx2 + vz2);
-
-				//relax
-				mxxPyyPzz += OxxPyyPzz*(mfaaa + vx2 + vy2 + vz2 - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);
-				mxxMyy += omega * (vx2 - vy2 - mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy);
-				mxxMzz += omega * (vx2 - vz2 - mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz);
-			}
-			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-			// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			// 			//no correction
-			// 			mxxPyyPzz += OxxPyyPzz*(mfaaa+vx2+vy2+vz2-mxxPyyPzz);
-			// 			mxxMyy    += -(-omega) * (vx2-vy2-mxxMyy);
-			// 			mxxMzz    += -(-omega) * (vx2-vz2-mxxMzz);
-			// 			///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			mfabb += omega * (vvy*vvz - mfabb);
-			mfbab += omega * (vvx*vvz - mfbab);
-			mfbba += omega * (vvx*vvy - mfbba);
-
-			// linear combinations back
-			mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaca = c1o3 * (-c2o1*  mxxMyy + mxxMzz + mxxPyyPzz);
-			mfaac = c1o3 * (mxxMyy - c2o1* mxxMzz + mxxPyyPzz);
-
-			//3.
-			// linear combinations
-
-			real mxxyPyzz = mfcba + mfabc;
-			real mxxyMyzz = mfcba - mfabc;
-
-			real mxxzPyyz = mfcab + mfacb;
-			real mxxzMyyz = mfcab - mfacb;
-
-			real mxyyPxzz = mfbca + mfbac;
-			real mxyyMxzz = mfbca - mfbac;
-
-			mxxyMyzz += OxyyMxzz*((vx2 - vz2)*vvy - mxxyMyzz);
-			mxxzMyyz += OxyyMxzz*((vx2 - vy2)*vvz - mxxzMyyz);
-			mxyyMxzz += OxyyMxzz*((vy2 - vz2)*vvx - mxyyMxzz);
-
-			mxxyPyzz += OxyyPxzz*((c2o3 + vx2 + vz2)*vvy - mxxyPyzz);
-			mxxzPyyz += OxyyPxzz*((c2o3 + vx2 + vy2)*vvz - mxxzPyyz);
-			mxyyPxzz += OxyyPxzz*((c2o3 + vy2 + vz2)*vvx - mxyyPxzz);
-
-			mfbbb += OxyyMxzz * (vvx*vvy*vvz - mfbbb);
-
-			mfcba = (mxxyMyzz + mxxyPyzz) * c1o2;
-			mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2;
-			mfcab = (mxxzMyyz + mxxzPyyz) * c1o2;
-			mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2;
-			mfbca = (mxyyMxzz + mxyyPxzz) * c1o2;
-			mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2;
-
-			//4.
-			mfacc += O4*((c1o3 + vy2)*(c1o3 + vz2) + c1o9*(mfaaa - c1o1) - mfacc);
-			mfcac += O4*((c1o3 + vx2)*(c1o3 + vz2) + c1o9*(mfaaa - c1o1) - mfcac);
-			mfcca += O4*((c1o3 + vx2)*(c1o3 + vy2) + c1o9*(mfaaa - c1o1) - mfcca);
-
-			mfcbb += O4*((c1o3 + vx2)*vvy*vvz - mfcbb);
-			mfbcb += O4*((c1o3 + vy2)*vvx*vvz - mfbcb);
-			mfbbc += O4*((c1o3 + vz2)*vvx*vvy - mfbbc);
-
-			//5.
-			mfbcc += O5*((c1o3 + vy2)*(c1o3 + vz2)*vvx - mfbcc);
-			mfcbc += O5*((c1o3 + vx2)*(c1o3 + vz2)*vvy - mfcbc);
-			mfccb += O5*((c1o3 + vx2)*(c1o3 + vy2)*vvz - mfccb);
-
-			//6.
-			mfccc += O6*((c1o3 + vx2)*(c1o3 + vy2)*(c1o3 + vz2) + c1o27*(mfaaa - c1o1) - mfccc);
-
-
-			//bad fix
-			vvx = c0o1;
-			vvy = c0o1;
-			vvz = c0o1;
-			vx2 = c0o1;
-			vy2 = c0o1;
-			vz2 = c0o1;
-			////////////////////////////////////////////////////////////////////////////////////
-			//back
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Z - Dir
-			m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfaac - c2o1* mfaab *  vvz + mfaaa                * (c1o1 - vz2) - c1o1* oMdrho * vz2;
-			m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1* oMdrho) * (vz2 + vvz) * c1o2;
-			mfaaa = m0;
-			mfaab = m1;
-			mfaac = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2;
-			m1 = -mfabc - c2o1* mfabb *  vvz + mfaba * (c1o1 - vz2);
-			m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2;
-			mfaba = m0;
-			mfabb = m1;
-			mfabc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfacc - c2o1* mfacb *  vvz + mfaca                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfaca = m0;
-			mfacb = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2;
-			m1 = -mfbac - c2o1* mfbab *  vvz + mfbaa * (c1o1 - vz2);
-			m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2;
-			mfbaa = m0;
-			mfbab = m1;
-			mfbac = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2;
-			m1 = -mfbbc - c2o1* mfbbb *  vvz + mfbba * (c1o1 - vz2);
-			m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2;
-			mfbba = m0;
-			mfbbb = m1;
-			mfbbc = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2;
-			m1 = -mfbcc - c2o1* mfbcb *  vvz + mfbca * (c1o1 - vz2);
-			m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2;
-			mfbca = m0;
-			mfbcb = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfcac - c2o1* mfcab *  vvz + mfcaa                  * (c1o1 - vz2) - c1o3 * oMdrho * vz2;
-			m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcaa = m0;
-			mfcab = m1;
-			mfcac = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2;
-			m1 = -mfcbc - c2o1* mfcbb *  vvz + mfcba * (c1o1 - vz2);
-			m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2;
-			mfcba = m0;
-			mfcbb = m1;
-			mfcbc = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2;
-			m1 = -mfccc - c2o1* mfccb *  vvz + mfcca                  * (c1o1 - vz2) - c1o9 * oMdrho * vz2;
-			m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2;
-			mfcca = m0;
-			mfccb = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18   Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// Y - Dir
-			m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfaca - c2o1* mfaba *  vvy + mfaaa                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaaa = m0;
-			mfaba = m1;
-			mfaca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacb - c2o1* mfabb *  vvy + mfaab                  * (c1o1 - vy2) - c2o3 * oMdrho * vy2;
-			m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaab = m0;
-			mfabb = m1;
-			mfacb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfacc - c2o1* mfabc *  vvy + mfaac                  * (c1o1 - vy2) - c1o6 * oMdrho * vy2;
-			m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfaac = m0;
-			mfabc = m1;
-			mfacc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2;
-			m1 = -mfbca - c2o1* mfbba *  vvy + mfbaa * (c1o1 - vy2);
-			m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2;
-			mfbaa = m0;
-			mfbba = m1;
-			mfbca = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2;
-			m1 = -mfbcb - c2o1* mfbbb *  vvy + mfbab * (c1o1 - vy2);
-			m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2;
-			mfbab = m0;
-			mfbbb = m1;
-			mfbcb = m2;
-			/////////b//////////////////////////////////////////////////////////////////////////
-			m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2;
-			m1 = -mfbcc - c2o1* mfbbc *  vvy + mfbac * (c1o1 - vy2);
-			m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2;
-			mfbac = m0;
-			mfbbc = m1;
-			mfbcc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfcca - c2o1* mfcba *  vvy + mfcaa                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcaa = m0;
-			mfcba = m1;
-			mfcca = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccb - c2o1* mfcbb *  vvy + mfcab                  * (c1o1 - vy2) - c2o9 * oMdrho * vy2;
-			m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcab = m0;
-			mfcbb = m1;
-			mfccb = m2;
-			/////////c//////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2;
-			m1 = -mfccc - c2o1* mfcbc *  vvy + mfcac                   * (c1o1 - vy2) - c1o18 * oMdrho * vy2;
-			m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2;
-			mfcac = m0;
-			mfcbc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			//mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren
-			////////////////////////////////////////////////////////////////////////////////////
-			// X - Dir
-			m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcaa - c2o1* mfbaa *  vvx + mfaaa                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaaa = m0;
-			mfbaa = m1;
-			mfcaa = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcba - c2o1* mfbba *  vvx + mfaba                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaba = m0;
-			mfbba = m1;
-			mfcba = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcca - c2o1* mfbca *  vvx + mfaca                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaca = m0;
-			mfbca = m1;
-			mfcca = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcab - c2o1* mfbab *  vvx + mfaab                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaab = m0;
-			mfbab = m1;
-			mfcab = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbb - c2o1* mfbbb *  vvx + mfabb                  * (c1o1 - vx2) - c4o9 * oMdrho * vx2;
-			m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabb = m0;
-			mfbbb = m1;
-			mfcbb = m2;
-			///////////b////////////////////////////////////////////////////////////////////////
-			m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccb - c2o1* mfbcb *  vvx + mfacb                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacb = m0;
-			mfbcb = m1;
-			mfccb = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-			////////////////////////////////////////////////////////////////////////////////////
-			m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcac - c2o1* mfbac *  vvx + mfaac                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfaac = m0;
-			mfbac = m1;
-			mfcac = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfcbc - c2o1* mfbbc *  vvx + mfabc                  * (c1o1 - vx2) - c1o9 * oMdrho * vx2;
-			m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfabc = m0;
-			mfbbc = m1;
-			mfcbc = m2;
-			///////////c////////////////////////////////////////////////////////////////////////
-			m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2;
-			m1 = -mfccc - c2o1* mfbcc *  vvx + mfacc                   * (c1o1 - vx2) - c1o36 * oMdrho * vx2;
-			m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2;
-			mfacc = m0;
-			mfbcc = m1;
-			mfccc = m2;
-			////////////////////////////////////////////////////////////////////////////////////
-
-
-			////////////////////////////////////////////////////////////////////////////////////
-			(D.f[dP00])[k] = mfabb;//(D.f[ dP00   ])[ke   ] = mfabb;// -  c2over27 ;  (D.f[ dP00   ])[k   ]                                                                     
-			(D.f[dM00])[kw] = mfcbb;//(D.f[ dM00   ])[kw   ] = mfcbb;// -  c2over27 ;  (D.f[ dM00   ])[kw  ]                                                                   
-			(D.f[d0P0])[k] = mfbab;//(D.f[ d0P0   ])[kn   ] = mfbab;// -  c2over27 ;	 (D.f[ d0P0   ])[k   ]
-			(D.f[d0M0])[ks] = mfbcb;//(D.f[ d0M0   ])[ks   ] = mfbcb;// -  c2over27 ;	 (D.f[ d0M0   ])[ks  ]
-			(D.f[d00P])[k] = mfbba;//(D.f[ d00P   ])[kt   ] = mfbba;// -  c2over27 ;	 (D.f[ d00P   ])[k   ]
-			(D.f[d00M])[kb] = mfbbc;//(D.f[ d00M   ])[kb   ] = mfbbc;// -  c2over27 ;	 (D.f[ d00M   ])[kb  ]
-			(D.f[dPP0])[k] = mfaab;//(D.f[ dPP0  ])[kne  ] = mfaab;// -  c1over54 ;	 (D.f[ dPP0  ])[k   ]
-			(D.f[dMM0])[ksw] = mfccb;//(D.f[ dMM0  ])[ksw  ] = mfccb;// -  c1over54 ;	 (D.f[ dMM0  ])[ksw ]
-			(D.f[dPM0])[ks] = mfacb;//(D.f[ dPM0  ])[kse  ] = mfacb;// -  c1over54 ;	 (D.f[ dPM0  ])[ks  ]
-			(D.f[dMP0])[kw] = mfcab;//(D.f[ dMP0  ])[knw  ] = mfcab;// -  c1over54 ;	 (D.f[ dMP0  ])[kw  ]
-			(D.f[dP0P])[k] = mfaba;//(D.f[ dP0P  ])[kte  ] = mfaba;// -  c1over54 ;	 (D.f[ dP0P  ])[k   ]
-			(D.f[dM0M])[kbw] = mfcbc;//(D.f[ dM0M  ])[kbw  ] = mfcbc;// -  c1over54 ;	 (D.f[ dM0M  ])[kbw ]
-			(D.f[dP0M])[kb] = mfabc;//(D.f[ dP0M  ])[kbe  ] = mfabc;// -  c1over54 ;	 (D.f[ dP0M  ])[kb  ]
-			(D.f[dM0P])[kw] = mfcba;//(D.f[ dM0P  ])[ktw  ] = mfcba;// -  c1over54 ;	 (D.f[ dM0P  ])[kw  ]
-			(D.f[d0PP])[k] = mfbaa;//(D.f[ d0PP  ])[ktn  ] = mfbaa;// -  c1over54 ;	 (D.f[ d0PP  ])[k   ]
-			(D.f[d0MM])[kbs] = mfbcc;//(D.f[ d0MM  ])[kbs  ] = mfbcc;// -  c1over54 ;	 (D.f[ d0MM  ])[kbs ]
-			(D.f[d0PM])[kb] = mfbac;//(D.f[ d0PM  ])[kbn  ] = mfbac;// -  c1over54 ;	 (D.f[ d0PM  ])[kb  ]
-			(D.f[d0MP])[ks] = mfbca;//(D.f[ d0MP  ])[kts  ] = mfbca;// -  c1over54 ;	 (D.f[ d0MP  ])[ks  ]
-			(D.f[d000])[k] = mfbbb;//(D.f[ d000])[kzero] = mfbbb;// -  c8over27 ;	 (D.f[ d000])[k   ]
-			(D.f[dPPP])[k] = mfaaa;//(D.f[ dPPP ])[ktne ] = mfaaa;// -  c1over216;	 (D.f[ dPPP ])[k   ]
-			(D.f[dPMP])[ks] = mfaca;//(D.f[ dPMP ])[ktse ] = mfaca;// -  c1over216;	 (D.f[ dPMP ])[ks  ]
-			(D.f[dPPM])[kb] = mfaac;//(D.f[ dPPM ])[kbne ] = mfaac;// -  c1over216;	 (D.f[ dPPM ])[kb  ]
-			(D.f[dPMM])[kbs] = mfacc;//(D.f[ dPMM ])[kbse ] = mfacc;// -  c1over216;	 (D.f[ dPMM ])[kbs ]
-			(D.f[dMPP])[kw] = mfcaa;//(D.f[ dMPP ])[ktnw ] = mfcaa;// -  c1over216;	 (D.f[ dMPP ])[kw  ]
-			(D.f[dMMP])[ksw] = mfcca;//(D.f[ dMMP ])[ktsw ] = mfcca;// -  c1over216;	 (D.f[ dMMP ])[ksw ]
-			(D.f[dMPM])[kbw] = mfcac;//(D.f[ dMPM ])[kbnw ] = mfcac;// -  c1over216;	 (D.f[ dMPM ])[kbw ]
-			(D.f[dMMM])[kbsw] = mfccc;//(D.f[ dMMM ])[kbsw ] = mfccc;// -  c1over216;	 (D.f[ dMMM ])[kbsw]
-										////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes_Device.cuh b/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes_Device.cuh
deleted file mode 100644
index c62c73b10fcab18f8e4c7b3189dc10204a60de28..0000000000000000000000000000000000000000
--- a/src/gpu/core/Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes_Device.cuh
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef M02IncompressibleNavierStokes_Device_H
-#define M02IncompressibleNavierStokes_Device_H
-
-#include <DataTypes.h>
-#include <curand.h>
-
-__global__ void M02IncompressibleNavierStokes_Device(
-	real omega,
-	unsigned int* bcMatD,
-	unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	real* DDStart,
-	int size_Mat,
-	bool EvenOrOdd);
-
-#endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/KernelFactory/KernelFactory.h b/src/gpu/core/Kernel/KernelFactory/KernelFactory.h
index 05755f0eba9c0c0c0bd8fdbab2a2ce4f4590293b..99d2d7fef18709c550bcd8b7f24e5ac586db3b81 100644
--- a/src/gpu/core/Kernel/KernelFactory/KernelFactory.h
+++ b/src/gpu/core/Kernel/KernelFactory/KernelFactory.h
@@ -17,9 +17,9 @@ class KernelFactory
 {
 public:
     virtual ~KernelFactory() = default;
-	virtual std::vector< std::shared_ptr< Kernel>> makeKernels(std::shared_ptr<Parameter> para) = 0;
-	virtual std::vector< std::shared_ptr< AdvectionDiffusionKernel>> makeAdvDifKernels(std::shared_ptr<Parameter> para) = 0;
-	
-	virtual void setPorousMedia(std::vector<std::shared_ptr<PorousMedia>> pm) = 0;
+    virtual std::vector< std::shared_ptr< Kernel>> makeKernels(std::shared_ptr<Parameter> para) = 0;
+    virtual std::vector< std::shared_ptr< AdvectionDiffusionKernel>> makeAdvDifKernels(std::shared_ptr<Parameter> para) = 0;
+    
+    virtual void setPorousMedia(std::vector<std::shared_ptr<PorousMedia>> pm) = 0;
 };
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/KernelFactory/KernelFactoryImp.cpp b/src/gpu/core/Kernel/KernelFactory/KernelFactoryImp.cpp
index aa4e80920f7613a7e470e7cc90fdd258a6f90279..3430486b266a1e884dc8ec82b86b43dc97c38408 100644
--- a/src/gpu/core/Kernel/KernelFactory/KernelFactoryImp.cpp
+++ b/src/gpu/core/Kernel/KernelFactory/KernelFactoryImp.cpp
@@ -9,44 +9,19 @@
 //LBM kernel (compressible)
 #include "Kernel/Compressible/NavierStokes/B92/B92CompressibleNavierStokes.h"
 #include "Kernel/Compressible/NavierStokes/B15/B15CompressibleNavierStokesBGKplus.h"
-#include "Kernel/Compressible/NavierStokes/M02/M02CompressibleNavierStokes.h"
-#include "Kernel/Compressible/NavierStokes/C06/C06CompressibleNavierStokes.h"
-#include "Kernel/Compressible/NavierStokes/K08/K08CompressibleNavierStokes.h"
 #include "Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokes.h"
-#include "Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesBulkViscosity.h"
-#include "Kernel/Compressible/NavierStokes/K15/K15CompressibleNavierStokesSponge.h"
 #include "Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokes.h"
-#include "Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesChimeraLegacy.h"
-#include "Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesBulkViscosity.h"
-#include "Kernel/Compressible/NavierStokes/K17/K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants.h"
-#include "Kernel/Compressible/NavierStokes/K18/K18CompressibleNavierStokes.h"
-#include "Kernel/Compressible/NavierStokes/K20/K20CompressibleNavierStokes.h"
 
 //LBM kernel (inkompressible)
 #include "Kernel/Incompressible/NavierStokes/B92/B92IncompressibleNavierStokes.h"
 #include "Kernel/Incompressible/NavierStokes/B15/B15IncompressibleNavierStokesBGKplus.h"
-#include "Kernel/Incompressible/NavierStokes/C06/C06IncompressibleNavierStokes.h"
-#include "Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesRotatingVelocityField.h"
-#include "Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokesIsoCheck.h"
 #include "Kernel/Incompressible/NavierStokes/K15/K15IncompressibleNavierStokes.h"
-#include "Kernel/Incompressible/NavierStokes/M02/M02IncompressibleNavierStokes.h"
 
 //advection diffusion kernel (compressible)
-#include "Kernel/Compressible/AdvectionDiffusion/D3Q27/F16/F16CompressibleAdvectionDiffusion.h"
-#include "Kernel/Compressible/AdvectionDiffusion/D3Q7/B12/B12CompressibleAdvectionDiffusionD3Q7.h"
+#include "Kernel/Compressible/AdvectionDiffusion/F16/F16CompressibleAdvectionDiffusion.h"
 
 //advection diffusion kernel (incompressible)
-#include "Kernel/Incompressible/AdvectionDiffusion/D3Q27/F16/F16IncompressibleAdvectionDiffusion.h"
-#include "Kernel/Incompressible/AdvectionDiffusion/D3Q7/B12/B12IncompressibleAdvectionDiffusionD3Q7.h"
-
-//porous media kernel
-#include "Kernel/Compressible/NavierStokes/K15PorousMedia/K15CompressibleNavierStokesPorousMedia.h"
-
-//wale kernel+
-#include "Kernel/Compressible/NavierStokes/K17Wale/K17CompressibleNavierStokesWale.h"
-#include "Kernel/Compressible/NavierStokes/K17WaleDebug/K17CompressibleNavierStokesWaleDebug.h"
-#include "Kernel/Compressible/NavierStokes/K15Wale/K15CompressibleNavierStokesWale.h"
-#include "Kernel/Compressible/NavierStokes/K15WaleSM/K15CompressibleNavierStokesWaleBySoniMalav.h"
+#include "Kernel/Incompressible/AdvectionDiffusion/F16/F16IncompressibleAdvectionDiffusion.h"
 
 #include <lbm/collision/TurbulentViscosity.h>
 
@@ -92,16 +67,6 @@ std::shared_ptr<Kernel> KernelFactoryImp::makeKernel(std::shared_ptr<Parameter>
         newKernel     = B92CompressibleNavierStokes::getNewInstance(para, level);               // compressible
     } else if (kernel == collisionKernel::compressible::BGKPlus) {
         newKernel     = B15CompressibleNavierStokesBGKplus::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::compressible::MRT) {
-        newKernel     = M02CompressibleNavierStokes::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::compressible::Cascade) {
-        newKernel     = C06CompressibleNavierStokes::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::compressible::CumulantClassic) {
-        newKernel     = K08CompressibleNavierStokes::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::compressible::K17CompressibleNavierStokesBulkViscosity) {
-        newKernel     = K17CompressibleNavierStokesBulkViscosity::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::compressible::K17CompressibleNavierStokesChimeraLegacy) {
-        newKernel     = K17CompressibleNavierStokesChimeraLegacy::getNewInstance(para, level);
     } else if (kernel == collisionKernel::compressible::K17CompressibleNavierStokes){
         switch(para->getTurbulenceModel())
         {
@@ -121,44 +86,16 @@ std::shared_ptr<Kernel> KernelFactoryImp::makeKernel(std::shared_ptr<Parameter>
                 throw std::runtime_error("Unknown turbulence model!");
             break;
         }
-    } else if (kernel == collisionKernel::compressible::CumulantAll4SP27) {
-        newKernel     = K17CompressibleNavierStokesSecondDerivatesFrom5thCumulants::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::compressible::CumulantK18) {
-        newKernel     = K18CompressibleNavierStokes::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::compressible::CumulantK20) {
-        newKernel     = K20CompressibleNavierStokes::getNewInstance(para, level);
     } else if (kernel == collisionKernel::compressible::K15CompressibleNavierStokes) {
         newKernel     = K15CompressibleNavierStokes::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::compressible::K15CompressibleNavierStokesBulk) {
-        newKernel     = K15CompressibleNavierStokesBulkViscosity::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::compressible::K15CompressibleNavierStokesSponge) { //     /\      //
-        newKernel     = K15CompressibleNavierStokesSponge::getNewInstance(para, level);     //     ||
     }                                                                           //===============
     else if (  kernel == collisionKernel::incompressible::BGK) {                // incompressible
         newKernel     = B92IncompressibleNavierStokes::getNewInstance(para, level);             //     ||
     } else if (kernel == collisionKernel::incompressible::BGKPlus) {
         newKernel     = B15IncompressibleNavierStokesBGKplus::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::incompressible::MRT) {
-        newKernel     = M02IncompressibleNavierStokes::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::incompressible::Cascade) {
-        newKernel     = C06IncompressibleNavierStokes::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::incompressible::Cumulant1h) {
-        newKernel     = K15IncompressibleNavierStokesRotatingVelocityField::getNewInstance(para, level);
     } else if (kernel == collisionKernel::incompressible::CumulantK15) {          //     /\      //
         newKernel     = K15IncompressibleNavierStokes::getNewInstance(para, level);           //     ||
     }                                                                             //===============
-    else if (kernel == collisionKernel::porousMedia::CumulantOne) {               // porous media
-        newKernel     = K15CompressibleNavierStokesPorousMedia::getNewInstance(para, pm, level);   //     ||
-    }                                                                             //===============
-    else if (kernel == collisionKernel::wale::CumulantK17) {                      // wale model
-        newKernel     = K17CompressibleNavierStokesWale::getNewInstance(para, level);         //     ||
-    } else if (kernel == collisionKernel::wale::CumulantK17Debug) {
-        newKernel     = K17CompressibleNavierStokesWaleDebug::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::wale::CumulantK15) {
-        newKernel     = K15CompressibleNavierStokesWale::getNewInstance(para, level);
-    } else if (kernel == collisionKernel::wale::CumulantK15SoniMalav) {              //     /\      //
-        newKernel     = K15CompressibleNavierStokesWaleBySoniMalav::getNewInstance(para, level); //     ||
-    }                                                                                //===============
     else {
         throw std::runtime_error("KernelFactory does not know the KernelType.");
     }
@@ -172,12 +109,8 @@ std::shared_ptr<AdvectionDiffusionKernel> KernelFactoryImp::makeAdvDifKernel(std
 
     if (kernel == "ADComp27") {
         newKernel     = F16CompressibleAdvectionDiffusion::getNewInstance(para, level);
-    } else if(kernel == "ADComp7") {
-        newKernel     = B12CompressibleAdvectionDiffusionD3Q7::getNewInstance(para, level);
     } else if (kernel == "ADIncomp27") {
         newKernel     = F16IncompressibleAdvectionDiffusion::getNewInstance(para, level);
-    } else if (kernel == "ADIncomp7") {
-        newKernel     = B12IncompressibleAdvectionDiffusionD3Q7::getNewInstance(para, level);
     } else {
         throw std::runtime_error("KernelFactory does not know the KernelType.");
     }
diff --git a/src/gpu/core/Kernel/KernelFactory/KernelFactoryImp.h b/src/gpu/core/Kernel/KernelFactory/KernelFactoryImp.h
index 3f1539413f69c178c1cba68f42cb6121e235ea62..bd156958ef7748d6ecc7bf2f632ba58cf1839c35 100644
--- a/src/gpu/core/Kernel/KernelFactory/KernelFactoryImp.h
+++ b/src/gpu/core/Kernel/KernelFactory/KernelFactoryImp.h
@@ -8,15 +8,15 @@ class PorousMedia;
 class KernelFactoryImp : public KernelFactory
 {
 public:
-	std::vector< std::shared_ptr< Kernel>> makeKernels(std::shared_ptr<Parameter> para);
-	std::vector< std::shared_ptr< AdvectionDiffusionKernel>> makeAdvDifKernels(std::shared_ptr<Parameter> para);
+    std::vector< std::shared_ptr< Kernel>> makeKernels(std::shared_ptr<Parameter> para);
+    std::vector< std::shared_ptr< AdvectionDiffusionKernel>> makeAdvDifKernels(std::shared_ptr<Parameter> para);
 
-	void setPorousMedia(std::vector<std::shared_ptr<PorousMedia>> pm);
+    void setPorousMedia(std::vector<std::shared_ptr<PorousMedia>> pm);
 
-	std::shared_ptr<Kernel> makeKernel(std::shared_ptr<Parameter> para, std::string kernel, int level);
-	std::shared_ptr<AdvectionDiffusionKernel> makeAdvDifKernel(std::shared_ptr<Parameter> para, std::string kernel, int level);
-	void setKernelAtLevel(std::vector< std::shared_ptr<Kernel>> kernels, std::shared_ptr<Parameter> para, std::string kernel, int level);
+    std::shared_ptr<Kernel> makeKernel(std::shared_ptr<Parameter> para, std::string kernel, int level);
+    std::shared_ptr<AdvectionDiffusionKernel> makeAdvDifKernel(std::shared_ptr<Parameter> para, std::string kernel, int level);
+    void setKernelAtLevel(std::vector< std::shared_ptr<Kernel>> kernels, std::shared_ptr<Parameter> para, std::string kernel, int level);
 
-	std::vector<std::shared_ptr<PorousMedia>> pm;
+    std::vector<std::shared_ptr<PorousMedia>> pm;
 };
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Kernel/KernelTypes.h b/src/gpu/core/Kernel/KernelTypes.h
index 9638a6d6f8d2c75e968484c6b0c3096826ab55c0..ebfa88a531bdc6110b00a00616b1a679f0aa09c5 100644
--- a/src/gpu/core/Kernel/KernelTypes.h
+++ b/src/gpu/core/Kernel/KernelTypes.h
@@ -3,49 +3,15 @@
 
 namespace vf::collisionKernel::compressible {
     static const std::string BGK = "BGKCompSP27";
-    static const std::string BGKUnified = "BGKUnified";
     static const std::string BGKPlus = "BGKPlusCompSP27";
-    static const std::string MRT = "MRTCompSP27";
-    static const std::string Cascade = "CascadeCompSP27";
-
-    static const std::string CumulantClassic = "CumulantCompSP27";
-
-    static const std::string CumulantK15Unified = "CumulantK15Unified";
-    static const std::string K17CompressibleNavierStokesUnified = "K17CompressibleNavierStokesUnified";
-
     static const std::string K17CompressibleNavierStokes = "K17CompressibleNavierStokes";
-    static const std::string K17CompressibleNavierStokesBulkViscosity = "K17CompressibleNavierStokesBulkViscosity";
-    static const std::string K17CompressibleNavierStokesChimeraLegacy = "K17CompressibleNavierStokesChimeraLegacy";
-
-    static const std::string CumulantAll4SP27 = "CumulantAll4CompSP27";
-    static const std::string CumulantK18 = "CumulantK18Comp";
-    static const std::string CumulantK20 = "CumulantK20Comp";
-
     static const std::string K15CompressibleNavierStokes = "K15CompressibleNavierStokes";
-    static const std::string K15CompressibleNavierStokesBulk = "K15CompressibleNavierStokesBulk";
-    static const std::string K15CompressibleNavierStokesSponge = "K15CompressibleNavierStokesSponge";
     }
 
 namespace vf::collisionKernel::incompressible {
     static const std::string BGK = "BGKIncompSP27";
     static const std::string BGKPlus = "BGKPlusIncompSP27";
-    static const std::string MRT = "MRTIncompSP27";
-    static const std::string Cascade = "CascadeIncompSP27";
-
-    static const std::string Cumulant1h = "Cumulant1hIncompSP27";
-    static const std::string CumulantIsometric = "CumulantIsoIncompSP27";
     static const std::string CumulantK15 = "CumulantK15Incomp";
 }
 
-namespace vf::collisionKernel::porousMedia {
-    static const std::string CumulantOne = "CumulantOneCompSP27";
-}
-
-namespace vf::collisionKernel::wale {
-    static const std::string CumulantK17 = "WaleCumulantK17Comp";
-    static const std::string CumulantK17Debug = "WaleCumulantK17DebugComp";
-    static const std::string CumulantK15 = "WaleCumulantK15Comp";
-    static const std::string CumulantK15SoniMalav = "WaleBySoniMalavCumulantK15Comp";
-}
-
 #endif
diff --git a/src/gpu/core/KernelManager/ADKernelManager.cpp b/src/gpu/core/KernelManager/ADKernelManager.cpp
index 34a0c589919058d4edd1969812c16e75941d28b4..0a531bd36eedbd0f90a1ef7f94aa29e5f1dd4ded 100644
--- a/src/gpu/core/KernelManager/ADKernelManager.cpp
+++ b/src/gpu/core/KernelManager/ADKernelManager.cpp
@@ -34,8 +34,9 @@
 #include "GPU/CudaMemoryManager.h"
 #include "GPU/GPU_Interface.h"
 #include "Parameter/Parameter.h"
+#include "Kernel/AdvectionDiffusionKernel.h"
 
-ADKernelManager::ADKernelManager(SPtr<Parameter> parameter): para(parameter){}
+ADKernelManager::ADKernelManager(SPtr<Parameter> parameter, std::vector<SPtr<AdvectionDiffusionKernel>>& adkernels): para(parameter), adkernels(adkernels){}
 
 void ADKernelManager::initAD(const int level) const
 {
@@ -113,71 +114,7 @@ void ADKernelManager::setInitialNodeValuesAD(const int level, SPtr<CudaMemoryMan
 ////////////////////////////////////////////////////////////////////////////////
 void ADKernelManager::runADcollisionKernel(const int level)const
 {
-    if (para->getDiffMod() == 7)
-    {
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-        // incompressible
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-        // KernelADincomp7(
-        //     para->getParD(level)->numberofthreads,
-        //     para->getParD(level)->diffusivity,
-        //     para->getParD(level)->typeOfGridNode,
-        //     para->getParD(level)->neighborX,
-        //     para->getParD(level)->neighborY, para->getParD(level)->neighborZ,
-        //     para->getParD(level)->distributions.f[0],
-        //     para->getParD(level)->distributionsAD7.f[0],
-        //     para->getParD(level)->numberOfNodes,
-        //     para->getParD(level)->isEvenTimestep);
-
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-        // compressible
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-        // KernelThS7(
-        //     para->getParD(level)->numberofthreads,
-        //     para->getParD(level)->diffusivity,
-        //     para->getParD(level)->typeOfGridNode,
-        //     para->getParD(level)->neighborX,
-        //     para->getParD(level)->neighborY,
-        //     para->getParD(level)->neighborZ,
-        //     para->getParD(level)->distributions.f[0],
-        //     para->getParD(level)->distributionsAD7.f[0],
-        //     para->getParD(level)->numberOfNodes,
-        //     para->getParD(level)->isEvenTimestep);
-    }
-    else if (para->getDiffMod() == 27)
-    {
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-        // incompressible
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-        // KernelADincomp27(
-        //     para->getParD(level)->numberofthreads,
-        //     para->getParD(level)->diffusivity,
-        //     para->getParD(level)->typeOfGridNode,
-        //     para->getParD(level)->neighborX,
-        //     para->getParD(level)->neighborY,
-        //     para->getParD(level)->neighborZ,
-        //     para->getParD(level)->distributions.f[0],
-        //     para->getParD(level)->distributionsAD27.f[0],
-        //     para->getParD(level)->numberOfNodes,
-        //     para->getParD(level)->isEvenTimestep);
-
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-        // compressible
-        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-        FactorizedCentralMomentsAdvectionDiffusionDeviceKernel(
-            para->getParD(level)->numberofthreads,
-            para->getParD(level)->omegaDiffusivity,
-            para->getParD(level)->typeOfGridNode,
-            para->getParD(level)->neighborX,
-            para->getParD(level)->neighborY,
-            para->getParD(level)->neighborZ,
-            para->getParD(level)->distributions.f[0],
-            para->getParD(level)->distributionsAD.f[0],
-            para->getParD(level)->numberOfNodes,
-            para->getParD(level)->forcing,
-            para->getParD(level)->isEvenTimestep);
-    }
+    adkernels[level]->run();
 }
 
 void ADKernelManager::runADslipBCKernel(const int level) const{
@@ -203,45 +140,6 @@ void ADKernelManager::runADslipBCKernel(const int level) const{
 
 void ADKernelManager::runADpressureBCKernel(const int level) const{
     if (para->getParD(level)->TempPress.kTemp > 0){
-        if (para->getDiffMod() == 7) {
-            // QADPressIncompDev7( 
-            //     para->getParD(level)->numberofthreads,
-            //     para->getParD(level)->distributions.f[0],
-            //     para->getParD(level)->distributionsAD7.f[0],
-            //     para->getParD(level)->TempPress.temp,
-            //     para->getParD(level)->TempPress.velo,
-            //     para->getParD(level)->diffusivity,
-            //     para->getParD(level)->TempPress.k,
-            //     para->getParD(level)->pressureBC.q27[0],
-            //     para->getParD(level)->TempPress.kTemp,
-            //     para->getParD(level)->omega,
-            //     para->getParD(level)->neighborX,
-            //     para->getParD(level)->neighborY,
-            //     para->getParD(level)->neighborZ,
-            //     para->getParD(level)->numberOfNodes,
-            //     para->getParD(level)->isEvenTimestep);
-
-             //////////////////////////////////////////////////////////////////////////
-             // C O M P R E S S I B L E
-             //////////////////////////////////////////////////////////////////////////
-            QADPressDev7(
-                para->getParD(level)->numberofthreads,
-                para->getParD(level)->distributions.f[0],
-                para->getParD(level)->distributionsAD7.f[0],
-                para->getParD(level)->TempPress.temp,
-                para->getParD(level)->TempPress.velo,
-                para->getParD(level)->diffusivity,
-                para->getParD(level)->TempPress.k,
-                para->getParD(level)->pressureBC.q27[0],
-                para->getParD(level)->TempPress.kTemp,
-                para->getParD(level)->omega,
-                para->getParD(level)->neighborX,
-                para->getParD(level)->neighborY,
-                para->getParD(level)->neighborZ,
-                para->getParD(level)->numberOfNodes,
-                para->getParD(level)->isEvenTimestep);
-
-        } else if (para->getDiffMod() == 27) {
             // QADPressIncompDev27(
             //     para->getParD(level)->numberofthreads,
             //     para->getParD(level)->distributions.f[0],
@@ -278,51 +176,12 @@ void ADKernelManager::runADpressureBCKernel(const int level) const{
                 para->getParD(level)->neighborZ,
                 para->getParD(level)->numberOfNodes,
                 para->getParD(level)->isEvenTimestep);
-        }
     }
 }
 
 void ADKernelManager::runADgeometryBCKernel(const int level) const
 {
     if (para->getParD(level)->geometryBC.numberOfBCnodes > 0) {
-        if (para->getDiffMod() == 7) {
-            // QNoSlipADincompDev7(
-            //     para->getParD(level)->numberofthreads,
-            //     para->getParD(level)->distributions.f[0],
-            //     para->getParD(level)->distributionsAD7.f[0],
-            //     para->getParD(level)->Temp.temp,
-            //     para->getParD(level)->diffusivity,
-            //     para->getParD(level)->Temp.k,
-            //     para->getParD(level)->geometryBC.q27[0],
-            //     para->getParD(level)->Temp.kTemp,
-            //     para->getParD(level)->omega,
-            //     para->getParD(level)->neighborX,
-            //     para->getParD(level)->neighborY,
-            //     para->getParD(level)->neighborZ,
-            //     para->getParD(level)->numberOfNodes,
-            //     para->getParD(level)->isEvenTimestep);
-
-            //////////////////////////////////////////////////////////////////////////
-            // C O M P R E S S I B L E
-            //////////////////////////////////////////////////////////////////////////
-
-            QADDev7(
-                para->getParD(level)->numberofthreads,
-                para->getParD(level)->distributions.f[0],
-                para->getParD(level)->distributionsAD7.f[0],
-                para->getParD(level)->Temp.temp,
-                para->getParD(level)->diffusivity,
-                para->getParD(level)->Temp.k,
-                para->getParD(level)->geometryBC.q27[0],
-                para->getParD(level)->Temp.kTemp,
-                para->getParD(level)->omega,
-                para->getParD(level)->neighborX,
-                para->getParD(level)->neighborY,
-                para->getParD(level)->neighborZ,
-                para->getParD(level)->numberOfNodes,
-                para->getParD(level)->isEvenTimestep);
-
-        } else if (para->getDiffMod() == 27) {
             // QNoSlipADincompDev27(
             //     para->getParD(level)->numberofthreads,
             //     para->getParD(level)->distributions.f[0],
@@ -358,53 +217,11 @@ void ADKernelManager::runADgeometryBCKernel(const int level) const
                 para->getParD(level)->neighborZ,
                 para->getParD(level)->numberOfNodes,
                 para->getParD(level)->isEvenTimestep);
-        }
     }
 }
 
 void ADKernelManager::runADveloBCKernel(const int level) const{
     if (para->getParD(level)->TempVel.kTemp > 0){
-        if (para->getDiffMod() == 7)
-        {
-            // QADVeloIncompDev7(
-            //     para->getParD(level)->numberofthreads,
-            //     para->getParD(level)->distributions.f[0],
-            //     para->getParD(level)->distributionsAD7.f[0],
-            //     para->getParD(level)->TempVel.tempPulse,
-            //     para->getParD(level)->TempVel.velo,
-            //     para->getParD(level)->diffusivity,
-            //     para->getParD(level)->TempVel.k,
-            //     para->getParD(level)->velocityBC.q27[0],
-            //     para->getParD(level)->TempVel.kTemp,
-            //     para->getParD(level)->omega,
-            //     para->getParD(level)->neighborX,
-            //     para->getParD(level)->neighborY,
-            //     para->getParD(level)->neighborZ,
-            //     para->getParD(level)->numberOfNodes,
-            //     para->getParD(level)->isEvenTimestep);
-
-            //////////////////////////////////////////////////////////////////////////
-            // C O M P R E S S I B L E
-            //////////////////////////////////////////////////////////////////////////
-
-            QADVelDev7(
-                para->getParD(level)->numberofthreads,
-                para->getParD(level)->distributions.f[0],
-                para->getParD(level)->distributionsAD7.f[0],
-                para->getParD(level)->TempVel.temp,
-                para->getParD(level)->TempVel.velo,
-                para->getParD(level)->diffusivity,
-                para->getParD(level)->TempVel.k,
-                para->getParD(level)->velocityBC.q27[0],
-                para->getParD(level)->TempVel.kTemp,
-                para->getParD(level)->omega,
-                para->getParD(level)->neighborX,
-                para->getParD(level)->neighborY,
-                para->getParD(level)->neighborZ,
-                para->getParD(level)->numberOfNodes,
-                para->getParD(level)->isEvenTimestep);
-
-        } else if (para->getDiffMod() == 27) {
             // QADVeloIncompDev27(
             //     para->getParD(level)->numberofthreads,
             //     para->getParD(level)->distributions.f[0],
@@ -442,48 +259,6 @@ void ADKernelManager::runADveloBCKernel(const int level) const{
                 para->getParD(level)->numberOfNodes,
                 para->getParD(level)->isEvenTimestep);
 
-            //////////////////////////////////////////////////////////////////////////
-            // W T G _ R U B
-            //////////////////////////////////////////////////////////////////////////
-            // if (t<1000)//(t>100000 && t<103895)//(t>1600000 && t<1662317)//(t>500000 && t<515580)//(t<1000)//(t<15580)//(t>400000 && t<415580)//
-            // {
-            //   QADVelDev27(
-            //     para->getParD(level)->numberofthreads,
-            //     para->getParD(level)->distributions.f[0],
-            //     para->getParD(level)->distributionsAD27.f[0],
-            //     para->getParD(level)->TempVel.tempPulse,
-            //     para->getParD(level)->TempVel.velo,
-            //     para->getParD(level)->diffusivity,
-            //     para->getParD(level)->velocityBC.k,
-            //     para->getParD(level)->velocityBC.q27[0],
-            //     para->getParD(level)->velocityBC.numberOfBCnodes,
-            //     para->getParD(level)->omega,
-            //     para->getParD(level)->neighborX,
-            //     para->getParD(level)->neighborY,
-            //     para->getParD(level)->neighborZ,
-            //     para->getParD(level)->numberOfNodes,
-            //     para->getParD(level)->isEvenTimestep);
-            // }
-            // else
-            // {
-            //   QADVelDev27(
-            //     para->getParD(level)->numberofthreads,
-            //     para->getParD(level)->distributions.f[0],
-            //     para->getParD(level)->distributionsAD27.f[0],
-            //     para->getParD(level)->TempVel.temp,
-            //     para->getParD(level)->TempVel.velo,
-            //     para->getParD(level)->diffusivity,
-            //     para->getParD(level)->velocityBC.k,
-            //     para->getParD(level)->velocityBC.q27[0],
-            //     para->getParD(level)->velocityBC.numberOfBCnodes,
-            //     para->getParD(level)->omega,
-            //     para->getParD(level)->neighborX,
-            //     para->getParD(level)->neighborY,
-            //     para->getParD(level)->neighborZ,
-            //     para->getParD(level)->numberOfNodes,
-            //     para->getParD(level)->isEvenTimestep);
-            // }
-        }
     }
 }
 
diff --git a/src/gpu/core/KernelManager/ADKernelManager.h b/src/gpu/core/KernelManager/ADKernelManager.h
index 30a3b0530d842fdb4a97bfa59d554c983952a579..46d818b04e3a2f3fc2b53d5deef249900d324faa 100644
--- a/src/gpu/core/KernelManager/ADKernelManager.h
+++ b/src/gpu/core/KernelManager/ADKernelManager.h
@@ -33,6 +33,8 @@
 #ifndef ADVECTION_DIFFUSION_H
 #define ADVECTION_DIFFUSION_H
 
+#include <vector>
+
 #include <basics/DataTypes.h>
 #include <basics/PointerDefinitions.h>
 
@@ -40,6 +42,7 @@
 //! \brief Class forwarding for Parameter, CudaMemoryManager
 class Parameter;
 class CudaMemoryManager;
+class AdvectionDiffusionKernel;
 
 //! \class ADKernelManager
 //! \brief manage the advection diffusion kernel calls
@@ -49,7 +52,7 @@ class ADKernelManager
 public:
     //! Class constructor
     //! \param parameter shared pointer to instance of class Parameter
-    ADKernelManager(SPtr<Parameter> parameter);
+    ADKernelManager(SPtr<Parameter> parameter, std::vector<SPtr<AdvectionDiffusionKernel>>& adkernels);
 
     //! \brief initialize the advection diffusion distributions
     void initAD(const int level) const;
@@ -79,6 +82,7 @@ public:
 
 private:
     SPtr<Parameter> para;
+    std::vector<SPtr<AdvectionDiffusionKernel>> adkernels;
 };
 
 #endif
diff --git a/src/gpu/core/KernelManager/BCKernelManager.h b/src/gpu/core/KernelManager/BCKernelManager.h
index 1961f25f4f9d6ca899d07158aaeeb7caab2b2738..1dd48f0221743f6ac6461c9db3c8a7a9fc97404d 100644
--- a/src/gpu/core/KernelManager/BCKernelManager.h
+++ b/src/gpu/core/KernelManager/BCKernelManager.h
@@ -86,8 +86,8 @@ public:
     //! \brief calls the device function of the pressure boundary condition (post-collision)
     void runPressureBCKernelPost(const int level) const;
 
-	//! \brief calls the device function of the precursor boundary condition
-	void runPrecursorBCKernelPost(int level, uint t, CudaMemoryManager* cudaMemoryManager);
+    //! \brief calls the device function of the precursor boundary condition
+    void runPrecursorBCKernelPost(int level, uint t, CudaMemoryManager* cudaMemoryManager);
 
     //! \brief calls the device function of the outflow boundary condition
     void runOutflowBCKernelPre(const int level) const;
diff --git a/src/gpu/core/KernelManager/GridScalingKernelManager.cpp b/src/gpu/core/KernelManager/GridScalingKernelManager.cpp
index 229922b1ec1654e7ca664f9d19a7b7c6e264fd83..4c168389d189726b47ded9176b6ad27d84063881 100644
--- a/src/gpu/core/KernelManager/GridScalingKernelManager.cpp
+++ b/src/gpu/core/KernelManager/GridScalingKernelManager.cpp
@@ -258,52 +258,6 @@ void GridScalingKernelManager::runFineToCoarseKernelAD(const int level) const
 {
     //A D V E C T I O N    D I F F U S I O N
 
-    if (para->getDiffMod() == 7)
-    {
-        // ScaleFCThS7(
-        //     para->getParD(level)->distributions.f[0],
-        //     para->getParD(level+1)->distributions.f[0],
-        //     para->getParD(level)->distributionsAD7.f[0],
-        //     para->getParD(level+1)->distributionsAD7.f[0],
-        //     para->getParD(level)->neighborX,
-        //     para->getParD(level)->neighborY,
-        //     para->getParD(level)->neighborZ,
-        //     para->getParD(level+1)->neighborX,
-        //     para->getParD(level+1)->neighborY,
-        //     para->getParD(level+1)->neighborZ,
-        //     para->getParD(level)->numberOfNodes,
-        //     para->getParD(level+1)->numberOfNodes,
-        //     para->getParD(level)->isEvenTimestep,
-        //     para->getParD(level)->intFC.ICellFCC,
-        //     para->getParD(level)->intFC.ICellFCF,
-        //     para->getParD(level)->K_FC,
-        //     para->getParD(level)->vis,
-        //     para->getParD(level)->diffusivity,
-        //     para->getParD(level)->numberofthreads);
-        ScaleFCThSMG7(
-            para->getParD(level)->distributions.f[0],
-            para->getParD(level+1)->distributions.f[0],
-            para->getParD(level)->distributionsAD7.f[0],
-            para->getParD(level+1)->distributionsAD7.f[0],
-            para->getParD(level)->neighborX,
-            para->getParD(level)->neighborY,
-            para->getParD(level)->neighborZ,
-            para->getParD(level+1)->neighborX,
-            para->getParD(level+1)->neighborY,
-            para->getParD(level+1)->neighborZ,
-            para->getParD(level)->numberOfNodes,
-            para->getParD(level+1)->numberOfNodes,
-            para->getParD(level)->isEvenTimestep,
-            para->getParD(level)->fineToCoarse.coarseCellIndices,
-            para->getParD(level)->fineToCoarse.fineCellIndices,
-            para->getParD(level)->fineToCoarse.numberOfCells,
-            para->getParD(level)->viscosity,
-            para->getParD(level)->diffusivity,
-            para->getParD(level)->numberofthreads,
-            para->getParD(level)->neighborFineToCoarse);
-    }
-    else if (para->getDiffMod() == 27)
-    {
         ScaleFCThS27(
             para->getParD(level)->distributions.f[0],
             para->getParD(level+1)->distributions.f[0],
@@ -325,7 +279,6 @@ void GridScalingKernelManager::runFineToCoarseKernelAD(const int level) const
             para->getParD(level)->diffusivity,
             para->getParD(level)->numberofthreads,
             para->getParD(level)->neighborFineToCoarse);
-    }
 }
 
 void GridScalingKernelManager::runCoarseToFineKernelLB(const int level, InterpolationCells* coarseToFine, ICellNeigh &neighborFineToCoarse, CudaStreamIndex streamIndex) const
@@ -526,53 +479,6 @@ void GridScalingKernelManager::runCoarseToFineKernelAD(const int level) const
 {
     // A D V E C T I O N    D I F F U S I O N
 
-    if (para->getDiffMod() == 7)
-    {
-        // ScaleCFThS7(
-        //     para->getParD(level)->distributions.f[0],
-        //     para->getParD(level+1)->distributions.f[0],
-        //     para->getParD(level)->distributionsAD7.f[0],
-        //     para->getParD(level+1)->distributionsAD7.f[0],
-        //     para->getParD(level)->neighborX,
-        //     para->getParD(level)->neighborY,
-        //     para->getParD(level)->neighborZ,
-        //     para->getParD(level+1)->neighborX,
-        //     para->getParD(level+1)->neighborY,
-        //     para->getParD(level+1)->neighborZ,
-        //     para->getParD(level)->numberOfNodes,
-        //     para->getParD(level+1)->numberOfNodes,
-        //     para->getParD(level)->isEvenTimestep,
-        //     para->getParD(level)->intCF.ICellCFC,
-        //     para->getParD(level)->intCF.ICellCFF,
-        //     para->getParD(level)->K_CF,
-        //     para->getParD(level)->vis,
-        //     para->getParD(level+1)->diffusivity,
-        //     para->getParD(level)->numberofthreads);
-
-        ScaleCFThSMG7(
-            para->getParD(level)->distributions.f[0],
-            para->getParD(level+1)->distributions.f[0],
-            para->getParD(level)->distributionsAD7.f[0],
-            para->getParD(level+1)->distributionsAD7.f[0],
-            para->getParD(level)->neighborX,
-            para->getParD(level)->neighborY,
-            para->getParD(level)->neighborZ,
-            para->getParD(level+1)->neighborX,
-            para->getParD(level+1)->neighborY,
-            para->getParD(level+1)->neighborZ,
-            para->getParD(level)->numberOfNodes,
-            para->getParD(level+1)->numberOfNodes,
-            para->getParD(level)->isEvenTimestep,
-            para->getParD(level)->coarseToFine.coarseCellIndices,
-            para->getParD(level)->coarseToFine.fineCellIndices,
-            para->getParD(level)->coarseToFine.numberOfCells,
-            para->getParD(level)->viscosity,
-            para->getParD(level+1)->diffusivity,
-            para->getParD(level)->numberofthreads,
-            para->getParD(level)->neighborCoarseToFine);
-    }
-    else if (para->getDiffMod() == 27)
-    {
         ScaleCFThS27(
             para->getParD(level)->distributions.f[0],
             para->getParD(level+1)->distributions.f[0],
@@ -594,5 +500,4 @@ void GridScalingKernelManager::runCoarseToFineKernelAD(const int level) const
             para->getParD(level+1)->diffusivity,
             para->getParD(level)->numberofthreads,
             para->getParD(level)->neighborCoarseToFine);
-    }
 }
diff --git a/src/gpu/core/LBM/GPUHelperFunctions/ChimeraTransformation.h b/src/gpu/core/LBM/GPUHelperFunctions/ChimeraTransformation.h
deleted file mode 100644
index 4ba786cc1f281725ed24bc9f5c587f33cec78f56..0000000000000000000000000000000000000000
--- a/src/gpu/core/LBM/GPUHelperFunctions/ChimeraTransformation.h
+++ /dev/null
@@ -1,108 +0,0 @@
-//=======================================================================================
-// ____          ____    __    ______     __________   __      __       __        __
-// \    \       |    |  |  |  |   _   \  |___    ___| |  |    |  |     /  \      |  |
-//  \    \      |    |  |  |  |  |_)   |     |  |     |  |    |  |    /    \     |  |
-//   \    \     |    |  |  |  |   _   /      |  |     |  |    |  |   /  /\  \    |  |
-//    \    \    |    |  |  |  |  | \  \      |  |     |   \__/   |  /  ____  \   |  |____
-//     \    \   |    |  |__|  |__|  \__\     |__|      \________/  /__/    \__\  |_______|
-//      \    \  |    |   ________________________________________________________________
-//       \    \ |    |  |  ______________________________________________________________|
-//        \    \|    |  |  |         __          __     __     __     ______      _______
-//         \         |  |  |_____   |  |        |  |   |  |   |  |   |   _  \    /  _____)
-//          \        |  |   _____|  |  |        |  |   |  |   |  |   |  | \  \   \_______
-//           \       |  |  |        |  |_____   |   \_/   |   |  |   |  |_/  /    _____  |
-//            \ _____|  |__|        |________|   \_______/    |__|   |______/    (_______/
-//
-//  This file is part of VirtualFluids. VirtualFluids is free software: you can
-//  redistribute it and/or modify it under the terms of the GNU General Public
-//  License as published by the Free Software Foundation, either version 3 of
-//  the License, or (at your option) any later version.
-//
-//  VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
-//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//  for more details.
-//
-//  You should have received a copy of the GNU General Public License along
-//  with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
-//
-//! \file ChimeraTransformation.h
-//! \ingroup LBM/GPUHelperFunctions
-//! \author Martin Schoenherr, Anna Wellmann, Soeren Peters
-//=======================================================================================
-#ifndef CHIMERA_TRANSFORMATION_H
-#define CHIMERA_TRANSFORMATION_H
-
-#include "LBM/LB.h"
-
-#include <basics/constants/NumericConstants.h>
-
-using namespace vf::basics::constant;
-
-namespace vf::gpu
-{
-
-////////////////////////////////////////////////////////////////////////////////
-//! \brief forward chimera transformation \ref forwardInverseChimeraWithK
-//! Transformation from distributions to central moments according to Eq. (6)-(14) in \ref
-//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040
-//! ]</b></a> Modified for lower round-off errors.
-__inline__ __device__ void forwardInverseChimeraWithK(real &mfa, real &mfb, real &mfc, real vv, real v2, real Kinverse, real K)
-{
-    real m2 = mfa + mfc;
-    real m1 = mfc - mfa;
-    real m0 = m2 + mfb;
-    mfa = m0;
-    m0 *= Kinverse;
-    m0 += c1o1;
-    mfb = (m1 * Kinverse - m0 * vv) * K;
-    mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//! \brief backward chimera transformation \ref backwardInverseChimeraWithK
-//! Transformation from central moments to distributions according to Eq. (57)-(65) in \ref
-//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040
-//! ]</b></a> Modified for lower round-off errors.
-__inline__ __device__ void backwardInverseChimeraWithK(real &mfa, real &mfb, real &mfc, real vv, real v2, real Kinverse, real K)
-{
-    real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + c1o1) * (v2 - vv) * c1o2) * K;
-    real m1 = (((mfa - mfc) - c2o1 * mfb * vv) * Kinverse + (mfa * Kinverse + c1o1) * (-v2)) * K;
-    mfc = (((mfc + mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + c1o1) * (v2 + vv) * c1o2) * K;
-    mfa = m0;
-    mfb = m1;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//! \brief forward chimera transformation \ref forwardChimera
-//! Transformation from distributions to central moments according to Eq. (6)-(14) in \ref
-//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040
-//! ]</b></a> for \f$ K_{abc}=0 \f$. This is to avoid unnessary floating point operations. Modified for lower round-off
-//! errors.
-__inline__ __device__ void forwardChimera(real &mfa, real &mfb, real &mfc, real vv, real v2)
-{
-    real m1 = (mfa + mfc) + mfb;
-    real m2 = mfc - mfa;
-    mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2);
-    mfb = m2 - vv * m1;
-    mfa = m1;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//! \brief backward chimera transformation \ref backwardChimera
-//! Transformation from central moments to distributions according to Eq. (57)-(65) in \ref
-//! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040
-//! ]</b></a> for \f$ K_{abc}=0 \f$. This is to avoid unnessary floating point operations. Modified for lower round-off
-//! errors.
-__inline__ __device__ void backwardChimera(real &mfa, real &mfb, real &mfc, real vv, real v2)
-{
-    real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2);
-    real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv;
-    mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2);
-    mfb = mb;
-    mfa = ma;
-}
-
-} // namespace vf::gpu
-
-#endif
diff --git a/src/gpu/core/LBM/Simulation.cpp b/src/gpu/core/LBM/Simulation.cpp
index 8b68f7bdba46bd5002db3ce5fc89b4cc537d7573..a023fd09f5abc50828927d603b5a009c33586dc2 100644
--- a/src/gpu/core/LBM/Simulation.cpp
+++ b/src/gpu/core/LBM/Simulation.cpp
@@ -42,10 +42,10 @@
 #include "Calculation/CalcMedian.h"
 #include "Calculation/CalcTurbulenceIntensity.h"
 #include "Calculation/ForceCalculations.h"
-#include "Calculation/PorousMedia.h"
 //////////////////////////////////////////////////////////////////////////
 #include "Output/Timer.h"
 #include "Output/FileWriter.h"
+#include "Output/DistributionDebugWriter.h"
 //////////////////////////////////////////////////////////////////////////
 #include "Restart/RestartObject.h"
 //////////////////////////////////////////////////////////////////////////
@@ -75,8 +75,8 @@ Simulation::Simulation(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemo
     : para(para), cudaMemoryManager(memoryManager), communicator(communicator), kernelFactory(std::make_unique<KernelFactoryImp>()),
       preProcessorFactory(std::make_shared<PreProcessorFactoryImp>()), dataWriter(std::make_unique<FileWriter>())
 {
-	this->tmFactory = SPtr<TurbulenceModelFactory>( new TurbulenceModelFactory(para) );
-	init(gridProvider, bcFactory, tmFactory, scalingFactory);
+    this->tmFactory = SPtr<TurbulenceModelFactory>( new TurbulenceModelFactory(para) );
+    init(gridProvider, bcFactory, tmFactory, scalingFactory);
 }
 
 Simulation::Simulation(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemoryManager> memoryManager,
@@ -84,7 +84,7 @@ Simulation::Simulation(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemo
     : para(para), cudaMemoryManager(memoryManager), communicator(communicator), kernelFactory(std::make_unique<KernelFactoryImp>()),
       preProcessorFactory(std::make_shared<PreProcessorFactoryImp>()), dataWriter(std::make_unique<FileWriter>())
 {
-	init(gridProvider, bcFactory, tmFactory, scalingFactory);
+    init(gridProvider, bcFactory, tmFactory, scalingFactory);
 }
 
 void Simulation::init(GridProvider &gridProvider, BoundaryConditionFactory *bcFactory, SPtr<TurbulenceModelFactory> tmFactory, GridScalingFactory *scalingFactory)
@@ -248,15 +248,6 @@ void Simulation::init(GridProvider &gridProvider, BoundaryConditionFactory *bcFa
         readMeasurePoints(para.get(), cudaMemoryManager.get());
     }
 
-    //////////////////////////////////////////////////////////////////////////
-    // Porous Media
-    //////////////////////////////////////////////////////////////////////////
-    if (para->getSimulatePorousMedia()) {
-        VF_LOG_INFO("define area(s) of porous media");
-        porousMedia();
-        kernelFactory->setPorousMedia(pm);
-    }
-
     //////////////////////////////////////////////////////////////////////////
     // enSightGold
     //////////////////////////////////////////////////////////////////////////
@@ -364,7 +355,7 @@ void Simulation::init(GridProvider &gridProvider, BoundaryConditionFactory *bcFa
     //////////////////////////////////////////////////////////////////////////
     // Init UpdateGrid
     //////////////////////////////////////////////////////////////////////////
-    this->updateGrid27 = std::make_unique<UpdateGrid27>(para, communicator, cudaMemoryManager, pm, kernels, bcFactory, tmFactory, scalingFactory);
+    this->updateGrid27 = std::make_unique<UpdateGrid27>(para, communicator, cudaMemoryManager, kernels, adKernels, bcFactory, tmFactory, scalingFactory);
 
     //////////////////////////////////////////////////////////////////////////
     // Write Initialized Files
@@ -392,10 +383,13 @@ void Simulation::init(GridProvider &gridProvider, BoundaryConditionFactory *bcFa
     //        EdgeNodeDebugWriter::writeEdgeNodesXZ_Recv(para);
     //    }
 
-    // Allocate host memory for DistributionDebugWriter
-    cudaMemoryManager->cudaAllocFsForAllLevelsOnHost();
+#if DEBUG_FS
+    VF_LOG_INFO("Allocating host memory for DistributionWriter.");
+    DistributionDebugWriter::allocateDistributionsOnHost(*cudaMemoryManager);
+#endif
+
     VF_LOG_INFO("...done");
-    
+
     //////////////////////////////////////////////////////////////////////////
     VF_LOG_INFO("used Device Memory: {} MB", cudaMemoryManager->getMemsizeGPU() / 1000000.0);
     // std::cout << "Process " << communicator.getPID() <<": used device memory" << cudaMemoryManager->getMemsizeGPU() /
@@ -872,23 +866,8 @@ void Simulation::readAndWriteFiles(uint timestep)
             if (this->enstrophyAnalyzer)     this->enstrophyAnalyzer->writeToFile(fname);
         }
         //////////////////////////////////////////////////////////////////////////
-        if (para->getDiffOn()==true)
+        if (para->getDiffOn())
         {
-            if (para->getDiffMod() == 7)
-            {
-               CalcMacThS7( para->getParD(lev)->concentration,
-                            para->getParD(lev)->typeOfGridNode,
-                            para->getParD(lev)->neighborX,
-                            para->getParD(lev)->neighborY,
-                            para->getParD(lev)->neighborZ,
-                            para->getParD(lev)->numberOfNodes,
-                            para->getParD(lev)->numberofthreads,
-                            para->getParD(lev)->distributionsAD7.f[0],
-                            para->getParD(lev)->isEvenTimestep);
-               getLastCudaError("CalcMacTh7 execution failed");
-            }
-            else if (para->getDiffMod() == 27)
-            {
                CalcConcentration27(
                               para->getParD(lev)->numberofthreads,
                               para->getParD(lev)->concentration,
@@ -899,7 +878,6 @@ void Simulation::readAndWriteFiles(uint timestep)
                               para->getParD(lev)->numberOfNodes,
                               para->getParD(lev)->distributionsAD.f[0],
                               para->getParD(lev)->isEvenTimestep);
-            }
             cudaMemoryManager->cudaCopyConcentrationDeviceToHost(lev);
             //cudaMemoryCopy(para->getParH(lev)->Conc, para->getParD(lev)->Conc,  para->getParH(lev)->mem_size_real_SP , cudaMemcpyDeviceToHost);
         }
@@ -1024,149 +1002,17 @@ void Simulation::readAndWriteFiles(uint timestep)
     ////////////////////////////////////////////////////////////////////////
     if (para->getCalcParticles()) copyAndPrintParticles(para.get(), cudaMemoryManager.get(), timestep, false);
 
+#if DEBUG_FS
     // Write distributions (f's) for debugging purposes.
-    cudaMemoryManager->cudaCopyFsForAllLevelsToHost();
-    DistributionDebugWriter::writeDistributions(para.get(), timestep);
+    DistributionDebugWriter::copyDistributionsToHost(*para, *cudaMemoryManager);
+    DistributionDebugWriter::writeDistributions(*para, timestep);
+#endif
 
     ////////////////////////////////////////////////////////////////////////
     VF_LOG_INFO("... done");
     ////////////////////////////////////////////////////////////////////////
 }
 
-void Simulation::porousMedia()
-{
-    double porosity, darcySI, forchheimerSI;
-    double dxLBM = 0.00390625;
-    double dtLBM = 0.00000658;
-    unsigned int level, geo;
-    double startX, startY, startZ, endX, endY, endZ;
-    //////////////////////////////////////////////////////////////////////////
-
-    ////////////////////////////////////////////////////////////////////////////
-    ////Test = porous media 0
-    //porosity = 0.7;
-    //darcySI = 137.36; //[1/s]
-    //forchheimerSI = 1037.8; //[1/m]
-    //level = para->getFine();
-    //geo = GEO_PM_0;
-    //startX = 20.0;
-    //startY =  0.0;
-    //startZ =  0.0;
-    //endX = 40.0;
-    //endY = 22.0;
-    //endZ = 22.0;
-    //pm[0] = new PorousMedia(porosity, geo, darcySI, forchheimerSI, dxLBM, dtLBM, level);
-    //pm[0]->setStartCoordinates(startX, startY, startZ);
-    //pm[0]->setEndCoordinates(endX, endY, endZ);
-    //pm[0]->setResistanceLBM();
-    //definePMarea(pm[0]);
-    ////////////////////////////////////////////////////////////////////////////
-
-    //////////////////////////////////////////////////////////////////////////
-    //Kondensator = porous media 0
-    porosity = 0.7;
-    darcySI = 137.36; //[1/s]
-    forchheimerSI = 1037.8; //[1/m]
-    level = para->getFine();
-    geo = GEO_PM_0;
-    startX = -0.715882;
-    startY = -0.260942;
-    startZ = -0.031321;
-    endX = -0.692484;
-    endY =  0.277833;
-    endZ =  0.360379;
-    pm.push_back(std::shared_ptr<PorousMedia>(new PorousMedia(porosity, geo, darcySI, forchheimerSI, dxLBM, dtLBM, level)));
-    int n = (int)pm.size() - 1;
-    pm.at(n)->setStartCoordinates(startX, startY, startZ);
-    pm.at(n)->setEndCoordinates(endX, endY, endZ);
-    pm.at(n)->setResistanceLBM();
-    definePMarea(pm.at(n));
-    //////////////////////////////////////////////////////////////////////////
-
-    //////////////////////////////////////////////////////////////////////////
-    //NT-Kuehler = porous media 1
-    porosity = 0.6;
-    darcySI = 149.98; //[1/s]
-    forchheimerSI = 960.57; //[1/m]
-    level = para->getFine();
-    geo = GEO_PM_1;
-    startX = -0.696146;
-    startY = -0.32426;
-    startZ = -0.0421345;
-    endX = -0.651847;
-    endY =  0.324822;
-    endZ =  0.057098;
-    pm.push_back(std::shared_ptr<PorousMedia>(new PorousMedia(porosity, geo, darcySI, forchheimerSI, dxLBM, dtLBM, level)));
-    n = (int)pm.size() - 1;
-    pm.at(n)->setStartCoordinates(startX, startY, startZ);
-    pm.at(n)->setEndCoordinates(endX, endY, endZ);
-    pm.at(n)->setResistanceLBM();
-    definePMarea(pm.at(n));
-    //////////////////////////////////////////////////////////////////////////
-
-    //////////////////////////////////////////////////////////////////////////
-    //Wasserkuehler = porous media 2
-    porosity = 0.6;
-    darcySI = 148.69; //[1/s]
-    forchheimerSI = 629.45; //[1/m]
-    level = para->getFine();
-    geo = GEO_PM_2;
-    startX = -0.692681;
-    startY = -0.324954;
-    startZ = 0.0789429;
-    endX = -0.657262;
-    endY =  0.32538;
-    endZ =  0.400974;
-    pm.push_back(std::shared_ptr<PorousMedia>(new PorousMedia(porosity, geo, darcySI, forchheimerSI, dxLBM, dtLBM, level)));
-    n = (int)pm.size() - 1;
-    pm.at(n)->setStartCoordinates(startX, startY, startZ);
-    pm.at(n)->setEndCoordinates(endX, endY, endZ);
-    pm.at(n)->setResistanceLBM();
-    definePMarea(pm.at(n));
-    //////////////////////////////////////////////////////////////////////////
-
-}
-
-void Simulation::definePMarea(std::shared_ptr<PorousMedia>& pMedia)
-{
-    unsigned int counter = 0;
-    unsigned int level = pMedia->getLevelPM();
-    std::vector< unsigned int > nodeIDsPorousMedia;
-    VF_LOG_INFO("definePMarea....find nodes");
-
-    for (unsigned int i = 0; i < para->getParH(level)->numberOfNodes; i++)
-    {
-        if (((para->getParH(level)->coordinateX[i] >= pMedia->getStartX()) && (para->getParH(level)->coordinateX[i] <= pMedia->getEndX())) &&
-            ((para->getParH(level)->coordinateY[i] >= pMedia->getStartY()) && (para->getParH(level)->coordinateY[i] <= pMedia->getEndY())) &&
-            ((para->getParH(level)->coordinateZ[i] >= pMedia->getStartZ()) && (para->getParH(level)->coordinateZ[i] <= pMedia->getEndZ())) )
-        {
-            if (para->getParH(level)->typeOfGridNode[i] >= GEO_FLUID)
-            {
-                para->getParH(level)->typeOfGridNode[i] = pMedia->getGeoID();
-                nodeIDsPorousMedia.push_back(i);
-                counter++;
-            }
-        }
-    }
-
-    VF_LOG_INFO("definePMarea....cuda copy SP");
-    cudaMemoryManager->cudaCopySP(level);
-    pMedia->setSizePM(counter);
-    VF_LOG_INFO("definePMarea....cuda alloc PM");
-    cudaMemoryManager->cudaAllocPorousMedia(pMedia.get(), level);
-    unsigned int *tpmArrayIDs = pMedia->getHostNodeIDsPM();
-
-    VF_LOG_INFO("definePMarea....copy vector to array");
-    for (unsigned int j = 0; j < pMedia->getSizePM(); j++)
-    {
-        tpmArrayIDs[j] = nodeIDsPorousMedia[j];
-    }
-
-    pMedia->setHostNodeIDsPM(tpmArrayIDs);
-    VF_LOG_INFO("definePMarea....cuda copy PM");
-    cudaMemoryManager->cudaCopyPorousMedia(pMedia.get(), level);
-}
-
 Simulation::~Simulation()
 {
     // Cuda Streams
diff --git a/src/gpu/core/LBM/Simulation.h b/src/gpu/core/LBM/Simulation.h
index b89d8fdec4ac432e3c4a4504857fa4f8f2a9c57e..e3bd7cf7bc5f761727c581c0870e53af2f1750a5 100644
--- a/src/gpu/core/LBM/Simulation.h
+++ b/src/gpu/core/LBM/Simulation.h
@@ -17,7 +17,6 @@ class Communicator;
 class CudaMemoryManager;
 class Parameter;
 class GridProvider;
-class PorousMedia;
 class RestartObject;
 class ForceCalculations;
 class DataWriter;
@@ -39,8 +38,8 @@ class Simulation
 {
 public:
     Simulation(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemoryManager> memoryManager,
-               vf::parallel::Communicator &communicator, GridProvider &gridProvider, BoundaryConditionFactory* bcFactory, GridScalingFactory* scalingFactory = nullptr);	
-	Simulation(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemoryManager> memoryManager,
+               vf::parallel::Communicator &communicator, GridProvider &gridProvider, BoundaryConditionFactory* bcFactory, GridScalingFactory* scalingFactory = nullptr);    
+    Simulation(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemoryManager> memoryManager,
                vf::parallel::Communicator &communicator, GridProvider &gridProvider, BoundaryConditionFactory* bcFactory, SPtr<TurbulenceModelFactory> tmFactory, GridScalingFactory* scalingFactory = nullptr);
 
     ~Simulation();
@@ -58,34 +57,32 @@ public:
     void initTimers();
 
 private:
-	void init(GridProvider &gridProvider, BoundaryConditionFactory *bcFactory, SPtr<TurbulenceModelFactory> tmFactory, GridScalingFactory *scalingFactory);
+    void init(GridProvider &gridProvider, BoundaryConditionFactory *bcFactory, SPtr<TurbulenceModelFactory> tmFactory, GridScalingFactory *scalingFactory);
     void allocNeighborsOffsetsScalesAndBoundaries(GridProvider& gridProvider);
-    void porousMedia();
-    void definePMarea(std::shared_ptr<PorousMedia>& pm);
     void readAndWriteFiles(uint timestep);
 
-	std::unique_ptr<KernelFactory> kernelFactory;
-	std::shared_ptr<PreProcessorFactory> preProcessorFactory;
+    std::unique_ptr<KernelFactory> kernelFactory;
+    std::shared_ptr<PreProcessorFactory> preProcessorFactory;
 
-	Buffer2D <real> sbuf_t;
-	Buffer2D <real> rbuf_t;
-	Buffer2D <real> sbuf_b;
-	Buffer2D <real> rbuf_b;
+    Buffer2D <real> sbuf_t;
+    Buffer2D <real> rbuf_t;
+    Buffer2D <real> sbuf_b;
+    Buffer2D <real> rbuf_b;
 
-	Buffer2D <int> geo_sbuf_t;
-	Buffer2D <int> geo_rbuf_t;
-	Buffer2D <int> geo_sbuf_b;
-	Buffer2D <int> geo_rbuf_b;
+    Buffer2D <int> geo_sbuf_t;
+    Buffer2D <int> geo_rbuf_t;
+    Buffer2D <int> geo_sbuf_b;
+    Buffer2D <int> geo_rbuf_b;
 
 
-	vf::parallel::Communicator& communicator;
+    vf::parallel::Communicator& communicator;
     SPtr<Parameter> para;
     std::shared_ptr<DataWriter> dataWriter;
-	std::shared_ptr<CudaMemoryManager> cudaMemoryManager;
-	std::vector < SPtr< Kernel>> kernels;
-	std::vector < SPtr< AdvectionDiffusionKernel>> adKernels;
-	std::shared_ptr<PreProcessor> preProcessor;
-	SPtr<TurbulenceModelFactory> tmFactory;
+    std::shared_ptr<CudaMemoryManager> cudaMemoryManager;
+    std::vector < SPtr< Kernel>> kernels;
+    std::vector < SPtr< AdvectionDiffusionKernel>> adKernels;
+    std::shared_ptr<PreProcessor> preProcessor;
+    SPtr<TurbulenceModelFactory> tmFactory;
 
     SPtr<RestartObject> restart_object;
 
@@ -96,30 +93,25 @@ private:
     uint timestepForMeasuringPoints;
     
 
-	//Forcing Calculation
-	std::shared_ptr<ForceCalculations> forceCalculator;
+    //Forcing Calculation
+    std::shared_ptr<ForceCalculations> forceCalculator;
 
-	//Porous Media
-	std::vector<std::shared_ptr<PorousMedia>> pm;
-	//PorousMedia* pm0;
-	//PorousMedia* pm1;
-	//PorousMedia* pm2;
 
     // TODO: https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/29
-	//KQ - Schlaff
-	// unsigned int            kNQ, kSQ, kEQ, kWQ;
-	// QforBoundaryConditions  QnH, QnD;
-	// QforBoundaryConditions  QsH, QsD;
-	// QforBoundaryConditions  QeH, QeD;
-	// QforBoundaryConditions  QwH, QwD;
-	// real *VxNH,          *VyNH,       *VzNH,       *deltaVNH;
-	// real *VxND,          *VyND,       *VzND,       *deltaVND;
-	// real *VxSH,          *VySH,       *VzSH,       *deltaVSH;
-	// real *VxSD,          *VySD,       *VzSD,       *deltaVSD;
-	// real *VxEH,          *VyEH,       *VzEH,       *deltaVEH;
-	// real *VxED,          *VyED,       *VzED,       *deltaVED;
-	// real *VxWH,          *VyWH,       *VzWH,       *deltaVWH;
-	// real *VxWD,          *VyWD,       *VzWD,       *deltaVWD;
+    //KQ - Schlaff
+    // unsigned int            kNQ, kSQ, kEQ, kWQ;
+    // QforBoundaryConditions  QnH, QnD;
+    // QforBoundaryConditions  QsH, QsD;
+    // QforBoundaryConditions  QeH, QeD;
+    // QforBoundaryConditions  QwH, QwD;
+    // real *VxNH,          *VyNH,       *VzNH,       *deltaVNH;
+    // real *VxND,          *VyND,       *VzND,       *deltaVND;
+    // real *VxSH,          *VySH,       *VzSH,       *deltaVSH;
+    // real *VxSD,          *VySD,       *VzSD,       *deltaVSD;
+    // real *VxEH,          *VyEH,       *VzEH,       *deltaVEH;
+    // real *VxED,          *VyED,       *VzED,       *deltaVED;
+    // real *VxWH,          *VyWH,       *VzWH,       *deltaVWH;
+    // real *VxWD,          *VyWD,       *VzWD,       *deltaVWD;
 
 
     std::unique_ptr<KineticEnergyAnalyzer> kineticEnergyAnalyzer;
diff --git a/src/gpu/core/Output/AnalysisData.hpp b/src/gpu/core/Output/AnalysisData.hpp
index 882cc2b46c3faf3eb81a5296a7b8c6f2e1bc3ac8..054f053fc8227f333957242d580e8f3f91cf3c39 100644
--- a/src/gpu/core/Output/AnalysisData.hpp
+++ b/src/gpu/core/Output/AnalysisData.hpp
@@ -8,148 +8,148 @@
 class AnalysisData
 {
 public:
-	AnalysisData(){}
-	~AnalysisData(){}
-
-	static void writeAnalysisData(Parameter* para, unsigned int t)
-	{
-		UbFileOutputASCII out(para->getFName()+"_AD_"+StringUtil::toString<int>(t)+".dat");
-
-		unsigned int j = para->getParH(0)->gridNY / 2 + STARTOFFY;
-
-		for (unsigned int k=STARTOFFZ; k<para->getParH(0)->gridNZ + STARTOFFZ; k++)
-		{
-			for (unsigned int i=STARTOFFX; i<para->getParH(0)->gridNX + STARTOFFX; i++)
-			{
-				int m = para->getParH(0)->nx*(para->getParH(0)->ny*k + j) + i;
-				//gerade
-				out.writeDouble((double)para->getParH(0)->velocityY[para->getParH(0)->k[m]]);
-				//schr�g x
-// 				out.writeDouble((double)para->getParH(0)->vz_SP[para->getParH(0)->k[m]]);
-				//schr�g z
-				//out.writeDouble((double)para->getParH(0)->vx_SP[para->getParH(0)->k[m]]);
-			}
-			out.writeLine();
-		}
-	}
-
-	static void writeAnalysisDataX(Parameter* para, unsigned int t)
-	{
-		UbFileOutputASCII out(para->getFName()+"_AD_X_"+StringUtil::toString<int>(t)+".dat");
-
-		//unsigned int j = para->getParH(0)->gridNY / 2 + STARTOFFY;
-
-		//for (unsigned int k=STARTOFFZ; k<para->getParH(0)->gridNZ + STARTOFFZ; k++)
-		//{
-		//	for (unsigned int i=STARTOFFX; i<para->getParH(0)->gridNX + STARTOFFX; i++)
-		//	{
-		//		int m = para->getParH(0)->nx*(para->getParH(0)->ny*k + j) + i;
-		//		//Taylor Green Vortex - X
-		//		out.writeDouble((double)para->getParH(0)->vx_SP[para->getParH(0)->k[m]]);
-		//	}
-		//	out.writeLine();
-		//}
-		int numberNodes = (int)para->getParH(0)->numberOfNodes;
-
-		real deltaX = 1.0f;
-		real halfDx = deltaX / 2.0f;
-		real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
-
-		for (int u = 0; u < numberNodes; u++)
-		{
-			if ((para->getParH(0)->typeOfGridNode[u] == GEO_FLUID) &&
-				((middleOfTheGrid - halfDx) <= para->getParH(0)->coordinateY[u]) &&
-				((middleOfTheGrid + halfDx) >= para->getParH(0)->coordinateY[u]))
-			{
-				out.writeDouble((float)(para->getParH(0)->velocityX[u]));
-				out.writeLine();
-			}
-		}
-	}
-
-	static void writeAnalysisDataZ(Parameter* para, unsigned int t)
-	{
-		UbFileOutputASCII out(para->getFName()+"_AD_Z_"+StringUtil::toString<int>(t)+".dat");
-
-		unsigned int j = para->getParH(0)->gridNY / 2 + STARTOFFY;
-
-		for (unsigned int k=STARTOFFZ; k<para->getParH(0)->gridNZ + STARTOFFZ; k++)
-		{
-			for (unsigned int i=STARTOFFX; i<para->getParH(0)->gridNX + STARTOFFX; i++)
-			{
-				int m = para->getParH(0)->nx*(para->getParH(0)->ny*k + j) + i;
-				//Taylor Green Vortex - Z
-				out.writeDouble((double)para->getParH(0)->velocityZ[para->getParH(0)->k[m]]);
-			}
-			out.writeLine();
-		}
-	}
-
-	static void writeAnalysisDataXSP(Parameter* para, unsigned int t)
-	{
-		UbFileOutputASCII out(para->getFName() + "_AD_X_" + StringUtil::toString<int>(t) + ".dat");
-
-		real level = 0; //uniform
-		int numberNodes = (int)para->getParH(level)->numberOfNodes;
-
-		real deltaX = 1.0f / pow(2, level);
-		real halfDx = deltaX / 2.0f;
-		real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
-
-		for (int u = 0; u < numberNodes; u++)
-		{
-			if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
-				((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateY[u]) &&
-				((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateY[u]))
-			{
-				out.writeDouble((double)(para->getParH(level)->velocityX[u]));
-			}
-		}
-	}
-
-	static void writeAnalysisDataYSP(Parameter* para, unsigned int t)
-	{
-		UbFileOutputASCII out(para->getFName() + "_AD_Y_" + StringUtil::toString<int>(t) + ".dat");
-
-		real level = 0; //uniform
-		int numberNodes = (int)para->getParH(level)->numberOfNodes;
-
-		real deltaX = 1.0f / pow(2, level);
-		real halfDx = deltaX / 2.0f;
-		real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
-
-		for (int u = 0; u < numberNodes; u++)
-		{
-			if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
-				((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateY[u]) &&
-				((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateY[u]))
-			{
-				out.writeDouble((double)(para->getParH(level)->velocityY[u]));
-			}
-		}
-	}
-
-	static void writeAnalysisDataZSP(Parameter* para, unsigned int t)
-	{
-		UbFileOutputASCII out(para->getFName() + "_AD_Z_" + StringUtil::toString<int>(t) + ".dat");
-
-		real level = 0; //uniform
-		int numberNodes = (int)para->getParH(level)->numberOfNodes;
-
-		real deltaX = 1.0f / pow(2, level);
-		real halfDx = deltaX / 2.0f;
-		real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
-
-		for (int u = 0; u < numberNodes; u++)
-		{
-			if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
-				((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateY[u]) &&
-				((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateY[u]))
-			{
-				out.writeDouble((double)(para->getParH(level)->velocityZ[u]));
-			}
-		}
-	}
+    AnalysisData(){}
+    ~AnalysisData(){}
+
+    static void writeAnalysisData(Parameter* para, unsigned int t)
+    {
+        UbFileOutputASCII out(para->getFName()+"_AD_"+StringUtil::toString<int>(t)+".dat");
+
+        unsigned int j = para->getParH(0)->gridNY / 2 + STARTOFFY;
+
+        for (unsigned int k=STARTOFFZ; k<para->getParH(0)->gridNZ + STARTOFFZ; k++)
+        {
+            for (unsigned int i=STARTOFFX; i<para->getParH(0)->gridNX + STARTOFFX; i++)
+            {
+                int m = para->getParH(0)->nx*(para->getParH(0)->ny*k + j) + i;
+                //gerade
+                out.writeDouble((double)para->getParH(0)->velocityY[para->getParH(0)->k[m]]);
+                //schr�g x
+//                 out.writeDouble((double)para->getParH(0)->vz_SP[para->getParH(0)->k[m]]);
+                //schr�g z
+                //out.writeDouble((double)para->getParH(0)->vx_SP[para->getParH(0)->k[m]]);
+            }
+            out.writeLine();
+        }
+    }
+
+    static void writeAnalysisDataX(Parameter* para, unsigned int t)
+    {
+        UbFileOutputASCII out(para->getFName()+"_AD_X_"+StringUtil::toString<int>(t)+".dat");
+
+        //unsigned int j = para->getParH(0)->gridNY / 2 + STARTOFFY;
+
+        //for (unsigned int k=STARTOFFZ; k<para->getParH(0)->gridNZ + STARTOFFZ; k++)
+        //{
+        //    for (unsigned int i=STARTOFFX; i<para->getParH(0)->gridNX + STARTOFFX; i++)
+        //    {
+        //        int m = para->getParH(0)->nx*(para->getParH(0)->ny*k + j) + i;
+        //        //Taylor Green Vortex - X
+        //        out.writeDouble((double)para->getParH(0)->vx_SP[para->getParH(0)->k[m]]);
+        //    }
+        //    out.writeLine();
+        //}
+        int numberNodes = (int)para->getParH(0)->numberOfNodes;
+
+        real deltaX = 1.0f;
+        real halfDx = deltaX / 2.0f;
+        real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
+
+        for (int u = 0; u < numberNodes; u++)
+        {
+            if ((para->getParH(0)->typeOfGridNode[u] == GEO_FLUID) &&
+                ((middleOfTheGrid - halfDx) <= para->getParH(0)->coordinateY[u]) &&
+                ((middleOfTheGrid + halfDx) >= para->getParH(0)->coordinateY[u]))
+            {
+                out.writeDouble((float)(para->getParH(0)->velocityX[u]));
+                out.writeLine();
+            }
+        }
+    }
+
+    static void writeAnalysisDataZ(Parameter* para, unsigned int t)
+    {
+        UbFileOutputASCII out(para->getFName()+"_AD_Z_"+StringUtil::toString<int>(t)+".dat");
+
+        unsigned int j = para->getParH(0)->gridNY / 2 + STARTOFFY;
+
+        for (unsigned int k=STARTOFFZ; k<para->getParH(0)->gridNZ + STARTOFFZ; k++)
+        {
+            for (unsigned int i=STARTOFFX; i<para->getParH(0)->gridNX + STARTOFFX; i++)
+            {
+                int m = para->getParH(0)->nx*(para->getParH(0)->ny*k + j) + i;
+                //Taylor Green Vortex - Z
+                out.writeDouble((double)para->getParH(0)->velocityZ[para->getParH(0)->k[m]]);
+            }
+            out.writeLine();
+        }
+    }
+
+    static void writeAnalysisDataXSP(Parameter* para, unsigned int t)
+    {
+        UbFileOutputASCII out(para->getFName() + "_AD_X_" + StringUtil::toString<int>(t) + ".dat");
+
+        real level = 0; //uniform
+        int numberNodes = (int)para->getParH(level)->numberOfNodes;
+
+        real deltaX = 1.0f / pow(2, level);
+        real halfDx = deltaX / 2.0f;
+        real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
+
+        for (int u = 0; u < numberNodes; u++)
+        {
+            if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
+                ((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateY[u]) &&
+                ((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateY[u]))
+            {
+                out.writeDouble((double)(para->getParH(level)->velocityX[u]));
+            }
+        }
+    }
+
+    static void writeAnalysisDataYSP(Parameter* para, unsigned int t)
+    {
+        UbFileOutputASCII out(para->getFName() + "_AD_Y_" + StringUtil::toString<int>(t) + ".dat");
+
+        real level = 0; //uniform
+        int numberNodes = (int)para->getParH(level)->numberOfNodes;
+
+        real deltaX = 1.0f / pow(2, level);
+        real halfDx = deltaX / 2.0f;
+        real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
+
+        for (int u = 0; u < numberNodes; u++)
+        {
+            if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
+                ((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateY[u]) &&
+                ((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateY[u]))
+            {
+                out.writeDouble((double)(para->getParH(level)->velocityY[u]));
+            }
+        }
+    }
+
+    static void writeAnalysisDataZSP(Parameter* para, unsigned int t)
+    {
+        UbFileOutputASCII out(para->getFName() + "_AD_Z_" + StringUtil::toString<int>(t) + ".dat");
+
+        real level = 0; //uniform
+        int numberNodes = (int)para->getParH(level)->numberOfNodes;
+
+        real deltaX = 1.0f / pow(2, level);
+        real halfDx = deltaX / 2.0f;
+        real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
+
+        for (int u = 0; u < numberNodes; u++)
+        {
+            if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
+                ((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateY[u]) &&
+                ((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateY[u]))
+            {
+                out.writeDouble((double)(para->getParH(level)->velocityZ[u]));
+            }
+        }
+    }
 
 protected:
 private:
diff --git a/src/gpu/core/Output/ClogWriter.h b/src/gpu/core/Output/ClogWriter.h
index 73759cd83f396a947f1fe49dd349218dd292fc5e..89f5f3412506a6de604a166422ec272aca0b60e0 100644
--- a/src/gpu/core/Output/ClogWriter.h
+++ b/src/gpu/core/Output/ClogWriter.h
@@ -15,4 +15,4 @@ private:
    int data;
 };
 #endif
-#endif	//CLOGWRITER_H
+#endif    //CLOGWRITER_H
diff --git a/src/gpu/core/Output/DataWriter.h b/src/gpu/core/Output/DataWriter.h
index 51bc38565803c4393665943d1159884a47246ba7..1cee5a008ebb26cf9f05403bcfff6396d43f3711 100644
--- a/src/gpu/core/Output/DataWriter.h
+++ b/src/gpu/core/Output/DataWriter.h
@@ -19,6 +19,6 @@ public:
 
     virtual void writeInit(std::shared_ptr<Parameter> para, std::shared_ptr<CudaMemoryManager> cudaMemoryManager) = 0;
     virtual void writeTimestep(std::shared_ptr<Parameter> para, unsigned int timestep) = 0;
-	virtual void writeTimestep(std::shared_ptr<Parameter> para, unsigned int timestep, int level) = 0;
+    virtual void writeTimestep(std::shared_ptr<Parameter> para, unsigned int timestep, int level) = 0;
 };
 #endif
diff --git a/src/gpu/core/Output/DistributionDebugWriter.cpp b/src/gpu/core/Output/DistributionDebugWriter.cpp
index d11d63e62563405252c9a5fb5fe00124bf8b33af..d3903e064275fbaee4e0e4f5572ce881968202a3 100644
--- a/src/gpu/core/Output/DistributionDebugWriter.cpp
+++ b/src/gpu/core/Output/DistributionDebugWriter.cpp
@@ -4,21 +4,22 @@
 #include "Parameter/Parameter.h"
 #include "WriterUtilities.h"
 #include "FilePartCalculator.h"
+#include "GPU/CudaMemoryManager.h"
 
 using namespace vf::lbm::dir;
 
-void DistributionDebugWriter::writeDistributions(const Parameter* para, uint timestep)
+void DistributionDebugWriter::writeDistributions(const Parameter& para, uint timestep)
 {
-    for (int level = para->getCoarse(); level <= para->getFine(); level++) {
+    for (int level = para.getCoarse(); level <= para.getFine(); level++) {
         DistributionDebugWriter::writeDistributionsForLevel(para, level, timestep);
     }
 }
 
-void createFileNames(std::vector<std::string>& fileNames, uint numberOfParts, uint level, uint timestep, const Parameter* para)
+void createFileNames(std::vector<std::string>& fileNames, uint numberOfParts, uint level, uint timestep, const Parameter& para)
 {
     for (uint i = 1; i <= numberOfParts; i++) {
-        fileNames.push_back(para->getFName() + "_bin_distributions" +
-                            WriterUtilities::makePartFileNameEnding(level, para->getMyProcessID(), i, timestep));
+        fileNames.push_back(para.getFName() + "_bin_distributions" +
+                            WriterUtilities::makePartFileNameEnding(level, para.getMyProcessID(), i, timestep));
     }
 }
 
@@ -35,9 +36,9 @@ void createNodeDataNames(std::vector<std::string>& nodeDataNames)
     }
 }
 
-void DistributionDebugWriter::writeDistributionsForLevel(const Parameter* para, uint level, uint timestep)
+void DistributionDebugWriter::writeDistributionsForLevel(const Parameter& para, uint level, uint timestep)
 {
-    const LBMSimulationParameter& parH = para->getParHostAsReference(level);
+    const LBMSimulationParameter& parH = para.getParHostAsReference(level);
     const uint numberOfParts = FilePartCalculator::calculateNumberOfParts(parH.numberOfNodes);
 
     std::vector<std::string> fileNames;
@@ -55,6 +56,10 @@ void DistributionDebugWriter::writeDistributionsForLevel(const Parameter* para,
 
     Distributions27 distributions = parH.distributions;
 
+    if (distributions.f[0] == nullptr)
+        throw std::runtime_error("Distributions (distributions.f[0]) at level " + std::to_string(level) +
+                                 " are not allocated on the host. Can't write distributions.");
+
     for (unsigned int part = 0; part < numberOfParts; part++) {
         sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(parH.numberOfNodes, part);
         startPosition = FilePartCalculator::calculateStartingPostionOfPart(part);
@@ -96,3 +101,29 @@ void DistributionDebugWriter::writeDistributionsForLevel(const Parameter* para,
         VF_LOG_DEBUG("DistributionDebugWriter wrote to {} ", fileName);
     }
 }
+
+void DistributionDebugWriter::allocateDistributionsOnHost(const CudaMemoryManager& cudaMemoryManager)
+{
+    cudaMemoryManager.cudaAllocFsForAllLevelsOnHost();
+}
+
+void DistributionDebugWriter::allocateDistributionsOnHost(const CudaMemoryManager& cudaMemoryManager, uint level)
+{
+    cudaMemoryManager.cudaAllocFsForCheckPointAndRestart(level);
+}
+
+void DistributionDebugWriter::copyDistributionsToHost(const Parameter& para, const CudaMemoryManager& cudaMemoryManager)
+{
+    for (int level = 0; level <= para.getMaxLevel(); level++)
+        DistributionDebugWriter::copyDistributionsToHost(para, cudaMemoryManager, level);
+}
+
+void DistributionDebugWriter::copyDistributionsToHost(const Parameter& para, const CudaMemoryManager& cudaMemoryManager,
+                                                      uint level)
+{
+
+    if (para.getParHostAsReference(level).distributions.f[0] == nullptr)
+        throw std::runtime_error("Distributions (distributions.f[0]) at level " + std::to_string(level) +
+                                 " are not allocated on the host. Can't copy distributions to host");
+    cudaMemoryManager.cudaCopyFsForCheckPoint(level);
+}
diff --git a/src/gpu/core/Output/DistributionDebugWriter.h b/src/gpu/core/Output/DistributionDebugWriter.h
index e789fdbc51f0b225a64bb0d6b0043416e8da2b90..4b4fcf96c6d98e69983665c178dc3b282e1ac54d 100644
--- a/src/gpu/core/Output/DistributionDebugWriter.h
+++ b/src/gpu/core/Output/DistributionDebugWriter.h
@@ -4,12 +4,33 @@
 #include <basics/DataTypes.h>
 
 class Parameter;
+class CudaMemoryManager;
 
+//! \brief Functions to write the distributions ("f's") to a VTK-file
+//! \details to make this work, the distributions need to be copied to the host. This can be slow!
 class DistributionDebugWriter
 {
 public:
-    static void writeDistributions(const Parameter* para, uint timestep);
-    static void writeDistributionsForLevel(const Parameter* para, uint level, uint timestep);
+    //! \brief allocate memory for the distributions on the host
+    //! \details Call only once. If no memory is allocated, error
+    static void allocateDistributionsOnHost(const CudaMemoryManager& cudaMemoryManager);
+    //! \param level allocate memory for the specified level only
+    static void allocateDistributionsOnHost(const CudaMemoryManager& cudaMemoryManager, uint level);
+
+    //! \brief Copy distributions from device to host. Call this function before writing data
+    //! \details copies data for all levels
+    static void copyDistributionsToHost(const Parameter& para, const CudaMemoryManager& cudaMemoryManager);
+    //! \param level allocate memory for the specified level only
+    static void copyDistributionsToHost(const Parameter& para, const CudaMemoryManager& cudaMemoryManager, uint level);
+
+    //! \brief write the distributions for all levels
+    //! \details for this to work the distributions have to be allocated on the host and have to be copied to the host for
+    //! the current timestep
+    static void writeDistributions(const Parameter& para, uint timestep);
+    //! \brief write the distributions for one level
+    //! \details for this to work the distributions have to be allocated on the host and have to be copied to the host for
+    //! the current timestep
+    static void writeDistributionsForLevel(const Parameter& para, uint level, uint timestep);
 };
 
 #endif
diff --git a/src/gpu/core/Output/DistributionDebugWriterTest.cpp b/src/gpu/core/Output/DistributionDebugWriterTest.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..0ab517b97818af1939bdf718c96e8876015624ed
--- /dev/null
+++ b/src/gpu/core/Output/DistributionDebugWriterTest.cpp
@@ -0,0 +1,20 @@
+#include "DistributionDebugWriter.h"
+#include "GPU/CudaMemoryManager.h"
+#include "Utilities/testUtilitiesGPU.h"
+#include <gmock/gmock.h>
+
+TEST(DistributionDebugWriterTest, DistributionsAreNotAllocated_CopyDistributions_ShouldThrow)
+{
+    const auto para = testingVF::createParameterForLevel(0);
+    const CudaMemoryManager cudaMemoryManager(para);
+
+    EXPECT_THROW(DistributionDebugWriter::copyDistributionsToHost(*para, cudaMemoryManager), std::runtime_error);
+}
+
+TEST(DistributionDebugWriterTest, DistributionsAreNotAllocated_WriteDistributions_ShouldThrow)
+{
+    const auto para = testingVF::createParameterForLevel(0);
+    const CudaMemoryManager cudaMemoryManager(para);
+
+    EXPECT_THROW(DistributionDebugWriter::writeDistributions(*para, 0), std::runtime_error);
+}
diff --git a/src/gpu/core/Output/MeasurePointWriter.hpp b/src/gpu/core/Output/MeasurePointWriter.hpp
index c4f5e1413860fd0ad4b548090b6ad72af6384765..9ea6d048e7c214d4f6e5bf54cc31ebea9ac3760b 100644
--- a/src/gpu/core/Output/MeasurePointWriter.hpp
+++ b/src/gpu/core/Output/MeasurePointWriter.hpp
@@ -18,277 +18,277 @@
 class MeasurePointWriter
 {
 public:
-	MeasurePointWriter(){}
-	~MeasurePointWriter(){}
-
-	static void writeMeasurePoints(Parameter* para, int level, int index, int t)
-	{
-		std::ostringstream convert;   // stream used for the conversion
-		convert << t;      // insert the textual representation of 'Number' in the characters in the stream
-		std::string st = convert.str();
-		UbFileOutputASCII out(para->getFName()+"_MeasurePoint_"+para->getParH(level)->MP[index].name+"_"+st+".dat");
-
-		out.writeString("Level:");
-		out.writeInteger(level);
-		out.writeLine();
-		out.writeString("Vx  Vy  Vz  Rho");
-		out.writeLine();
-		int numberNodes = (int)para->getParH(level)->MP[index].Rho.size();
-		out.writeInteger(numberNodes);
-		out.writeLine();
-		for(int u=0; u<numberNodes; u++)
-		{
-			out.writeFloat((float)(para->getParH(level)->MP[index].Vx[u] * para->getVelocityRatio()));
-			out.writeFloat((float)(para->getParH(level)->MP[index].Vy[u] * para->getVelocityRatio()));
-			out.writeFloat((float)(para->getParH(level)->MP[index].Vz[u] * para->getVelocityRatio()));
-			out.writeFloat((float)(para->getParH(level)->MP[index].Rho[u] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio()));
-			out.writeLine();
-		}
-		out.writeLine();
-	}
-
-	static void writeTestAcousticXY(Parameter* para, int level, int t)
-	{
+    MeasurePointWriter(){}
+    ~MeasurePointWriter(){}
+
+    static void writeMeasurePoints(Parameter* para, int level, int index, int t)
+    {
+        std::ostringstream convert;   // stream used for the conversion
+        convert << t;      // insert the textual representation of 'Number' in the characters in the stream
+        std::string st = convert.str();
+        UbFileOutputASCII out(para->getFName()+"_MeasurePoint_"+para->getParH(level)->MP[index].name+"_"+st+".dat");
+
+        out.writeString("Level:");
+        out.writeInteger(level);
+        out.writeLine();
+        out.writeString("Vx  Vy  Vz  Rho");
+        out.writeLine();
+        int numberNodes = (int)para->getParH(level)->MP[index].Rho.size();
+        out.writeInteger(numberNodes);
+        out.writeLine();
+        for(int u=0; u<numberNodes; u++)
+        {
+            out.writeFloat((float)(para->getParH(level)->MP[index].Vx[u] * para->getVelocityRatio()));
+            out.writeFloat((float)(para->getParH(level)->MP[index].Vy[u] * para->getVelocityRatio()));
+            out.writeFloat((float)(para->getParH(level)->MP[index].Vz[u] * para->getVelocityRatio()));
+            out.writeFloat((float)(para->getParH(level)->MP[index].Rho[u] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio()));
+            out.writeLine();
+        }
+        out.writeLine();
+    }
+
+    static void writeTestAcousticXY(Parameter* para, int level, int t)
+    {
         std::ostringstream convert;   // stream used for the conversion
-		convert << t;      // insert the textual representation of 'Number' in the characters in the stream
-		std::string st = convert.str();
+        convert << t;      // insert the textual representation of 'Number' in the characters in the stream
+        std::string st = convert.str();
         std::ostringstream convertLevel;   // stream used for the conversion
-		convertLevel << level;      // insert the textual representation of 'Number' in the characters in the stream
-		std::string sLevel = convertLevel.str();
-
-		UbFileOutputASCII out(para->getFName() + "_timestep_" + st + "_level_" + sLevel + "_XY.dat");
-
-		int numberNodes = (int)para->getParH(level)->numberOfNodes;
-		
-		real deltaX = 1.0f / pow(2, level);
-		real halfDx = deltaX / 2.0f;
-		real middleOfTheGrid = (para->getMaxCoordZ()[0] + para->getMinCoordZ()[0]) / 2.f;
-		//cout << "deltax: " << deltaX << ", halfDx: " << halfDx << ", middle of the grid: " << middleOfTheGrid << endl;
-
-		for (int u = 0; u < numberNodes; u++)
-		{
-			if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
-				((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateZ[u]) &&
-				((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateZ[u]) )
-			{
-				out.writeFloat((float)(para->getParH(level)->rho[u]));
-				out.writeFloat((float)(para->getParH(level)->pressure[u]));
-				out.writeFloat((float)(para->getParH(level)->coordinateX[u]));
-				out.writeFloat((float)(para->getParH(level)->coordinateY[u]));
-				out.writeLine();
-			}
-		}
-	}
-
-	static void writeTestAcousticYZ(Parameter* para, int level, int t)
-	{
+        convertLevel << level;      // insert the textual representation of 'Number' in the characters in the stream
+        std::string sLevel = convertLevel.str();
+
+        UbFileOutputASCII out(para->getFName() + "_timestep_" + st + "_level_" + sLevel + "_XY.dat");
+
+        int numberNodes = (int)para->getParH(level)->numberOfNodes;
+        
+        real deltaX = 1.0f / pow(2, level);
+        real halfDx = deltaX / 2.0f;
+        real middleOfTheGrid = (para->getMaxCoordZ()[0] + para->getMinCoordZ()[0]) / 2.f;
+        //cout << "deltax: " << deltaX << ", halfDx: " << halfDx << ", middle of the grid: " << middleOfTheGrid << endl;
+
+        for (int u = 0; u < numberNodes; u++)
+        {
+            if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
+                ((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateZ[u]) &&
+                ((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateZ[u]) )
+            {
+                out.writeFloat((float)(para->getParH(level)->rho[u]));
+                out.writeFloat((float)(para->getParH(level)->pressure[u]));
+                out.writeFloat((float)(para->getParH(level)->coordinateX[u]));
+                out.writeFloat((float)(para->getParH(level)->coordinateY[u]));
+                out.writeLine();
+            }
+        }
+    }
+
+    static void writeTestAcousticYZ(Parameter* para, int level, int t)
+    {
         std::ostringstream convert;   // stream used for the conversion
-		convert << t;      // insert the textual representation of 'Number' in the characters in the stream
-		std::string st = convert.str();
+        convert << t;      // insert the textual representation of 'Number' in the characters in the stream
+        std::string st = convert.str();
         std::ostringstream convertLevel;   // stream used for the conversion
-		convertLevel << level;      // insert the textual representation of 'Number' in the characters in the stream
-		std::string sLevel = convertLevel.str();
-
-		UbFileOutputASCII out(para->getFName() + "_timestep_" + st + "_level_" + sLevel + "_YZ.dat");
-
-		int numberNodes = (int)para->getParH(level)->numberOfNodes;
-
-		real deltaX = 1.0f / pow(2, level);
-		real halfDx = deltaX / 2.0f;
-		real middleOfTheGrid = (para->getMaxCoordX()[0] + para->getMinCoordX()[0]) / 2.f;
-
-		for (int u = 0; u < numberNodes; u++)
-		{
-			if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
-				((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateX[u]) &&
-				((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateX[u]))
-			{
-				out.writeFloat((float)(para->getParH(level)->rho[u]));
-				out.writeFloat((float)(para->getParH(level)->pressure[u]));
-				out.writeFloat((float)(para->getParH(level)->coordinateY[u]));
-				out.writeFloat((float)(para->getParH(level)->coordinateZ[u]));
-				out.writeLine();
-			}
-		}
-	}
-
-	static void writeTestAcousticXZ(Parameter* para, int level, int t)
-	{
+        convertLevel << level;      // insert the textual representation of 'Number' in the characters in the stream
+        std::string sLevel = convertLevel.str();
+
+        UbFileOutputASCII out(para->getFName() + "_timestep_" + st + "_level_" + sLevel + "_YZ.dat");
+
+        int numberNodes = (int)para->getParH(level)->numberOfNodes;
+
+        real deltaX = 1.0f / pow(2, level);
+        real halfDx = deltaX / 2.0f;
+        real middleOfTheGrid = (para->getMaxCoordX()[0] + para->getMinCoordX()[0]) / 2.f;
+
+        for (int u = 0; u < numberNodes; u++)
+        {
+            if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
+                ((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateX[u]) &&
+                ((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateX[u]))
+            {
+                out.writeFloat((float)(para->getParH(level)->rho[u]));
+                out.writeFloat((float)(para->getParH(level)->pressure[u]));
+                out.writeFloat((float)(para->getParH(level)->coordinateY[u]));
+                out.writeFloat((float)(para->getParH(level)->coordinateZ[u]));
+                out.writeLine();
+            }
+        }
+    }
+
+    static void writeTestAcousticXZ(Parameter* para, int level, int t)
+    {
         std::ostringstream convert;   // stream used for the conversion
-		convert << t;      // insert the textual representation of 'Number' in the characters in the stream
-		std::string st = convert.str();
+        convert << t;      // insert the textual representation of 'Number' in the characters in the stream
+        std::string st = convert.str();
         std::ostringstream convertLevel;   // stream used for the conversion
-		convertLevel << level;      // insert the textual representation of 'Number' in the characters in the stream
-		std::string sLevel = convertLevel.str();
-
-		UbFileOutputASCII out(para->getFName() + "_timestep_" + st + "_level_" + sLevel + "_XZ.dat");
-
-		int numberNodes = (int)para->getParH(level)->numberOfNodes;
-
-		real deltaX = 1.0f / pow(2, level);
-		real halfDx = deltaX / 2.0f;
-		real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
-
-		for (int u = 0; u < numberNodes; u++)
-		{
-			if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
-				((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateY[u]) &&
-				((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateY[u]))
-			{
-				out.writeFloat((float)(para->getParH(level)->rho[u]));
-				out.writeFloat((float)(para->getParH(level)->pressure[u]));
-				out.writeFloat((float)(para->getParH(level)->coordinateX[u]));
-				out.writeFloat((float)(para->getParH(level)->coordinateZ[u]));
-				out.writeLine();
-			}
-		}
-	}
-
-	static void calcAndWriteMeanAndFluctuations(Parameter* para, int level, int t, unsigned int startOfCalculation)
-	{
-		//calc
-		int numberNodes = (int)para->getParH(level)->MP.size();
-		std::vector<double> uMean(numberNodes);
-		std::vector<double> vMean(numberNodes);
-		std::vector<double> wMean(numberNodes);
-		std::vector<double> uuMean(numberNodes);
-		std::vector<double> vvMean(numberNodes);
-		std::vector<double> wwMean(numberNodes);
-		std::vector<double> uvMean(numberNodes);
-		std::vector<double> uwMean(numberNodes);
-		std::vector<double> vwMean(numberNodes);
-
-		int numberSteps = (int)para->getParH(level)->MP[0].Vx.size();
-
-		std::vector<double> uuFluct(t);
-		std::vector<double> vvFluct(t);
-		std::vector<double> wwFluct(t);
-		std::vector<double> uvFluct(t);
-		std::vector<double> uwFluct(t);
-		std::vector<double> vwFluct(t);
-
-		for (int index = 0; index < numberNodes; index++)
-		{
-			//uMean[index] = std::accumulate(para->getParH(level)->MP[index].Vx.begin() + (startOfCalculation - 1), para->getParH(level)->MP[index].Vx.end(), 0.0) / double(t - startOfCalculation);
-			//vMean[index] = std::accumulate(para->getParH(level)->MP[index].Vy.begin() + (startOfCalculation - 1), para->getParH(level)->MP[index].Vy.end(), 0.0) / double(t - startOfCalculation);
-			//wMean[index] = std::accumulate(para->getParH(level)->MP[index].Vz.begin() + (startOfCalculation - 1), para->getParH(level)->MP[index].Vz.end(), 0.0) / double(t - startOfCalculation);
-
-			uMean[index] = 0.0;
-			vMean[index] = 0.0;
-			wMean[index] = 0.0;
-
-			for (int step = startOfCalculation; step < t; step++)
-			{
-				uMean[index] += para->getParH(level)->MP[index].Vx[step];
-				vMean[index] += para->getParH(level)->MP[index].Vy[step];
-				wMean[index] += para->getParH(level)->MP[index].Vz[step];
-			}
-
-			uMean[index] /= double(t - startOfCalculation);
-			vMean[index] /= double(t - startOfCalculation);
-			wMean[index] /= double(t - startOfCalculation);
-
-			for (int step = 0; step < t; step++)
-			{
-				uuFluct[step] = (para->getParH(level)->MP[index].Vx[step] - uMean[index]) * (para->getParH(level)->MP[index].Vx[step] - uMean[index]);
-				vvFluct[step] = (para->getParH(level)->MP[index].Vy[step] - vMean[index]) * (para->getParH(level)->MP[index].Vy[step] - vMean[index]);
-				wwFluct[step] = (para->getParH(level)->MP[index].Vz[step] - wMean[index]) * (para->getParH(level)->MP[index].Vz[step] - wMean[index]);
-
-				uvFluct[step] = (para->getParH(level)->MP[index].Vx[step] - uMean[index]) * (para->getParH(level)->MP[index].Vy[step] - vMean[index]);
-				uwFluct[step] = (para->getParH(level)->MP[index].Vx[step] - uMean[index]) * (para->getParH(level)->MP[index].Vz[step] - wMean[index]);
-				vwFluct[step] = (para->getParH(level)->MP[index].Vy[step] - vMean[index]) * (para->getParH(level)->MP[index].Vz[step] - wMean[index]);
-			}
-
-			//uuMean[index] = std::accumulate(uuFluct.begin() + (startOfCalculation - 1), uuFluct.end(), 0.0) / double(t - startOfCalculation);
-			//vvMean[index] = std::accumulate(vvFluct.begin() + (startOfCalculation - 1), vvFluct.end(), 0.0) / double(t - startOfCalculation);
-			//wwMean[index] = std::accumulate(wwFluct.begin() + (startOfCalculation - 1), wwFluct.end(), 0.0) / double(t - startOfCalculation);
-
-			//uvMean[index] = std::accumulate(uvFluct.begin() + (startOfCalculation - 1), uvFluct.end(), 0.0) / double(t - startOfCalculation);
-			//uwMean[index] = std::accumulate(uwFluct.begin() + (startOfCalculation - 1), uwFluct.end(), 0.0) / double(t - startOfCalculation);
-			//vwMean[index] = std::accumulate(vwFluct.begin() + (startOfCalculation - 1), vwFluct.end(), 0.0) / double(t - startOfCalculation);
-
-			uuMean[index] = 0.0;
-			vvMean[index] = 0.0;
-			wwMean[index] = 0.0;
-
-			uvMean[index] = 0.0;
-			uwMean[index] = 0.0;
-			vwMean[index] = 0.0;
-
-			for (int step = startOfCalculation; step < t; step++)
-			{
-				uuMean[index] += uuFluct[step];
-				vvMean[index] += vvFluct[step];
-				wwMean[index] += wwFluct[step];
-
-				uvMean[index] += uvFluct[step];
-				uwMean[index] += uwFluct[step];
-				vwMean[index] += vwFluct[step];
-			}
-
-			uuMean[index] /= double(t - startOfCalculation);
-			vvMean[index] /= double(t - startOfCalculation);
-			wwMean[index] /= double(t - startOfCalculation);
-
-			uvMean[index] /= double(t - startOfCalculation);
-			uwMean[index] /= double(t - startOfCalculation);
-			vwMean[index] /= double(t - startOfCalculation);
-
-		}
-
-		std::cout << "level: " << level << ", t: " << t << ", startOfCalculation= " << startOfCalculation << ", numberSteps: " << numberSteps << std::endl;
-
-		//write
-		UbFileOutputASCII out(para->getFName() + "_MeanAndFluct_" + std::to_string(level) + "_" + std::to_string(t) + ".dat");
-
-		out.writeString("Level:");
-		out.writeInteger(level);
-		out.writeLine();
-		out.writeString("PointName uMean  vMean  wMean  uuMean  vvMean  wwMean  uvMean  uwMean  vwMean");
-		out.writeLine();
-		out.writeInteger(numberNodes);
-		out.writeLine();
-		for (int index = 0; index < numberNodes; index++)
-		{
-			out.writeString(para->getParH(level)->MP[index].name);
-			out.writeFloat((float)(uMean[index]  * para->getVelocityRatio()));
-			out.writeFloat((float)(vMean[index]  * para->getVelocityRatio()));
-			out.writeFloat((float)(wMean[index]  * para->getVelocityRatio()));
-			out.writeFloat((float)(uuMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
-			out.writeFloat((float)(vvMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
-			out.writeFloat((float)(wwMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
-			out.writeFloat((float)(uvMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
-			out.writeFloat((float)(uwMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
-			out.writeFloat((float)(vwMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
-			out.writeLine();
-		}
-		out.writeLine();
-	}
-
-	static void writeNodes(SPtr<Parameter> para, int level)
-	{
+        convertLevel << level;      // insert the textual representation of 'Number' in the characters in the stream
+        std::string sLevel = convertLevel.str();
+
+        UbFileOutputASCII out(para->getFName() + "_timestep_" + st + "_level_" + sLevel + "_XZ.dat");
+
+        int numberNodes = (int)para->getParH(level)->numberOfNodes;
+
+        real deltaX = 1.0f / pow(2, level);
+        real halfDx = deltaX / 2.0f;
+        real middleOfTheGrid = (para->getMaxCoordY()[0] + para->getMinCoordY()[0]) / 2.f;
+
+        for (int u = 0; u < numberNodes; u++)
+        {
+            if ((para->getParH(level)->typeOfGridNode[u] == GEO_FLUID) &&
+                ((middleOfTheGrid - halfDx) <= para->getParH(level)->coordinateY[u]) &&
+                ((middleOfTheGrid + halfDx) >= para->getParH(level)->coordinateY[u]))
+            {
+                out.writeFloat((float)(para->getParH(level)->rho[u]));
+                out.writeFloat((float)(para->getParH(level)->pressure[u]));
+                out.writeFloat((float)(para->getParH(level)->coordinateX[u]));
+                out.writeFloat((float)(para->getParH(level)->coordinateZ[u]));
+                out.writeLine();
+            }
+        }
+    }
+
+    static void calcAndWriteMeanAndFluctuations(Parameter* para, int level, int t, unsigned int startOfCalculation)
+    {
+        //calc
+        int numberNodes = (int)para->getParH(level)->MP.size();
+        std::vector<double> uMean(numberNodes);
+        std::vector<double> vMean(numberNodes);
+        std::vector<double> wMean(numberNodes);
+        std::vector<double> uuMean(numberNodes);
+        std::vector<double> vvMean(numberNodes);
+        std::vector<double> wwMean(numberNodes);
+        std::vector<double> uvMean(numberNodes);
+        std::vector<double> uwMean(numberNodes);
+        std::vector<double> vwMean(numberNodes);
+
+        int numberSteps = (int)para->getParH(level)->MP[0].Vx.size();
+
+        std::vector<double> uuFluct(t);
+        std::vector<double> vvFluct(t);
+        std::vector<double> wwFluct(t);
+        std::vector<double> uvFluct(t);
+        std::vector<double> uwFluct(t);
+        std::vector<double> vwFluct(t);
+
+        for (int index = 0; index < numberNodes; index++)
+        {
+            //uMean[index] = std::accumulate(para->getParH(level)->MP[index].Vx.begin() + (startOfCalculation - 1), para->getParH(level)->MP[index].Vx.end(), 0.0) / double(t - startOfCalculation);
+            //vMean[index] = std::accumulate(para->getParH(level)->MP[index].Vy.begin() + (startOfCalculation - 1), para->getParH(level)->MP[index].Vy.end(), 0.0) / double(t - startOfCalculation);
+            //wMean[index] = std::accumulate(para->getParH(level)->MP[index].Vz.begin() + (startOfCalculation - 1), para->getParH(level)->MP[index].Vz.end(), 0.0) / double(t - startOfCalculation);
+
+            uMean[index] = 0.0;
+            vMean[index] = 0.0;
+            wMean[index] = 0.0;
+
+            for (int step = startOfCalculation; step < t; step++)
+            {
+                uMean[index] += para->getParH(level)->MP[index].Vx[step];
+                vMean[index] += para->getParH(level)->MP[index].Vy[step];
+                wMean[index] += para->getParH(level)->MP[index].Vz[step];
+            }
+
+            uMean[index] /= double(t - startOfCalculation);
+            vMean[index] /= double(t - startOfCalculation);
+            wMean[index] /= double(t - startOfCalculation);
+
+            for (int step = 0; step < t; step++)
+            {
+                uuFluct[step] = (para->getParH(level)->MP[index].Vx[step] - uMean[index]) * (para->getParH(level)->MP[index].Vx[step] - uMean[index]);
+                vvFluct[step] = (para->getParH(level)->MP[index].Vy[step] - vMean[index]) * (para->getParH(level)->MP[index].Vy[step] - vMean[index]);
+                wwFluct[step] = (para->getParH(level)->MP[index].Vz[step] - wMean[index]) * (para->getParH(level)->MP[index].Vz[step] - wMean[index]);
+
+                uvFluct[step] = (para->getParH(level)->MP[index].Vx[step] - uMean[index]) * (para->getParH(level)->MP[index].Vy[step] - vMean[index]);
+                uwFluct[step] = (para->getParH(level)->MP[index].Vx[step] - uMean[index]) * (para->getParH(level)->MP[index].Vz[step] - wMean[index]);
+                vwFluct[step] = (para->getParH(level)->MP[index].Vy[step] - vMean[index]) * (para->getParH(level)->MP[index].Vz[step] - wMean[index]);
+            }
+
+            //uuMean[index] = std::accumulate(uuFluct.begin() + (startOfCalculation - 1), uuFluct.end(), 0.0) / double(t - startOfCalculation);
+            //vvMean[index] = std::accumulate(vvFluct.begin() + (startOfCalculation - 1), vvFluct.end(), 0.0) / double(t - startOfCalculation);
+            //wwMean[index] = std::accumulate(wwFluct.begin() + (startOfCalculation - 1), wwFluct.end(), 0.0) / double(t - startOfCalculation);
+
+            //uvMean[index] = std::accumulate(uvFluct.begin() + (startOfCalculation - 1), uvFluct.end(), 0.0) / double(t - startOfCalculation);
+            //uwMean[index] = std::accumulate(uwFluct.begin() + (startOfCalculation - 1), uwFluct.end(), 0.0) / double(t - startOfCalculation);
+            //vwMean[index] = std::accumulate(vwFluct.begin() + (startOfCalculation - 1), vwFluct.end(), 0.0) / double(t - startOfCalculation);
+
+            uuMean[index] = 0.0;
+            vvMean[index] = 0.0;
+            wwMean[index] = 0.0;
+
+            uvMean[index] = 0.0;
+            uwMean[index] = 0.0;
+            vwMean[index] = 0.0;
+
+            for (int step = startOfCalculation; step < t; step++)
+            {
+                uuMean[index] += uuFluct[step];
+                vvMean[index] += vvFluct[step];
+                wwMean[index] += wwFluct[step];
+
+                uvMean[index] += uvFluct[step];
+                uwMean[index] += uwFluct[step];
+                vwMean[index] += vwFluct[step];
+            }
+
+            uuMean[index] /= double(t - startOfCalculation);
+            vvMean[index] /= double(t - startOfCalculation);
+            wwMean[index] /= double(t - startOfCalculation);
+
+            uvMean[index] /= double(t - startOfCalculation);
+            uwMean[index] /= double(t - startOfCalculation);
+            vwMean[index] /= double(t - startOfCalculation);
+
+        }
+
+        std::cout << "level: " << level << ", t: " << t << ", startOfCalculation= " << startOfCalculation << ", numberSteps: " << numberSteps << std::endl;
+
+        //write
+        UbFileOutputASCII out(para->getFName() + "_MeanAndFluct_" + std::to_string(level) + "_" + std::to_string(t) + ".dat");
+
+        out.writeString("Level:");
+        out.writeInteger(level);
+        out.writeLine();
+        out.writeString("PointName uMean  vMean  wMean  uuMean  vvMean  wwMean  uvMean  uwMean  vwMean");
+        out.writeLine();
+        out.writeInteger(numberNodes);
+        out.writeLine();
+        for (int index = 0; index < numberNodes; index++)
+        {
+            out.writeString(para->getParH(level)->MP[index].name);
+            out.writeFloat((float)(uMean[index]  * para->getVelocityRatio()));
+            out.writeFloat((float)(vMean[index]  * para->getVelocityRatio()));
+            out.writeFloat((float)(wMean[index]  * para->getVelocityRatio()));
+            out.writeFloat((float)(uuMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
+            out.writeFloat((float)(vvMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
+            out.writeFloat((float)(wwMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
+            out.writeFloat((float)(uvMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
+            out.writeFloat((float)(uwMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
+            out.writeFloat((float)(vwMean[index] * para->getVelocityRatio() * para->getVelocityRatio()));
+            out.writeLine();
+        }
+        out.writeLine();
+    }
+
+    static void writeNodes(SPtr<Parameter> para, int level)
+    {
         std::ostringstream convert;   // stream used for the conversion
-		std::string st = convert.str();
-		UbFileOutputASCII out(para->getFName() + "_Nodes_" + std::to_string(level) + ".dat");
-
-		out.writeString("Level:");
-		out.writeInteger(level);
-		out.writeLine();
-		out.writeString("Index  Nx  Ny  Ny");
-		out.writeLine();
-		int numberNodes = (int)para->getParH(level)->numberOfNodes;
-		out.writeInteger(numberNodes);
-		out.writeLine();
-		for (int u = 0; u < numberNodes; u++)
-		{
-			out.writeInteger((int)(u));
-			out.writeInteger((int)(para->getParH(level)->neighborX[u]));
-			out.writeInteger((int)(para->getParH(level)->neighborY[u]));
-			out.writeInteger((int)(para->getParH(level)->neighborZ[u]));
-			out.writeLine();
-		}
-		out.writeLine();
-	}
+        std::string st = convert.str();
+        UbFileOutputASCII out(para->getFName() + "_Nodes_" + std::to_string(level) + ".dat");
+
+        out.writeString("Level:");
+        out.writeInteger(level);
+        out.writeLine();
+        out.writeString("Index  Nx  Ny  Ny");
+        out.writeLine();
+        int numberNodes = (int)para->getParH(level)->numberOfNodes;
+        out.writeInteger(numberNodes);
+        out.writeLine();
+        for (int u = 0; u < numberNodes; u++)
+        {
+            out.writeInteger((int)(u));
+            out.writeInteger((int)(para->getParH(level)->neighborX[u]));
+            out.writeInteger((int)(para->getParH(level)->neighborY[u]));
+            out.writeInteger((int)(para->getParH(level)->neighborZ[u]));
+            out.writeLine();
+        }
+        out.writeLine();
+    }
 protected:
 
 private:
diff --git a/src/gpu/core/Output/OffsetWriter.hpp b/src/gpu/core/Output/OffsetWriter.hpp
index fb04951db68ae509dddc7d2fe52250489b54bde2..89ced349dd964edee50497b33ef461845609ce9d 100644
--- a/src/gpu/core/Output/OffsetWriter.hpp
+++ b/src/gpu/core/Output/OffsetWriter.hpp
@@ -7,47 +7,47 @@
 class OffsetWriter
 {
 public:
-	OffsetWriter(){}
-	~OffsetWriter(){}
+    OffsetWriter(){}
+    ~OffsetWriter(){}
 
-	static void writeOffset(Parameter* para, std::string Type)
-	{
-		UbFileOutputASCII out(para->getFName()+Type+".dat");
+    static void writeOffset(Parameter* para, std::string Type)
+    {
+        UbFileOutputASCII out(para->getFName()+Type+".dat");
 
-		out.writeInteger(para->getMaxLevel());
-		out.writeLine();
+        out.writeInteger(para->getMaxLevel());
+        out.writeLine();
 
-		if (Type == "_OffsetCF")
-		{
-			for (int level = 0; level < para->getMaxLevel(); level++)
-			{
+        if (Type == "_OffsetCF")
+        {
+            for (int level = 0; level < para->getMaxLevel(); level++)
+            {
                 out.writeInteger(para->getParH(level)->coarseToFine.numberOfCells);
-				out.writeLine();
+                out.writeLine();
                 for (unsigned int u = 0; u < para->getParH(level)->coarseToFine.numberOfCells; u++)
-				{
-					out.writeDouble(para->getParH(level)->neighborCoarseToFine.x[u]);
-					out.writeDouble(para->getParH(level)->neighborCoarseToFine.y[u]);
-					out.writeDouble(para->getParH(level)->neighborCoarseToFine.z[u]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-		else if (Type == "_OffsetFC")
-		{
-			for (int level = 0; level < para->getMaxLevel(); level++)
-			{
+                {
+                    out.writeDouble(para->getParH(level)->neighborCoarseToFine.x[u]);
+                    out.writeDouble(para->getParH(level)->neighborCoarseToFine.y[u]);
+                    out.writeDouble(para->getParH(level)->neighborCoarseToFine.z[u]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+        else if (Type == "_OffsetFC")
+        {
+            for (int level = 0; level < para->getMaxLevel(); level++)
+            {
                 out.writeInteger(para->getParH(level)->fineToCoarse.numberOfCells);
-				out.writeLine();
+                out.writeLine();
                 for (unsigned int u = 0; u < para->getParH(level)->fineToCoarse.numberOfCells; u++)
-				{
-					out.writeDouble(para->getParH(level)->neighborFineToCoarse.x[u]);
-					out.writeDouble(para->getParH(level)->neighborFineToCoarse.y[u]);
-					out.writeDouble(para->getParH(level)->neighborFineToCoarse.z[u]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-	}
+                {
+                    out.writeDouble(para->getParH(level)->neighborFineToCoarse.x[u]);
+                    out.writeDouble(para->getParH(level)->neighborFineToCoarse.y[u]);
+                    out.writeDouble(para->getParH(level)->neighborFineToCoarse.z[u]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+    }
 protected:
 private:
 };
diff --git a/src/gpu/core/Output/PosVecIntWriter.hpp b/src/gpu/core/Output/PosVecIntWriter.hpp
index d7eab31d639d23d2356263aa8b152d69b3c042b8..c927cc6953c1ab80c8ea3bd71411aa58159db6ea 100644
--- a/src/gpu/core/Output/PosVecIntWriter.hpp
+++ b/src/gpu/core/Output/PosVecIntWriter.hpp
@@ -24,69 +24,69 @@
 class PositionVectorIntegerWriter
 {
 public:
-	PositionVectorIntegerWriter(){}
-	~PositionVectorIntegerWriter(){}
+    PositionVectorIntegerWriter(){}
+    ~PositionVectorIntegerWriter(){}
 
-	static void writePositionInterface(Parameter* para, std::string Type)
-	{
-		UbFileOutputASCII out(para->getFName()+Type+".dat");
+    static void writePositionInterface(Parameter* para, std::string Type)
+    {
+        UbFileOutputASCII out(para->getFName()+Type+".dat");
 
-		out.writeInteger(para->getMaxLevel());
-		out.writeLine();
+        out.writeInteger(para->getMaxLevel());
+        out.writeLine();
 
-		if (Type == "_InterfaceCFC")
-		{
-			for (int level = 0; level < para->getMaxLevel(); level++)
-			{
+        if (Type == "_InterfaceCFC")
+        {
+            for (int level = 0; level < para->getMaxLevel(); level++)
+            {
                 out.writeInteger(para->getParH(level)->coarseToFine.numberOfCells);
-				out.writeLine();
+                out.writeLine();
                 for (unsigned int u = 0; u < para->getParH(level)->coarseToFine.numberOfCells; u++)
-				{
-					out.writeInteger(para->getParH(level)->coarseToFine.coarseCellIndices[u]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-		else if (Type == "_InterfaceCFF")
-		{
-			for (int level = 0; level < para->getMaxLevel(); level++)
-			{
+                {
+                    out.writeInteger(para->getParH(level)->coarseToFine.coarseCellIndices[u]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+        else if (Type == "_InterfaceCFF")
+        {
+            for (int level = 0; level < para->getMaxLevel(); level++)
+            {
                 out.writeInteger(para->getParH(level)->coarseToFine.numberOfCells);
-				out.writeLine();
+                out.writeLine();
                 for (unsigned int u = 0; u < para->getParH(level)->coarseToFine.numberOfCells; u++)
-				{
-					out.writeInteger(para->getParH(level)->coarseToFine.fineCellIndices[u]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-		else if (Type == "_InterfaceFCC")
-		{
-			for (int level = 0; level < para->getMaxLevel(); level++)
-			{
+                {
+                    out.writeInteger(para->getParH(level)->coarseToFine.fineCellIndices[u]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+        else if (Type == "_InterfaceFCC")
+        {
+            for (int level = 0; level < para->getMaxLevel(); level++)
+            {
                 out.writeInteger(para->getParH(level)->fineToCoarse.numberOfCells);
-				out.writeLine();
+                out.writeLine();
                 for (unsigned int u = 0; u < para->getParH(level)->fineToCoarse.numberOfCells; u++)
-				{
-					out.writeInteger(para->getParH(level)->fineToCoarse.coarseCellIndices[u]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-		else if (Type == "_InterfaceFCF")
-		{
-			for (int level = 0; level < para->getMaxLevel(); level++)
-			{
+                {
+                    out.writeInteger(para->getParH(level)->fineToCoarse.coarseCellIndices[u]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+        else if (Type == "_InterfaceFCF")
+        {
+            for (int level = 0; level < para->getMaxLevel(); level++)
+            {
                 out.writeInteger(para->getParH(level)->fineToCoarse.numberOfCells);
-				out.writeLine();
+                out.writeLine();
                 for (unsigned int u = 0; u < para->getParH(level)->fineToCoarse.numberOfCells; u++)
-				{
-					out.writeInteger(para->getParH(level)->fineToCoarse.fineCellIndices[u]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-	}
+                {
+                    out.writeInteger(para->getParH(level)->fineToCoarse.fineCellIndices[u]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+    }
 protected:
 private:
 };
diff --git a/src/gpu/core/Output/PosWriter.hpp b/src/gpu/core/Output/PosWriter.hpp
index ce611d25d1aa3f9e98840a0f04d9b2045d0a224f..fed46cfe588dbf9f8e15236cc48034a3bbed1bc8 100644
--- a/src/gpu/core/Output/PosWriter.hpp
+++ b/src/gpu/core/Output/PosWriter.hpp
@@ -17,69 +17,69 @@
 class PositionWriter
 {
 public:
-	PositionWriter(){}
-	~PositionWriter(){}
+    PositionWriter(){}
+    ~PositionWriter(){}
 
-	static void writePosition(Parameter* para, std::string Type)
-	{
-		UbFileOutputASCII out(para->getFName()+Type+".dat");
+    static void writePosition(Parameter* para, std::string Type)
+    {
+        UbFileOutputASCII out(para->getFName()+Type+".dat");
 
-		out.writeInteger(para->getMaxLevel());
-		out.writeLine();
+        out.writeInteger(para->getMaxLevel());
+        out.writeLine();
 
-		if (Type == "_geoSP")
-		{
-			for (int level = 0; level <= para->getMaxLevel(); level++)
-			{
-				out.writeInteger(para->getParH(level)->numberOfNodes);
-				out.writeLine();
-				for(size_t index = 0; index < para->getParH(level)->numberOfNodes; index++)
-				{
-					out.writeInteger(para->getParH(level)->typeOfGridNode[index]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-		else if (Type == "_neighborX_SP")
-		{
-			for (int level = 0; level <= para->getMaxLevel(); level++)
-			{
-				out.writeInteger(para->getParH(level)->numberOfNodes);
-				out.writeLine();
+        if (Type == "_geoSP")
+        {
+            for (int level = 0; level <= para->getMaxLevel(); level++)
+            {
+                out.writeInteger(para->getParH(level)->numberOfNodes);
+                out.writeLine();
+                for(size_t index = 0; index < para->getParH(level)->numberOfNodes; index++)
+                {
+                    out.writeInteger(para->getParH(level)->typeOfGridNode[index]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+        else if (Type == "_neighborX_SP")
+        {
+            for (int level = 0; level <= para->getMaxLevel(); level++)
+            {
+                out.writeInteger(para->getParH(level)->numberOfNodes);
+                out.writeLine();
                 for (size_t index = 0; index < para->getParH(level)->numberOfNodes; index++)
-				{
-					out.writeInteger(para->getParH(level)->neighborX[index]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-		else if (Type == "_neighborY_SP")
-		{
-			for (int level = 0; level <= para->getMaxLevel(); level++)
-			{
-				out.writeInteger(para->getParH(level)->numberOfNodes);
-				out.writeLine();
+                {
+                    out.writeInteger(para->getParH(level)->neighborX[index]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+        else if (Type == "_neighborY_SP")
+        {
+            for (int level = 0; level <= para->getMaxLevel(); level++)
+            {
+                out.writeInteger(para->getParH(level)->numberOfNodes);
+                out.writeLine();
                 for (size_t index = 0; index < para->getParH(level)->numberOfNodes; index++)
-				{
-					out.writeInteger(para->getParH(level)->neighborY[index]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-		else if (Type == "_neighborZ_SP")
-		{
-			for (int level = 0; level <= para->getMaxLevel(); level++)
-			{
-				out.writeInteger(para->getParH(level)->numberOfNodes);
-				out.writeLine();
+                {
+                    out.writeInteger(para->getParH(level)->neighborY[index]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+        else if (Type == "_neighborZ_SP")
+        {
+            for (int level = 0; level <= para->getMaxLevel(); level++)
+            {
+                out.writeInteger(para->getParH(level)->numberOfNodes);
+                out.writeLine();
                 for (size_t index = 0; index < para->getParH(level)->numberOfNodes; index++)
-				{
-					out.writeInteger(para->getParH(level)->neighborZ[index]);
-				}
-				out.writeLine();
-			} //end levelloop
-		}
-	}
+                {
+                    out.writeInteger(para->getParH(level)->neighborZ[index]);
+                }
+                out.writeLine();
+            } //end levelloop
+        }
+    }
 protected:
 private:
 };
diff --git a/src/gpu/core/Output/QDebugWriter.hpp b/src/gpu/core/Output/QDebugWriter.hpp
index d58526cab3b114e77bdb146053584795b05bac8a..b217aaf991d3b2867a82c7283a7b9f3fd6a0dce9 100644
--- a/src/gpu/core/Output/QDebugWriter.hpp
+++ b/src/gpu/core/Output/QDebugWriter.hpp
@@ -18,50 +18,50 @@ namespace QDebugWriter
     void writeQValues(QforBoundaryConditions &Q, int* k, int kq, const std::string &name)
     {
 
-		std::vector< std::vector<real> > qs;
-		for (int j = 0; j < kq; j++)
-		{
-			uint32_t qKey = 0;
-			std::vector<real> qNode;
+        std::vector< std::vector<real> > qs;
+        for (int j = 0; j < kq; j++)
+        {
+            uint32_t qKey = 0;
+            std::vector<real> qNode;
 
-			for (int i = 26; i >= 0; i--)
-			{
-				real q = Q.q27[i][j];
-				if (q > 0) {
-					qKey += (uint32_t)pow(2, 26 - i);
-					qNode.push_back(q);
-				}
-			}
-			if (qKey > 0) {
-				float transportKey = *((float*)&qKey);
-				qNode.push_back((real)transportKey);
-				qNode.push_back((real)k[j]);
-				qs.push_back(qNode);
-			}
-			qNode.clear();
+            for (int i = 26; i >= 0; i--)
+            {
+                real q = Q.q27[i][j];
+                if (q > 0) {
+                    qKey += (uint32_t)pow(2, 26 - i);
+                    qNode.push_back(q);
+                }
+            }
+            if (qKey > 0) {
+                float transportKey = *((float*)&qKey);
+                qNode.push_back((real)transportKey);
+                qNode.push_back((real)k[j]);
+                qs.push_back(qNode);
+            }
+            qNode.clear();
 
-		}
+        }
 
-		SPtr<std::ofstream> outQ(new std::ofstream);
-		outQ->open(name.c_str(), std::ios::out | std::ios::binary);
+        SPtr<std::ofstream> outQ(new std::ofstream);
+        outQ->open(name.c_str(), std::ios::out | std::ios::binary);
 
 
 
-		for (std::size_t index = 0; index < qs.size(); index++) {
-			std::vector<real> bcs = qs[index];
-			uint32_t key = *((uint32_t*)&bcs[bcs.size() - 2]);
-			int qIndex = (int)bcs[bcs.size() - 1];
+        for (std::size_t index = 0; index < qs.size(); index++) {
+            std::vector<real> bcs = qs[index];
+            uint32_t key = *((uint32_t*)&bcs[bcs.size() - 2]);
+            int qIndex = (int)bcs[bcs.size() - 1];
 
-			*outQ << qIndex << " " << key;
+            *outQ << qIndex << " " << key;
 
-			for (std::size_t i = 0; i < bcs.size() - 2; i++) {
-				*outQ << " " << std::fixed << std::setprecision(16) << bcs[i];
-			}
+            for (std::size_t i = 0; i < bcs.size() - 2; i++) {
+                *outQ << " " << std::fixed << std::setprecision(16) << bcs[i];
+            }
 
-			*outQ << "\n";
-		}
+            *outQ << "\n";
+        }
 
-		outQ->close();
+        outQ->close();
 
     }
 }
diff --git a/src/gpu/core/Output/UnstructuredGridWriter.hpp b/src/gpu/core/Output/UnstructuredGridWriter.hpp
index b86ed947879d94740f30668a9d53c4181d956ebf..df6bf0cc4fc2fc61b1d179528860c3bcc89e4a5f 100644
--- a/src/gpu/core/Output/UnstructuredGridWriter.hpp
+++ b/src/gpu/core/Output/UnstructuredGridWriter.hpp
@@ -16,183 +16,183 @@
 
 namespace UnstructuredGridWriter
 {
-	void writeUnstructuredGrid(Parameter* para, int level, std::string& fname, std::string& filenameVec2) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("rho");
-		nodedatanames.push_back("vx1");
-		nodedatanames.push_back("vx2");
-		nodedatanames.push_back("vx3");
-		nodedatanames.push_back("geo");
-		//int number1,number2,number3,number4,number5,number6,number7,number8;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		bool neighborsFluid;
-
-		unsigned long long allnodes = para->getParH(level)->numberOfNodes * 8;
-
-		nodes.resize(allnodes);
-		nodedata[0].resize(allnodes);
-		nodedata[1].resize(allnodes);
-		nodedata[2].resize(allnodes);
-		nodedata[3].resize(allnodes);
-		nodedata[4].resize(allnodes);
-
-		unsigned int nodeCount = 0;
-		double nodeDeltaLevel = para->getParH(level)->dx;
-
-		for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
-		{
-			if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID /*!= GEO_VOID*/)
-			{
-				//////////////////////////////////////////////////////////////////////////
-				double ix1  = para->getParH(level)->coordinateX[pos];//-STARTOFFX;
-				double ix2  = para->getParH(level)->coordinateY[pos];//-STARTOFFY;
-				double ix3  = para->getParH(level)->coordinateZ[pos];//-STARTOFFZ;
-				double ix1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];//-STARTOFFX;
-				double ix2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];//-STARTOFFY;
-				double ix3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];//-STARTOFFZ;
-				//////////////////////////////////////////////////////////////////////////
-				double x1  = ix1;  // para->getParH(level)->distX + ix1 *nodeDeltaLevel;// + tmpDist;
-				double x2  = ix2;  // para->getParH(level)->distY + ix2 *nodeDeltaLevel;// + tmpDist;
-				double x3  = ix3;  // para->getParH(level)->distZ + ix3 *nodeDeltaLevel;// + tmpDist;
-				double x1P = ix1P; // para->getParH(level)->distX + ix1P*nodeDeltaLevel;// + tmpDist;
-				double x2P = ix2P; // para->getParH(level)->distY + ix2P*nodeDeltaLevel;// + tmpDist;
-				double x3P = ix3P; // para->getParH(level)->distZ + ix3P*nodeDeltaLevel;// + tmpDist;
-				//////////////////////////////////////////////////////////////////////////
-				neighborsFluid = true;
-				//////////////////////////////////////////////////////////////////////////
-				//1
-				nodes[nodeCount]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-				nodedata[0][nodeCount] = para->getParH(level)->rho[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[1][nodeCount] = para->getParH(level)->velocityX[pos] * para->getVelocityRatio();
-				nodedata[2][nodeCount] = para->getParH(level)->velocityY[pos] * para->getVelocityRatio();
-				nodedata[3][nodeCount] = para->getParH(level)->velocityZ[pos] * para->getVelocityRatio();
-				nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[pos];
-				//if(para->getParH(level)->typeOfGridNode[pos]==GEO_VOID) neighborsFluid = false;
-				nodeCount++;
-				//////////////////////////////////////////////////////////////////////////
-				//2
-				nodes[nodeCount]=( makeUbTuple( (float)(x1P),(float)(x2 ),(float)(x3 ) ) );
-				nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborX[pos]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborX[pos]] * para->getVelocityRatio();
-				nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborX[pos]] * para->getVelocityRatio();
-				nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborX[pos]] * para->getVelocityRatio();
-				nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborX[pos]];
-				//if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborX[pos]]==GEO_VOID) neighborsFluid = false;
-				nodeCount++;
-				//////////////////////////////////////////////////////////////////////////
-				//3
-				nodes[nodeCount]=( makeUbTuple( (float)(x1P),(float)(x2P),(float)(x3 ) ) );
-				nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
-				nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
-				nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
-				nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]];
-				//if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]==GEO_VOID) neighborsFluid = false;
-				nodeCount++;
-				//////////////////////////////////////////////////////////////////////////
-				//4
-				nodes[nodeCount]=( makeUbTuple( (float)(x1 ),(float)(x2P),(float)(x3 ) ) );
-				nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborY[pos]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborY[pos]] * para->getVelocityRatio();
-				nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborY[pos]] * para->getVelocityRatio();
-				nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborY[pos]] * para->getVelocityRatio();
-				nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborY[pos]];
-				//if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborY[pos]]==GEO_VOID) neighborsFluid = false;
-				//if((para->getParH(level)->neighborY[pos]<=pos) && ((para->getParH(level)->coordinateY[pos]) > (para->getParH(level)->gridNY-2))) neighborsFluid = false;
-				nodeCount++;
-				//////////////////////////////////////////////////////////////////////////
-				//5
-				nodes[nodeCount]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3P) ) );
-				nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborZ[pos]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborZ[pos]] * para->getVelocityRatio();
-				nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborZ[pos]] * para->getVelocityRatio();
-				nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborZ[pos]] * para->getVelocityRatio();
-				nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[pos]];
-				//if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[pos]]==GEO_VOID) neighborsFluid = false;
-				nodeCount++;
-				//////////////////////////////////////////////////////////////////////////
-				//6
-				nodes[nodeCount]=( makeUbTuple( (float)(x1P),(float)(x2 ),(float)(x3P) ) );
-				nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
-				nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
-				nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
-				nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]];
-				//if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]]==GEO_VOID) neighborsFluid = false;
-				nodeCount++;
-				//////////////////////////////////////////////////////////////////////////
-				//7
-				nodes[nodeCount]=( makeUbTuple( (float)(x1P),(float)(x2P),(float)(x3P) ) );
-				nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]] * para->getVelocityRatio();
-				nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]] * para->getVelocityRatio();
-				nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]] * para->getVelocityRatio();
-				nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]];
-				//if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]]==GEO_VOID) neighborsFluid = false;
-				nodeCount++;
-				//////////////////////////////////////////////////////////////////////////
-				//8
-				nodes[nodeCount]=( makeUbTuple( (float)(x1 ),(float)(x2P),(float)(x3P) ) );
-				nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]] * para->getVelocityRatio();
-				nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]] * para->getVelocityRatio();
-				nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]] * para->getVelocityRatio();
-				nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]];
-				//if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]]==GEO_VOID) neighborsFluid = false;
-				nodeCount++;
-
-				if(neighborsFluid)
-				{
-					cells.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );		
-				}
-			}
-		}
-		WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
-		//WbWriterVtkXmlBinary::getInstance()->writeNodes(filenameVec2,nodes);
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-	bool isPeriodicCell(Parameter* para, int level, unsigned int number2, unsigned int number1, unsigned int number3, unsigned int number5)
-	{
-		return (para->getParH(level)->coordinateX[number2] < para->getParH(level)->coordinateX[number1]) ||
-			(para->getParH(level)->coordinateY[number3] < para->getParH(level)->coordinateY[number1]) ||
-			(para->getParH(level)->coordinateZ[number5] < para->getParH(level)->coordinateZ[number1]);
-	}
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridLT(Parameter* para, int level, vector<string >& fname) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("press");
-		nodedatanames.push_back("rho");
-		nodedatanames.push_back("vx1");
-		nodedatanames.push_back("vx2");
-		nodedatanames.push_back("vx3");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-
-		//printf("\n test for if... \n");
-		for (unsigned int part=0; part < fname.size(); part++)
-		{
-			vxmax = 0;
+    void writeUnstructuredGrid(Parameter* para, int level, std::string& fname, std::string& filenameVec2) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("rho");
+        nodedatanames.push_back("vx1");
+        nodedatanames.push_back("vx2");
+        nodedatanames.push_back("vx3");
+        nodedatanames.push_back("geo");
+        //int number1,number2,number3,number4,number5,number6,number7,number8;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        bool neighborsFluid;
+
+        unsigned long long allnodes = para->getParH(level)->numberOfNodes * 8;
+
+        nodes.resize(allnodes);
+        nodedata[0].resize(allnodes);
+        nodedata[1].resize(allnodes);
+        nodedata[2].resize(allnodes);
+        nodedata[3].resize(allnodes);
+        nodedata[4].resize(allnodes);
+
+        unsigned int nodeCount = 0;
+        double nodeDeltaLevel = para->getParH(level)->dx;
+
+        for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
+        {
+            if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID /*!= GEO_VOID*/)
+            {
+                //////////////////////////////////////////////////////////////////////////
+                double ix1  = para->getParH(level)->coordinateX[pos];//-STARTOFFX;
+                double ix2  = para->getParH(level)->coordinateY[pos];//-STARTOFFY;
+                double ix3  = para->getParH(level)->coordinateZ[pos];//-STARTOFFZ;
+                double ix1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];//-STARTOFFX;
+                double ix2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];//-STARTOFFY;
+                double ix3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];//-STARTOFFZ;
+                //////////////////////////////////////////////////////////////////////////
+                double x1  = ix1;  // para->getParH(level)->distX + ix1 *nodeDeltaLevel;// + tmpDist;
+                double x2  = ix2;  // para->getParH(level)->distY + ix2 *nodeDeltaLevel;// + tmpDist;
+                double x3  = ix3;  // para->getParH(level)->distZ + ix3 *nodeDeltaLevel;// + tmpDist;
+                double x1P = ix1P; // para->getParH(level)->distX + ix1P*nodeDeltaLevel;// + tmpDist;
+                double x2P = ix2P; // para->getParH(level)->distY + ix2P*nodeDeltaLevel;// + tmpDist;
+                double x3P = ix3P; // para->getParH(level)->distZ + ix3P*nodeDeltaLevel;// + tmpDist;
+                //////////////////////////////////////////////////////////////////////////
+                neighborsFluid = true;
+                //////////////////////////////////////////////////////////////////////////
+                //1
+                nodes[nodeCount]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                nodedata[0][nodeCount] = para->getParH(level)->rho[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[1][nodeCount] = para->getParH(level)->velocityX[pos] * para->getVelocityRatio();
+                nodedata[2][nodeCount] = para->getParH(level)->velocityY[pos] * para->getVelocityRatio();
+                nodedata[3][nodeCount] = para->getParH(level)->velocityZ[pos] * para->getVelocityRatio();
+                nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[pos];
+                //if(para->getParH(level)->typeOfGridNode[pos]==GEO_VOID) neighborsFluid = false;
+                nodeCount++;
+                //////////////////////////////////////////////////////////////////////////
+                //2
+                nodes[nodeCount]=( makeUbTuple( (float)(x1P),(float)(x2 ),(float)(x3 ) ) );
+                nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborX[pos]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborX[pos]] * para->getVelocityRatio();
+                nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborX[pos]] * para->getVelocityRatio();
+                nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborX[pos]] * para->getVelocityRatio();
+                nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborX[pos]];
+                //if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborX[pos]]==GEO_VOID) neighborsFluid = false;
+                nodeCount++;
+                //////////////////////////////////////////////////////////////////////////
+                //3
+                nodes[nodeCount]=( makeUbTuple( (float)(x1P),(float)(x2P),(float)(x3 ) ) );
+                nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
+                nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
+                nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
+                nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]];
+                //if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]==GEO_VOID) neighborsFluid = false;
+                nodeCount++;
+                //////////////////////////////////////////////////////////////////////////
+                //4
+                nodes[nodeCount]=( makeUbTuple( (float)(x1 ),(float)(x2P),(float)(x3 ) ) );
+                nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborY[pos]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborY[pos]] * para->getVelocityRatio();
+                nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborY[pos]] * para->getVelocityRatio();
+                nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborY[pos]] * para->getVelocityRatio();
+                nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborY[pos]];
+                //if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborY[pos]]==GEO_VOID) neighborsFluid = false;
+                //if((para->getParH(level)->neighborY[pos]<=pos) && ((para->getParH(level)->coordinateY[pos]) > (para->getParH(level)->gridNY-2))) neighborsFluid = false;
+                nodeCount++;
+                //////////////////////////////////////////////////////////////////////////
+                //5
+                nodes[nodeCount]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3P) ) );
+                nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborZ[pos]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborZ[pos]] * para->getVelocityRatio();
+                nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborZ[pos]] * para->getVelocityRatio();
+                nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborZ[pos]] * para->getVelocityRatio();
+                nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[pos]];
+                //if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[pos]]==GEO_VOID) neighborsFluid = false;
+                nodeCount++;
+                //////////////////////////////////////////////////////////////////////////
+                //6
+                nodes[nodeCount]=( makeUbTuple( (float)(x1P),(float)(x2 ),(float)(x3P) ) );
+                nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
+                nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
+                nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]] * para->getVelocityRatio();
+                nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]];
+                //if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborX[pos]]]==GEO_VOID) neighborsFluid = false;
+                nodeCount++;
+                //////////////////////////////////////////////////////////////////////////
+                //7
+                nodes[nodeCount]=( makeUbTuple( (float)(x1P),(float)(x2P),(float)(x3P) ) );
+                nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]] * para->getVelocityRatio();
+                nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]] * para->getVelocityRatio();
+                nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]] * para->getVelocityRatio();
+                nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]];
+                //if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[para->getParH(level)->neighborX[pos]]]]==GEO_VOID) neighborsFluid = false;
+                nodeCount++;
+                //////////////////////////////////////////////////////////////////////////
+                //8
+                nodes[nodeCount]=( makeUbTuple( (float)(x1 ),(float)(x2P),(float)(x3P) ) );
+                nodedata[0][nodeCount] = para->getParH(level)->rho[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[1][nodeCount] = para->getParH(level)->velocityX[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]] * para->getVelocityRatio();
+                nodedata[2][nodeCount] = para->getParH(level)->velocityY[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]] * para->getVelocityRatio();
+                nodedata[3][nodeCount] = para->getParH(level)->velocityZ[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]] * para->getVelocityRatio();
+                nodedata[4][nodeCount] = para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]];
+                //if(para->getParH(level)->typeOfGridNode[para->getParH(level)->neighborZ[para->getParH(level)->neighborY[pos]]]==GEO_VOID) neighborsFluid = false;
+                nodeCount++;
+
+                if(neighborsFluid)
+                {
+                    cells.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );        
+                }
+            }
+        }
+        WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
+        //WbWriterVtkXmlBinary::getInstance()->writeNodes(filenameVec2,nodes);
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+    bool isPeriodicCell(Parameter* para, int level, unsigned int number2, unsigned int number1, unsigned int number3, unsigned int number5)
+    {
+        return (para->getParH(level)->coordinateX[number2] < para->getParH(level)->coordinateX[number1]) ||
+            (para->getParH(level)->coordinateY[number3] < para->getParH(level)->coordinateY[number1]) ||
+            (para->getParH(level)->coordinateZ[number5] < para->getParH(level)->coordinateZ[number1]);
+    }
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridLT(Parameter* para, int level, vector<string >& fname) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("press");
+        nodedatanames.push_back("rho");
+        nodedatanames.push_back("vx1");
+        nodedatanames.push_back("vx2");
+        nodedatanames.push_back("vx3");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+
+        //printf("\n test for if... \n");
+        for (unsigned int part=0; part < fname.size(); part++)
+        {
+            vxmax = 0;
             // printf("\n test in if I... \n");
             //////////////////////////////////////////////////////////////////////////
 
@@ -204,1111 +204,1111 @@ namespace UnstructuredGridWriter
             //////////////////////////////////////////////////////////////////////////
             cells.clear();
             nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//int counter = 0;
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-
-			for (unsigned int pos=startpos;pos<endpos;pos++)
-			{
-				if (/*para->getParH(level)->typeOfGridNode[pos] >= GEO_FLUID*/true)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1  = para->getParH(level)->coordinateX[pos];
-					double x2  = para->getParH(level)->coordinateY[pos];
-					double x3  = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					dn1 = pos - startpos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor node data... \n");
-					nodes[dn1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-					nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-					nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-					nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-					nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor numbers... \n");
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor neighborsFluid... \n");
-					if (para->getParH(level)->typeOfGridNode[number2] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] < GEO_FLUID )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					//if(neighborsFluid==false) counter++;
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor numbers and neighborsFluid... \n");
-					if (number2 > endpos ||
-						number3 > endpos ||
-						number4 > endpos ||
-						number5 > endpos ||
-						number6 > endpos ||
-						number7 > endpos ||
-						number8 > endpos )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					//if(neighborsFluid==false) counter++;
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor dn... \n");
-					dn2 = number2 - startpos;
-					dn3 = number3 - startpos;
-					dn4 = number4 - startpos;
-					dn5 = number5 - startpos;
-					dn6 = number6 - startpos;
-					dn7 = number7 - startpos;
-					dn8 = number8 - startpos;
-					//////////////////////////////////////////////////////////////////////////
-					//if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
-					//////////////////////////////////////////////////////////////////////////
-					if (isPeriodicCell(para, level, number2, number1, number3, number5))
-						continue;
-					//////////////////////////////////////////////////////////////////////////
-					//counter++;
-					if (neighborsFluid) cells.push_back( makeUbTuple(dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8) );
-					//////////////////////////////////////////////////////////////////////////
-				}
-				//printf("\n test II... \n");
-			}
-			//printf("\n number of cells: %d at level: %d\n", cells.size(), level);
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
-			//WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname[part], nodes, nodedatanames, nodedata);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n vx max: %.1f at level: %d\n", vxmax, level);
-			//printf("\n counter: %d at level: %d\n", counter, level);
-		} 
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridLTwithTurbulentViscosity(Parameter* para, int level, vector<string >& fname)
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("press");
-		nodedatanames.push_back("rho");
-		nodedatanames.push_back("vx1");
-		nodedatanames.push_back("vx2");
-		nodedatanames.push_back("vx3");
-		nodedatanames.push_back("geo");
-		nodedatanames.push_back("turbVis");
-		unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
-		unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-
-		//printf("\n test for if... \n");
-		for (unsigned int part = 0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //int counter = 0;
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+
+            for (unsigned int pos=startpos;pos<endpos;pos++)
+            {
+                if (/*para->getParH(level)->typeOfGridNode[pos] >= GEO_FLUID*/true)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1  = para->getParH(level)->coordinateX[pos];
+                    double x2  = para->getParH(level)->coordinateY[pos];
+                    double x3  = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    dn1 = pos - startpos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor node data... \n");
+                    nodes[dn1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                    nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                    nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                    nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                    nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor numbers... \n");
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor neighborsFluid... \n");
+                    if (para->getParH(level)->typeOfGridNode[number2] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] < GEO_FLUID )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    //if(neighborsFluid==false) counter++;
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor numbers and neighborsFluid... \n");
+                    if (number2 > endpos ||
+                        number3 > endpos ||
+                        number4 > endpos ||
+                        number5 > endpos ||
+                        number6 > endpos ||
+                        number7 > endpos ||
+                        number8 > endpos )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    //if(neighborsFluid==false) counter++;
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor dn... \n");
+                    dn2 = number2 - startpos;
+                    dn3 = number3 - startpos;
+                    dn4 = number4 - startpos;
+                    dn5 = number5 - startpos;
+                    dn6 = number6 - startpos;
+                    dn7 = number7 - startpos;
+                    dn8 = number8 - startpos;
+                    //////////////////////////////////////////////////////////////////////////
+                    //if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (isPeriodicCell(para, level, number2, number1, number3, number5))
+                        continue;
+                    //////////////////////////////////////////////////////////////////////////
+                    //counter++;
+                    if (neighborsFluid) cells.push_back( makeUbTuple(dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8) );
+                    //////////////////////////////////////////////////////////////////////////
+                }
+                //printf("\n test II... \n");
+            }
+            //printf("\n number of cells: %d at level: %d\n", cells.size(), level);
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
+            //WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname[part], nodes, nodedatanames, nodedata);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n vx max: %.1f at level: %d\n", vxmax, level);
+            //printf("\n counter: %d at level: %d\n", counter, level);
+        } 
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridLTwithTurbulentViscosity(Parameter* para, int level, vector<string >& fname)
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("press");
+        nodedatanames.push_back("rho");
+        nodedatanames.push_back("vx1");
+        nodedatanames.push_back("vx2");
+        nodedatanames.push_back("vx3");
+        nodedatanames.push_back("geo");
+        nodedatanames.push_back("turbVis");
+        unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
+        unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+
+        //printf("\n test for if... \n");
+        for (unsigned int part = 0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
 
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
 
             //////////////////////////////////////////////////////////////////////////
-			startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
-			endpos = startpos + sizeOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			nodedata[6].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//int counter = 0;
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-
-			for (unsigned int pos = startpos; pos < endpos; pos++)
-			{
-				if (/*para->getParH(level)->typeOfGridNode[pos] >= GEO_FLUID*/true)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1 = para->getParH(level)->coordinateX[pos];
-					double x2 = para->getParH(level)->coordinateY[pos];
-					double x3 = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					dn1 = pos - startpos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
-					nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-					nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-					nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-					nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					nodedata[6][dn1] = (double)para->getParH(level)->turbViscosity[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] < GEO_FLUID)  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					if (number2 > endpos ||
-						number3 > endpos ||
-						number4 > endpos ||
-						number5 > endpos ||
-						number6 > endpos ||
-						number7 > endpos ||
-						number8 > endpos)  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					dn2 = number2 - startpos;
-					dn3 = number3 - startpos;
-					dn4 = number4 - startpos;
-					dn5 = number5 - startpos;
-					dn6 = number6 - startpos;
-					dn7 = number7 - startpos;
-					dn8 = number8 - startpos;
-					//////////////////////////////////////////////////////////////////////////
-					if (isPeriodicCell(para, level, number2, number1, number3, number5))
-						continue;
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
-			//WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname[part], nodes, nodedatanames, nodedata);
-		}
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridLTwithTurbulentViscosityDebug(Parameter* para, int level, vector<string >& fname)
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("press");
-		nodedatanames.push_back("rho");
-		nodedatanames.push_back("vx1");
-		nodedatanames.push_back("vx2");
-		nodedatanames.push_back("vx3");
-		nodedatanames.push_back("geo");
-		nodedatanames.push_back("turbVis");
-		nodedatanames.push_back("gSij ");
-		nodedatanames.push_back("gSDij");
-		nodedatanames.push_back("gDxvx");
-		nodedatanames.push_back("gDyvx");
-		nodedatanames.push_back("gDzvx");
-		nodedatanames.push_back("gDxvy");
-		nodedatanames.push_back("gDyvy");
-		nodedatanames.push_back("gDzvy");
-		nodedatanames.push_back("gDxvz");
-		nodedatanames.push_back("gDyvz");
-		nodedatanames.push_back("gDzvz");
-		unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
-		unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-
-		//printf("\n test for if... \n");
-		for (unsigned int part = 0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
+            endpos = startpos + sizeOfNodes;
+            //////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            nodedata[6].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //int counter = 0;
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+
+            for (unsigned int pos = startpos; pos < endpos; pos++)
+            {
+                if (/*para->getParH(level)->typeOfGridNode[pos] >= GEO_FLUID*/true)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1 = para->getParH(level)->coordinateX[pos];
+                    double x2 = para->getParH(level)->coordinateY[pos];
+                    double x3 = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    dn1 = pos - startpos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
+                    nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                    nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                    nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                    nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    nodedata[6][dn1] = (double)para->getParH(level)->turbViscosity[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] < GEO_FLUID)  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (number2 > endpos ||
+                        number3 > endpos ||
+                        number4 > endpos ||
+                        number5 > endpos ||
+                        number6 > endpos ||
+                        number7 > endpos ||
+                        number8 > endpos)  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    dn2 = number2 - startpos;
+                    dn3 = number3 - startpos;
+                    dn4 = number4 - startpos;
+                    dn5 = number5 - startpos;
+                    dn6 = number6 - startpos;
+                    dn7 = number7 - startpos;
+                    dn8 = number8 - startpos;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (isPeriodicCell(para, level, number2, number1, number3, number5))
+                        continue;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
+            //WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname[part], nodes, nodedatanames, nodedata);
+        }
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridLTwithTurbulentViscosityDebug(Parameter* para, int level, vector<string >& fname)
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("press");
+        nodedatanames.push_back("rho");
+        nodedatanames.push_back("vx1");
+        nodedatanames.push_back("vx2");
+        nodedatanames.push_back("vx3");
+        nodedatanames.push_back("geo");
+        nodedatanames.push_back("turbVis");
+        nodedatanames.push_back("gSij ");
+        nodedatanames.push_back("gSDij");
+        nodedatanames.push_back("gDxvx");
+        nodedatanames.push_back("gDyvx");
+        nodedatanames.push_back("gDzvx");
+        nodedatanames.push_back("gDxvy");
+        nodedatanames.push_back("gDyvy");
+        nodedatanames.push_back("gDzvy");
+        nodedatanames.push_back("gDxvz");
+        nodedatanames.push_back("gDyvz");
+        nodedatanames.push_back("gDzvz");
+        unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
+        unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+
+        //printf("\n test for if... \n");
+        for (unsigned int part = 0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
-			endpos = startpos + sizeOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			nodedata[6].resize(sizeOfNodes);
-			nodedata[7].resize(sizeOfNodes);
-			nodedata[8].resize(sizeOfNodes);
-			nodedata[9].resize(sizeOfNodes);
-			nodedata[10].resize(sizeOfNodes);
-			nodedata[11].resize(sizeOfNodes);
-			nodedata[12].resize(sizeOfNodes);
-			nodedata[13].resize(sizeOfNodes);
-			nodedata[14].resize(sizeOfNodes);
-			nodedata[15].resize(sizeOfNodes);
-			nodedata[16].resize(sizeOfNodes);
-			nodedata[17].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//int counter = 0;
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-
-			for (unsigned int pos = startpos; pos < endpos; pos++)
-			{
-				if (/*para->getParH(level)->typeOfGridNode[pos] >= GEO_FLUID*/true)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1 = para->getParH(level)->coordinateX[pos];
-					double x2 = para->getParH(level)->coordinateY[pos];
-					double x3 = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					dn1 = pos - startpos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
-					nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-					nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-					nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-					nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					nodedata[6][dn1] = (double)para->getParH(level)->turbViscosity[pos] * (double)para->getViscosityRatio();
-					nodedata[7][dn1] = (double)para->getParH(level)->gSij[pos] * (double)para->getVelocityRatio();
-					nodedata[8][dn1] = (double)para->getParH(level)->gSDij[pos] * (double)para->getVelocityRatio();
-					nodedata[9][dn1] = (double)para->getParH(level)->gDxvx[pos] * (double)para->getVelocityRatio();
-					nodedata[10][dn1] = (double)para->getParH(level)->gDyvx[pos] * (double)para->getVelocityRatio();
-					nodedata[11][dn1] = (double)para->getParH(level)->gDzvx[pos] * (double)para->getVelocityRatio();
-					nodedata[12][dn1] = (double)para->getParH(level)->gDxvy[pos] * (double)para->getVelocityRatio();
-					nodedata[13][dn1] = (double)para->getParH(level)->gDyvy[pos] * (double)para->getVelocityRatio();
-					nodedata[14][dn1] = (double)para->getParH(level)->gDzvy[pos] * (double)para->getVelocityRatio();
-					nodedata[15][dn1] = (double)para->getParH(level)->gDxvz[pos] * (double)para->getVelocityRatio();
-					nodedata[16][dn1] = (double)para->getParH(level)->gDyvz[pos] * (double)para->getVelocityRatio();
-					nodedata[17][dn1] = (double)para->getParH(level)->gDzvz[pos] * (double)para->getVelocityRatio();
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] < GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] < GEO_FLUID)  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					if (number2 > endpos ||
-						number3 > endpos ||
-						number4 > endpos ||
-						number5 > endpos ||
-						number6 > endpos ||
-						number7 > endpos ||
-						number8 > endpos)  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					dn2 = number2 - startpos;
-					dn3 = number3 - startpos;
-					dn4 = number4 - startpos;
-					dn5 = number5 - startpos;
-					dn6 = number6 - startpos;
-					dn7 = number7 - startpos;
-					dn8 = number8 - startpos;
-					//////////////////////////////////////////////////////////////////////////
-					if (isPeriodicCell(para, level, number2, number1, number3, number5))
-						continue;
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
-			//WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname[part], nodes, nodedatanames, nodedata);
-		}
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridPM(Parameter* para, int level, vector<string >& fname)
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("press");
-		nodedatanames.push_back("rho");
-		nodedatanames.push_back("vx1");
-		nodedatanames.push_back("vx2");
-		nodedatanames.push_back("vx3");
-		nodedatanames.push_back("geo");
-		unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
-		unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-
-		//printf("\n test for if... \n");
-		for (unsigned int part = 0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
+            endpos = startpos + sizeOfNodes;
+            //////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            nodedata[6].resize(sizeOfNodes);
+            nodedata[7].resize(sizeOfNodes);
+            nodedata[8].resize(sizeOfNodes);
+            nodedata[9].resize(sizeOfNodes);
+            nodedata[10].resize(sizeOfNodes);
+            nodedata[11].resize(sizeOfNodes);
+            nodedata[12].resize(sizeOfNodes);
+            nodedata[13].resize(sizeOfNodes);
+            nodedata[14].resize(sizeOfNodes);
+            nodedata[15].resize(sizeOfNodes);
+            nodedata[16].resize(sizeOfNodes);
+            nodedata[17].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //int counter = 0;
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+
+            for (unsigned int pos = startpos; pos < endpos; pos++)
+            {
+                if (/*para->getParH(level)->typeOfGridNode[pos] >= GEO_FLUID*/true)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1 = para->getParH(level)->coordinateX[pos];
+                    double x2 = para->getParH(level)->coordinateY[pos];
+                    double x3 = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    dn1 = pos - startpos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
+                    nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                    nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                    nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                    nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    nodedata[6][dn1] = (double)para->getParH(level)->turbViscosity[pos] * (double)para->getViscosityRatio();
+                    nodedata[7][dn1] = (double)para->getParH(level)->gSij[pos] * (double)para->getVelocityRatio();
+                    nodedata[8][dn1] = (double)para->getParH(level)->gSDij[pos] * (double)para->getVelocityRatio();
+                    nodedata[9][dn1] = (double)para->getParH(level)->gDxvx[pos] * (double)para->getVelocityRatio();
+                    nodedata[10][dn1] = (double)para->getParH(level)->gDyvx[pos] * (double)para->getVelocityRatio();
+                    nodedata[11][dn1] = (double)para->getParH(level)->gDzvx[pos] * (double)para->getVelocityRatio();
+                    nodedata[12][dn1] = (double)para->getParH(level)->gDxvy[pos] * (double)para->getVelocityRatio();
+                    nodedata[13][dn1] = (double)para->getParH(level)->gDyvy[pos] * (double)para->getVelocityRatio();
+                    nodedata[14][dn1] = (double)para->getParH(level)->gDzvy[pos] * (double)para->getVelocityRatio();
+                    nodedata[15][dn1] = (double)para->getParH(level)->gDxvz[pos] * (double)para->getVelocityRatio();
+                    nodedata[16][dn1] = (double)para->getParH(level)->gDyvz[pos] * (double)para->getVelocityRatio();
+                    nodedata[17][dn1] = (double)para->getParH(level)->gDzvz[pos] * (double)para->getVelocityRatio();
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] < GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] < GEO_FLUID)  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (number2 > endpos ||
+                        number3 > endpos ||
+                        number4 > endpos ||
+                        number5 > endpos ||
+                        number6 > endpos ||
+                        number7 > endpos ||
+                        number8 > endpos)  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    dn2 = number2 - startpos;
+                    dn3 = number3 - startpos;
+                    dn4 = number4 - startpos;
+                    dn5 = number5 - startpos;
+                    dn6 = number6 - startpos;
+                    dn7 = number7 - startpos;
+                    dn8 = number8 - startpos;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (isPeriodicCell(para, level, number2, number1, number3, number5))
+                        continue;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
+            //WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname[part], nodes, nodedatanames, nodedata);
+        }
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridPM(Parameter* para, int level, vector<string >& fname)
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("press");
+        nodedatanames.push_back("rho");
+        nodedatanames.push_back("vx1");
+        nodedatanames.push_back("vx2");
+        nodedatanames.push_back("vx3");
+        nodedatanames.push_back("geo");
+        unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
+        unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+
+        //printf("\n test for if... \n");
+        for (unsigned int part = 0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
-			endpos = startpos + sizeOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//int counter = 0;
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-
-			for (unsigned int pos = startpos; pos < endpos; pos++)
-			{
-				if ((para->getParH(level)->typeOfGridNode[pos] >= GEO_FLUID) || ((para->getParH(level)->typeOfGridNode[pos] >= GEO_PM_0) && (para->getParH(level)->typeOfGridNode[pos] <= GEO_PM_2)))
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1 = para->getParH(level)->coordinateX[pos];
-					double x2 = para->getParH(level)->coordinateY[pos];
-					double x3 = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					dn1 = pos - startpos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor node data... \n");
-					nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
-					nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-					nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-					nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-					nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor numbers... \n");
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor neighborsFluid... \n");
-					if (((para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number2] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number2] > GEO_PM_2)) ||
-						((para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number3] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number3] > GEO_PM_2)) ||
-						((para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number4] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number4] > GEO_PM_2)) ||
-						((para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number5] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number5] > GEO_PM_2)) ||
-						((para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number6] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number6] > GEO_PM_2)) ||
-						((para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number7] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number7] > GEO_PM_2)) ||
-						((para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number8] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number8] > GEO_PM_2)))  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					//if(neighborsFluid==false) counter++;
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor numbers and neighborsFluid... \n");
-					if (number2 > endpos ||
-						number3 > endpos ||
-						number4 > endpos ||
-						number5 > endpos ||
-						number6 > endpos ||
-						number7 > endpos ||
-						number8 > endpos)  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					//if(neighborsFluid==false) counter++;
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test vor dn... \n");
-					dn2 = number2 - startpos;
-					dn3 = number3 - startpos;
-					dn4 = number4 - startpos;
-					dn5 = number5 - startpos;
-					dn6 = number6 - startpos;
-					dn7 = number7 - startpos;
-					dn8 = number8 - startpos;
-					//////////////////////////////////////////////////////////////////////////
-					//if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
-					//////////////////////////////////////////////////////////////////////////
-
-					if (isPeriodicCell(para, level, number2, number1, number3, number5))
-						continue;
-
-					//counter++;
-					if (neighborsFluid) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
-					//////////////////////////////////////////////////////////////////////////
-				}
-				//printf("\n test II... \n");
-			}
-			//printf("\n number of cells: %d at level: %d\n", cells.size(), level);
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
-			//WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname[part], nodes, nodedatanames, nodedata);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n vx max: %.1f at level: %d\n", vxmax, level);
-			//printf("\n counter: %d at level: %d\n", counter, level);
-		}
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridLTConc(Parameter* para, int level, vector<string >& fname) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("press");
-		nodedatanames.push_back("rho");
-		nodedatanames.push_back("vx1");
-		nodedatanames.push_back("vx2");
-		nodedatanames.push_back("vx3");
-		nodedatanames.push_back("geo");
-		nodedatanames.push_back("Conc");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		//printf("\n test for if... \n");
-		for (unsigned int part=0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
+            endpos = startpos + sizeOfNodes;
+            //////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //int counter = 0;
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+
+            for (unsigned int pos = startpos; pos < endpos; pos++)
+            {
+                if ((para->getParH(level)->typeOfGridNode[pos] >= GEO_FLUID) || ((para->getParH(level)->typeOfGridNode[pos] >= GEO_PM_0) && (para->getParH(level)->typeOfGridNode[pos] <= GEO_PM_2)))
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1 = para->getParH(level)->coordinateX[pos];
+                    double x2 = para->getParH(level)->coordinateY[pos];
+                    double x3 = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    dn1 = pos - startpos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor node data... \n");
+                    nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
+                    nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                    nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                    nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                    nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor numbers... \n");
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor neighborsFluid... \n");
+                    if (((para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number2] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number2] > GEO_PM_2)) ||
+                        ((para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number3] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number3] > GEO_PM_2)) ||
+                        ((para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number4] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number4] > GEO_PM_2)) ||
+                        ((para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number5] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number5] > GEO_PM_2)) ||
+                        ((para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number6] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number6] > GEO_PM_2)) ||
+                        ((para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number7] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number7] > GEO_PM_2)) ||
+                        ((para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID) && (para->getParH(level)->typeOfGridNode[number8] < GEO_PM_0) && (para->getParH(level)->typeOfGridNode[number8] > GEO_PM_2)))  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    //if(neighborsFluid==false) counter++;
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor numbers and neighborsFluid... \n");
+                    if (number2 > endpos ||
+                        number3 > endpos ||
+                        number4 > endpos ||
+                        number5 > endpos ||
+                        number6 > endpos ||
+                        number7 > endpos ||
+                        number8 > endpos)  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    //if(neighborsFluid==false) counter++;
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test vor dn... \n");
+                    dn2 = number2 - startpos;
+                    dn3 = number3 - startpos;
+                    dn4 = number4 - startpos;
+                    dn5 = number5 - startpos;
+                    dn6 = number6 - startpos;
+                    dn7 = number7 - startpos;
+                    dn8 = number8 - startpos;
+                    //////////////////////////////////////////////////////////////////////////
+                    //if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
+                    //////////////////////////////////////////////////////////////////////////
+
+                    if (isPeriodicCell(para, level, number2, number1, number3, number5))
+                        continue;
+
+                    //counter++;
+                    if (neighborsFluid) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
+                    //////////////////////////////////////////////////////////////////////////
+                }
+                //printf("\n test II... \n");
+            }
+            //printf("\n number of cells: %d at level: %d\n", cells.size(), level);
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
+            //WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname[part], nodes, nodedatanames, nodedata);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n vx max: %.1f at level: %d\n", vxmax, level);
+            //printf("\n counter: %d at level: %d\n", counter, level);
+        }
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridLTConc(Parameter* para, int level, vector<string >& fname) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("press");
+        nodedatanames.push_back("rho");
+        nodedatanames.push_back("vx1");
+        nodedatanames.push_back("vx2");
+        nodedatanames.push_back("vx3");
+        nodedatanames.push_back("geo");
+        nodedatanames.push_back("Conc");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        //printf("\n test for if... \n");
+        for (unsigned int part=0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
             //////////////////////////////////////////////////////////////////////////
-			startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
-			endpos = startpos + sizeOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			nodedata[6].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-			for (unsigned int pos=startpos;pos<endpos;pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1  = para->getParH(level)->coordinateX[pos];
-					double x2  = para->getParH(level)->coordinateY[pos];
-					double x3  = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					dn1 = pos - startpos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[dn1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-					nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-					nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-					nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-					nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					nodedata[6][dn1] = (double)para->getParH(level)->concentration[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					if (number2 > endpos ||
-						number3 > endpos ||
-						number4 > endpos ||
-						number5 > endpos ||
-						number6 > endpos ||
-						number7 > endpos ||
-						number8 > endpos )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					dn2 = number2 - startpos;
-					dn3 = number3 - startpos;
-					dn4 = number4 - startpos;
-					dn5 = number5 - startpos;
-					dn6 = number6 - startpos;
-					dn7 = number7 - startpos;
-					dn8 = number8 - startpos;
-					//////////////////////////////////////////////////////////////////////////
-					//if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
-					//////////////////////////////////////////////////////////////////////////
-					if (isPeriodicCell(para, level, number2, number1, number3, number5))
-						continue;
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid) cells.push_back( makeUbTuple(dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8) );		
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n vx max: %.1f at level: %d\n", vxmax, level);
-		} 
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridBig(Parameter* para, int level, std::string& fname, std::string& fname2) 
-	{
-		unsigned int limitOfNodes = 30000000; //27 Million
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("press");
-		nodedatanames.push_back("rho");
-		nodedatanames.push_back("vx1");
-		nodedatanames.push_back("vx2");
-		nodedatanames.push_back("vx3");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
-		bool neighborsFluid;
-		//double posmax = 0;
-		double vxmax = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		//printf("\n test for if... \n");
+            startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
+            endpos = startpos + sizeOfNodes;
+            //////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            nodedata[6].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+            for (unsigned int pos=startpos;pos<endpos;pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1  = para->getParH(level)->coordinateX[pos];
+                    double x2  = para->getParH(level)->coordinateY[pos];
+                    double x3  = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    dn1 = pos - startpos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[dn1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                    nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                    nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                    nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                    nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    nodedata[6][dn1] = (double)para->getParH(level)->concentration[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (number2 > endpos ||
+                        number3 > endpos ||
+                        number4 > endpos ||
+                        number5 > endpos ||
+                        number6 > endpos ||
+                        number7 > endpos ||
+                        number8 > endpos )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    dn2 = number2 - startpos;
+                    dn3 = number3 - startpos;
+                    dn4 = number4 - startpos;
+                    dn5 = number5 - startpos;
+                    dn6 = number6 - startpos;
+                    dn7 = number7 - startpos;
+                    dn8 = number8 - startpos;
+                    //////////////////////////////////////////////////////////////////////////
+                    //if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (isPeriodicCell(para, level, number2, number1, number3, number5))
+                        continue;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid) cells.push_back( makeUbTuple(dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8) );        
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n vx max: %.1f at level: %d\n", vxmax, level);
+        } 
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridBig(Parameter* para, int level, std::string& fname, std::string& fname2) 
+    {
+        unsigned int limitOfNodes = 30000000; //27 Million
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("press");
+        nodedatanames.push_back("rho");
+        nodedatanames.push_back("vx1");
+        nodedatanames.push_back("vx2");
+        nodedatanames.push_back("vx3");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
+        bool neighborsFluid;
+        //double posmax = 0;
+        double vxmax = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        //printf("\n test for if... \n");
         if ((uint)para->getParH(level)->numberOfNodes > limitOfNodes)
-		{
-			//printf("\n test in if I... \n");
+        {
+            //printf("\n test in if I... \n");
             unsigned int restOfNodes = (uint)para->getParH(level)->numberOfNodes - limitOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			//PART I
-			nodes.resize(limitOfNodes);
-			nodedata[0].resize(limitOfNodes);
-			nodedata[1].resize(limitOfNodes);
-			nodedata[2].resize(limitOfNodes);
-			nodedata[3].resize(limitOfNodes);
-			nodedata[4].resize(limitOfNodes);
-			nodedata[5].resize(limitOfNodes);
-
-			//printf("\n test in if II... \n");
-			for (unsigned int pos=0;pos<limitOfNodes;pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1  = para->getParH(level)->coordinateX[pos];
-					double x2  = para->getParH(level)->coordinateY[pos];
-					double x3  = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-					nodedata[0][number1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[1][number1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[2][number1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-					nodedata[3][number1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-					nodedata[4][number1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-					nodedata[5][number1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					if (number2 > limitOfNodes ||
-						number3 > limitOfNodes ||
-						number4 > limitOfNodes ||
-						number5 > limitOfNodes ||
-						number6 > limitOfNodes ||
-						number7 > limitOfNodes ||
-						number8 > limitOfNodes )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					//if (level == 0 &&
-					//	(number2 <= number1 ||
-					//	number3 <= number1 ||
-					//	number4 <= number1 ||
-					//	number5 <= number1 ||
-					//	number6 <= number1 ||
-					//	number7 <= number1 ||
-					//	number8 <= number1) )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					if( std::fabs(nodedata[2][number1]) > std::fabs(vxmax) ) vxmax = nodedata[2][number1];
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );		
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
-
-			//printf("\n test in if III... \n");
-			//////////////////////////////////////////////////////////////////////////
-			//PART II
-			nodes.resize(restOfNodes);
-			nodedata[0].resize(restOfNodes);
-			nodedata[1].resize(restOfNodes);
-			nodedata[2].resize(restOfNodes);
-			nodedata[3].resize(restOfNodes);
-			nodedata[4].resize(restOfNodes);
-			nodedata[5].resize(restOfNodes);
-			//printf("\n test in if IV... \n");
-
-			for (size_t pos = limitOfNodes; pos < para->getParH(level)->numberOfNodes; pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1  = para->getParH(level)->coordinateX[pos];
-					double x2  = para->getParH(level)->coordinateY[pos];
-					double x3  = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					dn1 = pos - limitOfNodes;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[dn1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-					nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-					nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-					nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-					nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					dn2 = number2 - limitOfNodes;
-					dn3 = number3 - limitOfNodes;
-					dn4 = number4 - limitOfNodes;
-					dn5 = number5 - limitOfNodes;
-					dn6 = number6 - limitOfNodes;
-					dn7 = number7 - limitOfNodes;
-					dn8 = number8 - limitOfNodes;
-					//////////////////////////////////////////////////////////////////////////
-					if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid==true) cells2.push_back( makeUbTuple(dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8) );		
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			//printf("\n test in if V... \n");
-			//WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeDataMS(fname,nodes,cells2,nodedatanames,nodedata);
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname2,nodes,cells2,nodedatanames,nodedata);
-			//printf("\n test in if VI... \n");
-			//////////////////////////////////////////////////////////////////////////
-			//printf("pos max: %.1f", posmax);
-			printf("\n vx max: %.1f at level: %d\n", vxmax, level);
-		} 
-		else
-		{
-			//printf("\n test in else I... \n");
-			nodes.resize(para->getParH(level)->numberOfNodes);
-			nodedata[0].resize(para->getParH(level)->numberOfNodes);
-			nodedata[1].resize(para->getParH(level)->numberOfNodes);
-			nodedata[2].resize(para->getParH(level)->numberOfNodes);
-			nodedata[3].resize(para->getParH(level)->numberOfNodes);
-			nodedata[4].resize(para->getParH(level)->numberOfNodes);
-			nodedata[5].resize(para->getParH(level)->numberOfNodes);
-
-			//printf("\n test in else II... \n");
-			for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//printf("\n test in else-for I pos = %d \n", pos);
-					//////////////////////////////////////////////////////////////////////////
-					double x1  = para->getParH(level)->coordinateX[pos];
-					double x2  = para->getParH(level)->coordinateY[pos];
-					double x3  = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test in else-for II pos = %d \n", pos);
-					nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-					nodedata[0][number1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[1][number1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-					nodedata[2][number1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-					nodedata[3][number1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-					nodedata[4][number1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-					nodedata[5][number1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test in else-for III pos = %d \n", pos);
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test in else-for VI pos = %d \n", pos);
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					//if (level == 0 &&
-					//	(number2 <= number1 ||
-					//	number3 <= number1 ||
-					//	number4 <= number1 ||
-					//	number5 <= number1 ||
-					//	number6 <= number1 ||
-					//	number7 <= number1 ||
-					//	number8 <= number1) )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					if( std::fabs(nodedata[2][number1]) > std::fabs(vxmax) ) vxmax = nodedata[2][number1];
-					//////////////////////////////////////////////////////////////////////////
-					//printf("\n test in else-for V pos = %d \n", pos);
-					if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );		
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			//printf("\n test in else III... \n");
-			//WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeDataMS(fname,nodes,cells,nodedatanames,nodedata);
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
-			//WbWriterVtkXmlBinary::getInstance()->writeNodes(filenameVec2,nodes);
-			//printf("\n test in else IV... \n");
-			//////////////////////////////////////////////////////////////////////////
-			//printf("pos max: %.1f", posmax);
-			printf("\n vx max: %.1f at level: %d\n", vxmax, level);
-		}
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridEff(Parameter* para, int level, std::string& fname, std::string& filenameVec2) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("press");
-		nodedatanames.push_back("rho");
-		nodedatanames.push_back("vx1");
-		nodedatanames.push_back("vx2");
-		nodedatanames.push_back("vx3");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		vector<vector<double>> nodedata(nodedatanames.size());
-
-		nodes.resize(para->getParH(level)->numberOfNodes);
-		nodedata[0].resize(para->getParH(level)->numberOfNodes);
-		nodedata[1].resize(para->getParH(level)->numberOfNodes);
-		nodedata[2].resize(para->getParH(level)->numberOfNodes);
-		nodedata[3].resize(para->getParH(level)->numberOfNodes);
-		nodedata[4].resize(para->getParH(level)->numberOfNodes);
-		nodedata[5].resize(para->getParH(level)->numberOfNodes);
-
-		for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
-		{
-			if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-			{
-				//////////////////////////////////////////////////////////////////////////
-				double x1  = para->getParH(level)->coordinateX[pos];
-				double x2  = para->getParH(level)->coordinateY[pos];
-				double x3  = para->getParH(level)->coordinateZ[pos];
-				double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
-				double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
-				double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
-				//////////////////////////////////////////////////////////////////////////
-				number1 = pos;
-				neighborsFluid = true;
-				//////////////////////////////////////////////////////////////////////////
-				nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-				nodedata[0][number1] = (double)pos;
-				//nodedata[0][number1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-				nodedata[1][number1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-				nodedata[2][number1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-				nodedata[3][number1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-				nodedata[4][number1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-				nodedata[5][number1] = (double)para->getParH(level)->typeOfGridNode[pos];
-				//////////////////////////////////////////////////////////////////////////
-				number2 = para->getParH(level)->neighborX[number1];
-				number3 = para->getParH(level)->neighborY[number2];
-				number4 = para->getParH(level)->neighborY[number1];
-				number5 = para->getParH(level)->neighborZ[number1];
-				number6 = para->getParH(level)->neighborZ[number2];
-				number7 = para->getParH(level)->neighborZ[number3];
-				number8 = para->getParH(level)->neighborZ[number4];
-				//////////////////////////////////////////////////////////////////////////
-				if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-				//////////////////////////////////////////////////////////////////////////
-				//if (level == 0 &&
-				//	(number2 <= number1 ||
-				//	number3 <= number1 ||
-				//	number4 <= number1 ||
-				//	number5 <= number1 ||
-				//	number6 <= number1 ||
-				//	number7 <= number1 ||
-				//	number8 <= number1) )  neighborsFluid=false;
-				//////////////////////////////////////////////////////////////////////////
-				if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );		
-				//////////////////////////////////////////////////////////////////////////
-			}
-			if( std::fabs(nodedata[2][number1]) > std::fabs(vxmax) ) vxmax = nodedata[2][number1];
-		}
-		WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
-		printf("\n vx max: %.1f at level: %d\n", vxmax, level);
-	}
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridAsciiEff(Parameter* para, int level, std::string& fname, std::string& filenameVec2) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("press");
-		nodedatanames.push_back("rho");
-		nodedatanames.push_back("vx1");
-		nodedatanames.push_back("vx2");
-		nodedatanames.push_back("vx3");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		bool neighborsFluid;
-		double posmax = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		nodes.resize(para->getParH(level)->numberOfNodes);
-		nodedata[0].resize(para->getParH(level)->numberOfNodes);
-		nodedata[1].resize(para->getParH(level)->numberOfNodes);
-		nodedata[2].resize(para->getParH(level)->numberOfNodes);
-		nodedata[3].resize(para->getParH(level)->numberOfNodes);
-		nodedata[4].resize(para->getParH(level)->numberOfNodes);
-		nodedata[5].resize(para->getParH(level)->numberOfNodes);
-
-		for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
-		{
-			if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-			{
-				//////////////////////////////////////////////////////////////////////////
-				double x1  = para->getParH(level)->coordinateX[pos];
-				double x2  = para->getParH(level)->coordinateY[pos];
-				double x3  = para->getParH(level)->coordinateZ[pos];
-				double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
-				double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
-				double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
-				//////////////////////////////////////////////////////////////////////////
-				number1 = pos;
-				neighborsFluid = true;
-				//////////////////////////////////////////////////////////////////////////
-				nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-				nodedata[0][number1] = (double)pos;
-				//nodedata[0][number1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-				nodedata[1][number1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
-				nodedata[2][number1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
-				nodedata[3][number1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
-				nodedata[4][number1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
-				nodedata[5][number1] = (double)para->getParH(level)->typeOfGridNode[pos];
-				//////////////////////////////////////////////////////////////////////////
-				number2 = para->getParH(level)->neighborX[number1];
-				number3 = para->getParH(level)->neighborY[number2];
-				number4 = para->getParH(level)->neighborY[number1];
-				number5 = para->getParH(level)->neighborZ[number1];
-				number6 = para->getParH(level)->neighborZ[number2];
-				number7 = para->getParH(level)->neighborZ[number3];
-				number8 = para->getParH(level)->neighborZ[number4];
-				//////////////////////////////////////////////////////////////////////////
-				if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-				//////////////////////////////////////////////////////////////////////////
-				//if (level == 0 &&
-				//	(number2 <= number1 ||
-				//	number3 <= number1 ||
-				//	number4 <= number1 ||
-				//	number5 <= number1 ||
-				//	number6 <= number1 ||
-				//	number7 <= number1 ||
-				//	number8 <= number1) )  neighborsFluid=false;
-				//////////////////////////////////////////////////////////////////////////
-				if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );		
-				//////////////////////////////////////////////////////////////////////////
-			}
-			if( std::fabs((double)pos) > std::fabs(posmax) ) posmax = (double)pos;
-		}
-		WbWriterVtkXmlASCII::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
-		//WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
-		////WbWriterVtkXmlBinary::getInstance()->writeNodes(filenameVec2,nodes);
-		printf("\ncells: %.1f \n", (double)cells.size());
-		printf("nodes: %.1f \n", (double)nodes.size());
-		printf("pos max: %.1f \n", posmax);
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridMedianLT(Parameter* para, int level, vector<string >& fname) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("pressMed");
-		nodedatanames.push_back("rhoMed");
-		nodedatanames.push_back("vx1Med");
-		nodedatanames.push_back("vx2Med");
-		nodedatanames.push_back("vx3Med");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		//printf("\n test for if... \n");
-		for (unsigned int part=0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            //PART I
+            nodes.resize(limitOfNodes);
+            nodedata[0].resize(limitOfNodes);
+            nodedata[1].resize(limitOfNodes);
+            nodedata[2].resize(limitOfNodes);
+            nodedata[3].resize(limitOfNodes);
+            nodedata[4].resize(limitOfNodes);
+            nodedata[5].resize(limitOfNodes);
+
+            //printf("\n test in if II... \n");
+            for (unsigned int pos=0;pos<limitOfNodes;pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1  = para->getParH(level)->coordinateX[pos];
+                    double x2  = para->getParH(level)->coordinateY[pos];
+                    double x3  = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                    nodedata[0][number1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[1][number1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[2][number1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                    nodedata[3][number1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                    nodedata[4][number1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                    nodedata[5][number1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (number2 > limitOfNodes ||
+                        number3 > limitOfNodes ||
+                        number4 > limitOfNodes ||
+                        number5 > limitOfNodes ||
+                        number6 > limitOfNodes ||
+                        number7 > limitOfNodes ||
+                        number8 > limitOfNodes )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    //if (level == 0 &&
+                    //    (number2 <= number1 ||
+                    //    number3 <= number1 ||
+                    //    number4 <= number1 ||
+                    //    number5 <= number1 ||
+                    //    number6 <= number1 ||
+                    //    number7 <= number1 ||
+                    //    number8 <= number1) )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if( std::fabs(nodedata[2][number1]) > std::fabs(vxmax) ) vxmax = nodedata[2][number1];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );        
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
+
+            //printf("\n test in if III... \n");
+            //////////////////////////////////////////////////////////////////////////
+            //PART II
+            nodes.resize(restOfNodes);
+            nodedata[0].resize(restOfNodes);
+            nodedata[1].resize(restOfNodes);
+            nodedata[2].resize(restOfNodes);
+            nodedata[3].resize(restOfNodes);
+            nodedata[4].resize(restOfNodes);
+            nodedata[5].resize(restOfNodes);
+            //printf("\n test in if IV... \n");
+
+            for (size_t pos = limitOfNodes; pos < para->getParH(level)->numberOfNodes; pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1  = para->getParH(level)->coordinateX[pos];
+                    double x2  = para->getParH(level)->coordinateY[pos];
+                    double x3  = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    dn1 = pos - limitOfNodes;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[dn1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                    nodedata[0][dn1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[1][dn1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[2][dn1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                    nodedata[3][dn1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                    nodedata[4][dn1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                    nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    dn2 = number2 - limitOfNodes;
+                    dn3 = number3 - limitOfNodes;
+                    dn4 = number4 - limitOfNodes;
+                    dn5 = number5 - limitOfNodes;
+                    dn6 = number6 - limitOfNodes;
+                    dn7 = number7 - limitOfNodes;
+                    dn8 = number8 - limitOfNodes;
+                    //////////////////////////////////////////////////////////////////////////
+                    if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid==true) cells2.push_back( makeUbTuple(dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8) );        
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            //printf("\n test in if V... \n");
+            //WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeDataMS(fname,nodes,cells2,nodedatanames,nodedata);
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname2,nodes,cells2,nodedatanames,nodedata);
+            //printf("\n test in if VI... \n");
+            //////////////////////////////////////////////////////////////////////////
+            //printf("pos max: %.1f", posmax);
+            printf("\n vx max: %.1f at level: %d\n", vxmax, level);
+        } 
+        else
+        {
+            //printf("\n test in else I... \n");
+            nodes.resize(para->getParH(level)->numberOfNodes);
+            nodedata[0].resize(para->getParH(level)->numberOfNodes);
+            nodedata[1].resize(para->getParH(level)->numberOfNodes);
+            nodedata[2].resize(para->getParH(level)->numberOfNodes);
+            nodedata[3].resize(para->getParH(level)->numberOfNodes);
+            nodedata[4].resize(para->getParH(level)->numberOfNodes);
+            nodedata[5].resize(para->getParH(level)->numberOfNodes);
+
+            //printf("\n test in else II... \n");
+            for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //printf("\n test in else-for I pos = %d \n", pos);
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1  = para->getParH(level)->coordinateX[pos];
+                    double x2  = para->getParH(level)->coordinateY[pos];
+                    double x3  = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test in else-for II pos = %d \n", pos);
+                    nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                    nodedata[0][number1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[1][number1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                    nodedata[2][number1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                    nodedata[3][number1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                    nodedata[4][number1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                    nodedata[5][number1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test in else-for III pos = %d \n", pos);
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test in else-for VI pos = %d \n", pos);
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    //if (level == 0 &&
+                    //    (number2 <= number1 ||
+                    //    number3 <= number1 ||
+                    //    number4 <= number1 ||
+                    //    number5 <= number1 ||
+                    //    number6 <= number1 ||
+                    //    number7 <= number1 ||
+                    //    number8 <= number1) )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if( std::fabs(nodedata[2][number1]) > std::fabs(vxmax) ) vxmax = nodedata[2][number1];
+                    //////////////////////////////////////////////////////////////////////////
+                    //printf("\n test in else-for V pos = %d \n", pos);
+                    if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );        
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            //printf("\n test in else III... \n");
+            //WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeDataMS(fname,nodes,cells,nodedatanames,nodedata);
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
+            //WbWriterVtkXmlBinary::getInstance()->writeNodes(filenameVec2,nodes);
+            //printf("\n test in else IV... \n");
+            //////////////////////////////////////////////////////////////////////////
+            //printf("pos max: %.1f", posmax);
+            printf("\n vx max: %.1f at level: %d\n", vxmax, level);
+        }
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridEff(Parameter* para, int level, std::string& fname, std::string& filenameVec2) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("press");
+        nodedatanames.push_back("rho");
+        nodedatanames.push_back("vx1");
+        nodedatanames.push_back("vx2");
+        nodedatanames.push_back("vx3");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        vector<vector<double>> nodedata(nodedatanames.size());
+
+        nodes.resize(para->getParH(level)->numberOfNodes);
+        nodedata[0].resize(para->getParH(level)->numberOfNodes);
+        nodedata[1].resize(para->getParH(level)->numberOfNodes);
+        nodedata[2].resize(para->getParH(level)->numberOfNodes);
+        nodedata[3].resize(para->getParH(level)->numberOfNodes);
+        nodedata[4].resize(para->getParH(level)->numberOfNodes);
+        nodedata[5].resize(para->getParH(level)->numberOfNodes);
+
+        for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
+        {
+            if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+            {
+                //////////////////////////////////////////////////////////////////////////
+                double x1  = para->getParH(level)->coordinateX[pos];
+                double x2  = para->getParH(level)->coordinateY[pos];
+                double x3  = para->getParH(level)->coordinateZ[pos];
+                double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
+                double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
+                double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
+                //////////////////////////////////////////////////////////////////////////
+                number1 = pos;
+                neighborsFluid = true;
+                //////////////////////////////////////////////////////////////////////////
+                nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                nodedata[0][number1] = (double)pos;
+                //nodedata[0][number1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                nodedata[1][number1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                nodedata[2][number1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                nodedata[3][number1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                nodedata[4][number1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                nodedata[5][number1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                //////////////////////////////////////////////////////////////////////////
+                number2 = para->getParH(level)->neighborX[number1];
+                number3 = para->getParH(level)->neighborY[number2];
+                number4 = para->getParH(level)->neighborY[number1];
+                number5 = para->getParH(level)->neighborZ[number1];
+                number6 = para->getParH(level)->neighborZ[number2];
+                number7 = para->getParH(level)->neighborZ[number3];
+                number8 = para->getParH(level)->neighborZ[number4];
+                //////////////////////////////////////////////////////////////////////////
+                if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                //////////////////////////////////////////////////////////////////////////
+                //if (level == 0 &&
+                //    (number2 <= number1 ||
+                //    number3 <= number1 ||
+                //    number4 <= number1 ||
+                //    number5 <= number1 ||
+                //    number6 <= number1 ||
+                //    number7 <= number1 ||
+                //    number8 <= number1) )  neighborsFluid=false;
+                //////////////////////////////////////////////////////////////////////////
+                if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );        
+                //////////////////////////////////////////////////////////////////////////
+            }
+            if( std::fabs(nodedata[2][number1]) > std::fabs(vxmax) ) vxmax = nodedata[2][number1];
+        }
+        WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
+        printf("\n vx max: %.1f at level: %d\n", vxmax, level);
+    }
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridAsciiEff(Parameter* para, int level, std::string& fname, std::string& filenameVec2) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("press");
+        nodedatanames.push_back("rho");
+        nodedatanames.push_back("vx1");
+        nodedatanames.push_back("vx2");
+        nodedatanames.push_back("vx3");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        bool neighborsFluid;
+        double posmax = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        nodes.resize(para->getParH(level)->numberOfNodes);
+        nodedata[0].resize(para->getParH(level)->numberOfNodes);
+        nodedata[1].resize(para->getParH(level)->numberOfNodes);
+        nodedata[2].resize(para->getParH(level)->numberOfNodes);
+        nodedata[3].resize(para->getParH(level)->numberOfNodes);
+        nodedata[4].resize(para->getParH(level)->numberOfNodes);
+        nodedata[5].resize(para->getParH(level)->numberOfNodes);
+
+        for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
+        {
+            if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+            {
+                //////////////////////////////////////////////////////////////////////////
+                double x1  = para->getParH(level)->coordinateX[pos];
+                double x2  = para->getParH(level)->coordinateY[pos];
+                double x3  = para->getParH(level)->coordinateZ[pos];
+                double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
+                double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
+                double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
+                //////////////////////////////////////////////////////////////////////////
+                number1 = pos;
+                neighborsFluid = true;
+                //////////////////////////////////////////////////////////////////////////
+                nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                nodedata[0][number1] = (double)pos;
+                //nodedata[0][number1] = (double)para->getParH(level)->pressure[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                nodedata[1][number1] = (double)para->getParH(level)->rho[pos] / (double)3.0 * (double)para->getDensityRatio() * (double)para->getVelocityRatio() * (double)para->getVelocityRatio();
+                nodedata[2][number1] = (double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio();
+                nodedata[3][number1] = (double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio();
+                nodedata[4][number1] = (double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio();
+                nodedata[5][number1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                //////////////////////////////////////////////////////////////////////////
+                number2 = para->getParH(level)->neighborX[number1];
+                number3 = para->getParH(level)->neighborY[number2];
+                number4 = para->getParH(level)->neighborY[number1];
+                number5 = para->getParH(level)->neighborZ[number1];
+                number6 = para->getParH(level)->neighborZ[number2];
+                number7 = para->getParH(level)->neighborZ[number3];
+                number8 = para->getParH(level)->neighborZ[number4];
+                //////////////////////////////////////////////////////////////////////////
+                if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                //////////////////////////////////////////////////////////////////////////
+                //if (level == 0 &&
+                //    (number2 <= number1 ||
+                //    number3 <= number1 ||
+                //    number4 <= number1 ||
+                //    number5 <= number1 ||
+                //    number6 <= number1 ||
+                //    number7 <= number1 ||
+                //    number8 <= number1) )  neighborsFluid=false;
+                //////////////////////////////////////////////////////////////////////////
+                if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );        
+                //////////////////////////////////////////////////////////////////////////
+            }
+            if( std::fabs((double)pos) > std::fabs(posmax) ) posmax = (double)pos;
+        }
+        WbWriterVtkXmlASCII::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
+        //WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
+        ////WbWriterVtkXmlBinary::getInstance()->writeNodes(filenameVec2,nodes);
+        printf("\ncells: %.1f \n", (double)cells.size());
+        printf("nodes: %.1f \n", (double)nodes.size());
+        printf("pos max: %.1f \n", posmax);
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridMedianLT(Parameter* para, int level, vector<string >& fname) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("pressMed");
+        nodedatanames.push_back("rhoMed");
+        nodedatanames.push_back("vx1Med");
+        nodedatanames.push_back("vx2Med");
+        nodedatanames.push_back("vx3Med");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        //printf("\n test for if... \n");
+        for (unsigned int part=0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
 
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
 
@@ -1317,1202 +1317,1202 @@ namespace UnstructuredGridWriter
             endpos = startpos + sizeOfNodes;
 
             //////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-			for (size_t pos = startpos; pos < endpos; pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1  = para->getParH(level)->coordinateX[pos];
-					double x2  = para->getParH(level)->coordinateY[pos];
-					double x3  = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					dn1 = pos - startpos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[dn1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-					nodedata[0][dn1] = para->getParH(level)->press_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-					nodedata[1][dn1] = para->getParH(level)->rho_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-					nodedata[2][dn1] = para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio();
-					nodedata[3][dn1] = para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio();
-					nodedata[4][dn1] = para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio();
-					nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					if (number2 > endpos ||
-						number3 > endpos ||
-						number4 > endpos ||
-						number5 > endpos ||
-						number6 > endpos ||
-						number7 > endpos ||
-						number8 > endpos )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					dn2 = number2 - startpos;
-					dn3 = number3 - startpos;
-					dn4 = number4 - startpos;
-					dn5 = number5 - startpos;
-					dn6 = number6 - startpos;
-					dn7 = number7 - startpos;
-					dn8 = number8 - startpos;
-					//////////////////////////////////////////////////////////////////////////
-					if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid==true) cells.push_back( makeUbTuple(dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8) );		
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
-			//////////////////////////////////////////////////////////////////////////
-			printf("\n vx median max: %.1f at level: %d\n", vxmax, level);
-		} 
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridMedianLTConc(Parameter* para, int level, vector<string >& fname)
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("concMed");
-		nodedatanames.push_back("pressMed");
-		nodedatanames.push_back("rhoMed");
-		nodedatanames.push_back("vx1Med");
-		nodedatanames.push_back("vx2Med");
-		nodedatanames.push_back("vx3Med");
-		nodedatanames.push_back("geo");
-		unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
-		unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		//printf("\n test for if... \n");
-		for (unsigned int part = 0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+            for (size_t pos = startpos; pos < endpos; pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1  = para->getParH(level)->coordinateX[pos];
+                    double x2  = para->getParH(level)->coordinateY[pos];
+                    double x3  = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    dn1 = pos - startpos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[dn1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                    nodedata[0][dn1] = para->getParH(level)->press_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                    nodedata[1][dn1] = para->getParH(level)->rho_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                    nodedata[2][dn1] = para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio();
+                    nodedata[3][dn1] = para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio();
+                    nodedata[4][dn1] = para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio();
+                    nodedata[5][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (number2 > endpos ||
+                        number3 > endpos ||
+                        number4 > endpos ||
+                        number5 > endpos ||
+                        number6 > endpos ||
+                        number7 > endpos ||
+                        number8 > endpos )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    dn2 = number2 - startpos;
+                    dn3 = number3 - startpos;
+                    dn4 = number4 - startpos;
+                    dn5 = number5 - startpos;
+                    dn6 = number6 - startpos;
+                    dn7 = number7 - startpos;
+                    dn8 = number8 - startpos;
+                    //////////////////////////////////////////////////////////////////////////
+                    if( std::fabs(nodedata[2][dn1]) > std::fabs(vxmax) ) vxmax = nodedata[2][dn1];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid==true) cells.push_back( makeUbTuple(dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8) );        
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
+            //////////////////////////////////////////////////////////////////////////
+            printf("\n vx median max: %.1f at level: %d\n", vxmax, level);
+        } 
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridMedianLTConc(Parameter* para, int level, vector<string >& fname)
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("concMed");
+        nodedatanames.push_back("pressMed");
+        nodedatanames.push_back("rhoMed");
+        nodedatanames.push_back("vx1Med");
+        nodedatanames.push_back("vx2Med");
+        nodedatanames.push_back("vx3Med");
+        nodedatanames.push_back("geo");
+        unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
+        unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        //printf("\n test for if... \n");
+        for (unsigned int part = 0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
-			endpos = startpos + sizeOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-			for (unsigned int pos = startpos; pos < endpos; pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1 = para->getParH(level)->coordinateX[pos];
-					double x2 = para->getParH(level)->coordinateY[pos];
-					double x3 = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					dn1 = pos - startpos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
-					nodedata[0][dn1] = para->getParH(level)->Conc_Med_Out[pos];
-					nodedata[1][dn1] = para->getParH(level)->press_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-					nodedata[2][dn1] = para->getParH(level)->rho_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-					nodedata[3][dn1] = para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio();
-					nodedata[4][dn1] = para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio();
-					nodedata[5][dn1] = para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio();
-					nodedata[6][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID)  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					if (number2 > endpos ||
-						number3 > endpos ||
-						number4 > endpos ||
-						number5 > endpos ||
-						number6 > endpos ||
-						number7 > endpos ||
-						number8 > endpos)  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					dn2 = number2 - startpos;
-					dn3 = number3 - startpos;
-					dn4 = number4 - startpos;
-					dn5 = number5 - startpos;
-					dn6 = number6 - startpos;
-					dn7 = number7 - startpos;
-					dn8 = number8 - startpos;
-					//////////////////////////////////////////////////////////////////////////
-					if (std::fabs(nodedata[2][dn1]) > std::fabs(vxmax)) vxmax = nodedata[2][dn1];
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid == true) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
-			//////////////////////////////////////////////////////////////////////////
-			printf("\n vx median max: %.1f at level: %d\n", vxmax, level);
-		}
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridMedianLTwithDerivationsAndSqaredVelos(Parameter* para, int level, vector<string >& fname)
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("pressMed");
-		nodedatanames.push_back("rhoMed");
-		nodedatanames.push_back("vx1Med");
-		nodedatanames.push_back("vx2Med");
-		nodedatanames.push_back("vx3Med");
-		nodedatanames.push_back("D(vx1)");
-		nodedatanames.push_back("D(vx2)");
-		nodedatanames.push_back("D(vx3)");
-		nodedatanames.push_back("D(vx1)^2");
-		nodedatanames.push_back("D(vx2)^2");
-		nodedatanames.push_back("D(vx3)^2");
-		nodedatanames.push_back("D(vx1*vx2)");
-		nodedatanames.push_back("geo");
-		unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
-		unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		//printf("\n test for if... \n");
-		for (unsigned int part = 0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
+            endpos = startpos + sizeOfNodes;
+            //////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+            for (unsigned int pos = startpos; pos < endpos; pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1 = para->getParH(level)->coordinateX[pos];
+                    double x2 = para->getParH(level)->coordinateY[pos];
+                    double x3 = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    dn1 = pos - startpos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
+                    nodedata[0][dn1] = para->getParH(level)->Conc_Med_Out[pos];
+                    nodedata[1][dn1] = para->getParH(level)->press_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                    nodedata[2][dn1] = para->getParH(level)->rho_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                    nodedata[3][dn1] = para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio();
+                    nodedata[4][dn1] = para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio();
+                    nodedata[5][dn1] = para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio();
+                    nodedata[6][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID)  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (number2 > endpos ||
+                        number3 > endpos ||
+                        number4 > endpos ||
+                        number5 > endpos ||
+                        number6 > endpos ||
+                        number7 > endpos ||
+                        number8 > endpos)  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    dn2 = number2 - startpos;
+                    dn3 = number3 - startpos;
+                    dn4 = number4 - startpos;
+                    dn5 = number5 - startpos;
+                    dn6 = number6 - startpos;
+                    dn7 = number7 - startpos;
+                    dn8 = number8 - startpos;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (std::fabs(nodedata[2][dn1]) > std::fabs(vxmax)) vxmax = nodedata[2][dn1];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid == true) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
+            //////////////////////////////////////////////////////////////////////////
+            printf("\n vx median max: %.1f at level: %d\n", vxmax, level);
+        }
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridMedianLTwithDerivationsAndSqaredVelos(Parameter* para, int level, vector<string >& fname)
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("pressMed");
+        nodedatanames.push_back("rhoMed");
+        nodedatanames.push_back("vx1Med");
+        nodedatanames.push_back("vx2Med");
+        nodedatanames.push_back("vx3Med");
+        nodedatanames.push_back("D(vx1)");
+        nodedatanames.push_back("D(vx2)");
+        nodedatanames.push_back("D(vx3)");
+        nodedatanames.push_back("D(vx1)^2");
+        nodedatanames.push_back("D(vx2)^2");
+        nodedatanames.push_back("D(vx3)^2");
+        nodedatanames.push_back("D(vx1*vx2)");
+        nodedatanames.push_back("geo");
+        unsigned int number1, number2, number3, number4, number5, number6, number7, number8;
+        unsigned int dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        //printf("\n test for if... \n");
+        for (unsigned int part = 0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
-			endpos = startpos + sizeOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			nodedata[6].resize(sizeOfNodes);
-			nodedata[7].resize(sizeOfNodes);
-			nodedata[8].resize(sizeOfNodes);
-			nodedata[9].resize(sizeOfNodes);
-			nodedata[10].resize(sizeOfNodes);
-			nodedata[11].resize(sizeOfNodes);
-			nodedata[12].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-			for (unsigned int pos = startpos; pos < endpos; pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1 = para->getParH(level)->coordinateX[pos];
-					double x2 = para->getParH(level)->coordinateY[pos];
-					double x3 = para->getParH(level)->coordinateZ[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					dn1 = pos - startpos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
-					nodedata[0][dn1]  = para->getParH(level)->press_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-					nodedata[1][dn1]  = para->getParH(level)->rho_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-					nodedata[2][dn1]  = para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio();
-					nodedata[3][dn1]  = para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio();
-					nodedata[4][dn1]  = para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio();
-					nodedata[5][dn1]  = (((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio()));
-					nodedata[6][dn1]  = (((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio()));
-					nodedata[7][dn1]  = (((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio()));
-					nodedata[8][dn1]  = 
-						(((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio())) * 
-						(((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio()));
-					nodedata[9][dn1]  = 
-						(((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio())) * 
-						(((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio()));
-					nodedata[10][dn1] = 
-						(((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio())) * 
-						(((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio()));
-					nodedata[11][dn1] =
-						(((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio())) *
-						(((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio()));
-					//nodedata[8][dn1]  = (((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) * ((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()));
-					//nodedata[9][dn1]  = (((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) * ((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()));
-					//nodedata[10][dn1] = (((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()) * ((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()));
-					nodedata[12][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID)  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					if (number2 > endpos ||
-						number3 > endpos ||
-						number4 > endpos ||
-						number5 > endpos ||
-						number6 > endpos ||
-						number7 > endpos ||
-						number8 > endpos)  neighborsFluid = false;
-					//////////////////////////////////////////////////////////////////////////
-					dn2 = number2 - startpos;
-					dn3 = number3 - startpos;
-					dn4 = number4 - startpos;
-					dn5 = number5 - startpos;
-					dn6 = number6 - startpos;
-					dn7 = number7 - startpos;
-					dn8 = number8 - startpos;
-					//////////////////////////////////////////////////////////////////////////
-					if (std::fabs(nodedata[2][dn1]) > std::fabs(vxmax)) vxmax = nodedata[2][dn1];
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid == true) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
-			//////////////////////////////////////////////////////////////////////////
-			printf("\n vx median max: %.1f at level: %d\n", vxmax, level);
-		}
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridEffMedian(Parameter* para, int level, std::string& fname) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("pressMed");
-		nodedatanames.push_back("rhoMed");
-		nodedatanames.push_back("vx1Med");
-		nodedatanames.push_back("vx2Med");
-		nodedatanames.push_back("vx3Med");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		bool neighborsFluid;
-		vector< vector<double>> nodedata(nodedatanames.size());
-
-		nodes.resize(para->getParH(level)->numberOfNodes);
-		nodedata[0].resize(para->getParH(level)->numberOfNodes);
-		nodedata[1].resize(para->getParH(level)->numberOfNodes);
-		nodedata[2].resize(para->getParH(level)->numberOfNodes);
-		nodedata[3].resize(para->getParH(level)->numberOfNodes);
-		nodedata[4].resize(para->getParH(level)->numberOfNodes);
-		nodedata[5].resize(para->getParH(level)->numberOfNodes);
-
-		for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
-		{
-			if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-			{
-				//////////////////////////////////////////////////////////////////////////
-				double x1  = para->getParH(level)->coordinateX[pos];
-				double x2  = para->getParH(level)->coordinateY[pos];
-				double x3  = para->getParH(level)->coordinateZ[pos];
-				double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
-				double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
-				double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
-				//////////////////////////////////////////////////////////////////////////
-				number1 = pos;
-				neighborsFluid = true;
-				//////////////////////////////////////////////////////////////////////////
-				nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-				nodedata[0][number1] = para->getParH(level)->press_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[1][number1] = para->getParH(level)->rho_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
-				nodedata[2][number1] = para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio();
-				nodedata[3][number1] = para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio();
-				nodedata[4][number1] = para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio();
-				nodedata[5][number1] = para->getParH(level)->typeOfGridNode[pos];
-				//////////////////////////////////////////////////////////////////////////
-				number2 = para->getParH(level)->neighborX[number1];
-				number3 = para->getParH(level)->neighborY[number2];
-				number4 = para->getParH(level)->neighborY[number1];
-				number5 = para->getParH(level)->neighborZ[number1];
-				number6 = para->getParH(level)->neighborZ[number2];
-				number7 = para->getParH(level)->neighborZ[number3];
-				number8 = para->getParH(level)->neighborZ[number4];
-				//////////////////////////////////////////////////////////////////////////
-				if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-				//////////////////////////////////////////////////////////////////////////
-				//if (level == 0 &&
-				//	(number2 <= number1 ||
-				//	number3 <= number1 ||
-				//	number4 <= number1 ||
-				//	number5 <= number1 ||
-				//	number6 <= number1 ||
-				//	number7 <= number1 ||
-				//	number8 <= number1) )  neighborsFluid=false;
-				//////////////////////////////////////////////////////////////////////////
-				if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );		
-				//////////////////////////////////////////////////////////////////////////
-			}
-		}
-		WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridEff2ndMoments(Parameter* para, int level, std::string& fname) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("kxyFromfcNEQ");
-		nodedatanames.push_back("kyzFromfcNEQ");
-		nodedatanames.push_back("kxzFromfcNEQ");
-		nodedatanames.push_back("kxxMyyFromfcNEQ");
-		nodedatanames.push_back("kxxMzzFromfcNEQ");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		bool neighborsFluid;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		nodes.resize(para->getParH(level)->numberOfNodes);
-		nodedata[0].resize(para->getParH(level)->numberOfNodes);
-		nodedata[1].resize(para->getParH(level)->numberOfNodes);
-		nodedata[2].resize(para->getParH(level)->numberOfNodes);
-		nodedata[3].resize(para->getParH(level)->numberOfNodes);
-		nodedata[4].resize(para->getParH(level)->numberOfNodes);
-		nodedata[5].resize(para->getParH(level)->numberOfNodes);
-
-		for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
-		{
-			if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-			{
-				//////////////////////////////////////////////////////////////////////////
-				double x1  = para->getParH(level)->coordinateX[pos];
-				double x2  = para->getParH(level)->coordinateY[pos];
-				double x3  = para->getParH(level)->coordinateZ[pos];
-				double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
-				double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
-				double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
-				//////////////////////////////////////////////////////////////////////////
-				number1 = pos;
-				neighborsFluid = true;
-				//////////////////////////////////////////////////////////////////////////
-				nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-				nodedata[0][number1] = para->getParH(level)->kxyFromfcNEQ[pos];
-				nodedata[1][number1] = para->getParH(level)->kyzFromfcNEQ[pos];
-				nodedata[2][number1] = para->getParH(level)->kxzFromfcNEQ[pos];
-				nodedata[3][number1] = para->getParH(level)->kxxMyyFromfcNEQ[pos];
-				nodedata[4][number1] = para->getParH(level)->kxxMzzFromfcNEQ[pos];
-				nodedata[5][number1] = para->getParH(level)->typeOfGridNode[pos];
-				//////////////////////////////////////////////////////////////////////////
-				number2 = para->getParH(level)->neighborX[number1];
-				number3 = para->getParH(level)->neighborY[number2];
-				number4 = para->getParH(level)->neighborY[number1];
-				number5 = para->getParH(level)->neighborZ[number1];
-				number6 = para->getParH(level)->neighborZ[number2];
-				number7 = para->getParH(level)->neighborZ[number3];
-				number8 = para->getParH(level)->neighborZ[number4];
-				//////////////////////////////////////////////////////////////////////////
-				if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-					para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-				//////////////////////////////////////////////////////////////////////////
-				if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );		
-				//////////////////////////////////////////////////////////////////////////
-			}
-		}
-		WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredParticles(Parameter* para, int level, std::string& fname) 
-	{
-		vector< UbTupleFloat3 > particlePosition;
-		vector< string > particleDataNames;
-		particleDataNames.push_back("ID");
-		particleDataNames.push_back("timestep");
-		particleDataNames.push_back("particleVx");
-		particleDataNames.push_back("particleVy");
-		particleDataNames.push_back("particleVz");
-		//particleDataNames.push_back("tauxx");
-		//particleDataNames.push_back("tauyy");
-		//particleDataNames.push_back("tauzz");
-		//particleDataNames.push_back("tauxy");
-		//particleDataNames.push_back("tauxz");
-		//particleDataNames.push_back("tauyz");
-		vector< vector< double > > particleData(particleDataNames.size());
-		//////////////////////////////////////////////////////////////////////////
-		unsigned int numberOfParticles  = para->getParH(level)->plp.numberOfParticles;
-		unsigned int timestep           = para->getParH(level)->plp.numberOfTimestepsParticles;
-		//////////////////////////////////////////////////////////////////////////
-		unsigned int pos = 0;
-		unsigned int sizeOfNodes = numberOfParticles * timestep;
-		//////////////////////////////////////////////////////////////////////////
-		particlePosition.resize(sizeOfNodes);
-		for (unsigned int i = 0; i < particleDataNames.size(); i++)
-		{
-			particleData[i].resize(sizeOfNodes);
-		}
-		//////////////////////////////////////////////////////////////////////////
-		for (unsigned int i = 0; i < timestep; i++)
-		{
-			for (unsigned int j = 0; j < numberOfParticles; j++)
-			{
-				//////////////////////////////////////////////////////////////////////////
-				double x1  = (double)para->getParH(level)->plp.coordXabsolut[pos];
-				double x2  = (double)para->getParH(level)->plp.coordYabsolut[pos];
-				double x3  = (double)para->getParH(level)->plp.coordZabsolut[pos];
-				//////////////////////////////////////////////////////////////////////////
-				particlePosition[pos]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-				particleData[0][pos] = (double)para->getParH(level)->plp.ID[j];
-				particleData[1][pos] = (double)para->getParH(level)->plp.timestep[i];
-				particleData[2][pos] = (double)para->getParH(level)->plp.veloX[pos];
-				particleData[3][pos] = (double)para->getParH(level)->plp.veloY[pos];
-				particleData[4][pos] = (double)para->getParH(level)->plp.veloZ[pos];
-				//////////////////////////////////////////////////////////////////////////
-				pos++;
-			}
-		}
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname,particlePosition,particleDataNames,particleData);
-		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-	} 
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridEff2ndMomentsLT(Parameter* para, int level, vector<string >& fname) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("kxyFromfcNEQ");
-		nodedatanames.push_back("kyzFromfcNEQ");
-		nodedatanames.push_back("kxzFromfcNEQ");
-		nodedatanames.push_back("kxxMyyFromfcNEQ");
-		nodedatanames.push_back("kxxMzzFromfcNEQ");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		//printf("\n test for if... \n");
-		for (unsigned int part=0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
+            endpos = startpos + sizeOfNodes;
+            //////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            nodedata[6].resize(sizeOfNodes);
+            nodedata[7].resize(sizeOfNodes);
+            nodedata[8].resize(sizeOfNodes);
+            nodedata[9].resize(sizeOfNodes);
+            nodedata[10].resize(sizeOfNodes);
+            nodedata[11].resize(sizeOfNodes);
+            nodedata[12].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+            for (unsigned int pos = startpos; pos < endpos; pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1 = para->getParH(level)->coordinateX[pos];
+                    double x2 = para->getParH(level)->coordinateY[pos];
+                    double x3 = para->getParH(level)->coordinateZ[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    dn1 = pos - startpos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[dn1] = (makeUbTuple((float)(x1), (float)(x2), (float)(x3)));
+                    nodedata[0][dn1]  = para->getParH(level)->press_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                    nodedata[1][dn1]  = para->getParH(level)->rho_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                    nodedata[2][dn1]  = para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio();
+                    nodedata[3][dn1]  = para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio();
+                    nodedata[4][dn1]  = para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio();
+                    nodedata[5][dn1]  = (((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio()));
+                    nodedata[6][dn1]  = (((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio()));
+                    nodedata[7][dn1]  = (((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio()));
+                    nodedata[8][dn1]  = 
+                        (((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio())) * 
+                        (((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio()));
+                    nodedata[9][dn1]  = 
+                        (((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio())) * 
+                        (((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio()));
+                    nodedata[10][dn1] = 
+                        (((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio())) * 
+                        (((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio()));
+                    nodedata[11][dn1] =
+                        (((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio())) *
+                        (((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) - (para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio()));
+                    //nodedata[8][dn1]  = (((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()) * ((double)para->getParH(level)->velocityX[pos] * (double)para->getVelocityRatio()));
+                    //nodedata[9][dn1]  = (((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()) * ((double)para->getParH(level)->velocityY[pos] * (double)para->getVelocityRatio()));
+                    //nodedata[10][dn1] = (((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()) * ((double)para->getParH(level)->velocityZ[pos] * (double)para->getVelocityRatio()));
+                    nodedata[12][dn1] = (double)para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID)  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (number2 > endpos ||
+                        number3 > endpos ||
+                        number4 > endpos ||
+                        number5 > endpos ||
+                        number6 > endpos ||
+                        number7 > endpos ||
+                        number8 > endpos)  neighborsFluid = false;
+                    //////////////////////////////////////////////////////////////////////////
+                    dn2 = number2 - startpos;
+                    dn3 = number3 - startpos;
+                    dn4 = number4 - startpos;
+                    dn5 = number5 - startpos;
+                    dn6 = number6 - startpos;
+                    dn7 = number7 - startpos;
+                    dn8 = number8 - startpos;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (std::fabs(nodedata[2][dn1]) > std::fabs(vxmax)) vxmax = nodedata[2][dn1];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid == true) cells.push_back(makeUbTuple(dn1, dn2, dn3, dn4, dn5, dn6, dn7, dn8));
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part], nodes, cells, nodedatanames, nodedata);
+            //////////////////////////////////////////////////////////////////////////
+            printf("\n vx median max: %.1f at level: %d\n", vxmax, level);
+        }
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridEffMedian(Parameter* para, int level, std::string& fname) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("pressMed");
+        nodedatanames.push_back("rhoMed");
+        nodedatanames.push_back("vx1Med");
+        nodedatanames.push_back("vx2Med");
+        nodedatanames.push_back("vx3Med");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        bool neighborsFluid;
+        vector< vector<double>> nodedata(nodedatanames.size());
+
+        nodes.resize(para->getParH(level)->numberOfNodes);
+        nodedata[0].resize(para->getParH(level)->numberOfNodes);
+        nodedata[1].resize(para->getParH(level)->numberOfNodes);
+        nodedata[2].resize(para->getParH(level)->numberOfNodes);
+        nodedata[3].resize(para->getParH(level)->numberOfNodes);
+        nodedata[4].resize(para->getParH(level)->numberOfNodes);
+        nodedata[5].resize(para->getParH(level)->numberOfNodes);
+
+        for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
+        {
+            if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+            {
+                //////////////////////////////////////////////////////////////////////////
+                double x1  = para->getParH(level)->coordinateX[pos];
+                double x2  = para->getParH(level)->coordinateY[pos];
+                double x3  = para->getParH(level)->coordinateZ[pos];
+                double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
+                double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
+                double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
+                //////////////////////////////////////////////////////////////////////////
+                number1 = pos;
+                neighborsFluid = true;
+                //////////////////////////////////////////////////////////////////////////
+                nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                nodedata[0][number1] = para->getParH(level)->press_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[1][number1] = para->getParH(level)->rho_SP_Med_Out[pos] / 3.0f * para->getDensityRatio() * para->getVelocityRatio() * para->getVelocityRatio();
+                nodedata[2][number1] = para->getParH(level)->vx_SP_Med_Out[pos] * para->getVelocityRatio();
+                nodedata[3][number1] = para->getParH(level)->vy_SP_Med_Out[pos] * para->getVelocityRatio();
+                nodedata[4][number1] = para->getParH(level)->vz_SP_Med_Out[pos] * para->getVelocityRatio();
+                nodedata[5][number1] = para->getParH(level)->typeOfGridNode[pos];
+                //////////////////////////////////////////////////////////////////////////
+                number2 = para->getParH(level)->neighborX[number1];
+                number3 = para->getParH(level)->neighborY[number2];
+                number4 = para->getParH(level)->neighborY[number1];
+                number5 = para->getParH(level)->neighborZ[number1];
+                number6 = para->getParH(level)->neighborZ[number2];
+                number7 = para->getParH(level)->neighborZ[number3];
+                number8 = para->getParH(level)->neighborZ[number4];
+                //////////////////////////////////////////////////////////////////////////
+                if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                //////////////////////////////////////////////////////////////////////////
+                //if (level == 0 &&
+                //    (number2 <= number1 ||
+                //    number3 <= number1 ||
+                //    number4 <= number1 ||
+                //    number5 <= number1 ||
+                //    number6 <= number1 ||
+                //    number7 <= number1 ||
+                //    number8 <= number1) )  neighborsFluid=false;
+                //////////////////////////////////////////////////////////////////////////
+                if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );        
+                //////////////////////////////////////////////////////////////////////////
+            }
+        }
+        WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridEff2ndMoments(Parameter* para, int level, std::string& fname) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("kxyFromfcNEQ");
+        nodedatanames.push_back("kyzFromfcNEQ");
+        nodedatanames.push_back("kxzFromfcNEQ");
+        nodedatanames.push_back("kxxMyyFromfcNEQ");
+        nodedatanames.push_back("kxxMzzFromfcNEQ");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        bool neighborsFluid;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        nodes.resize(para->getParH(level)->numberOfNodes);
+        nodedata[0].resize(para->getParH(level)->numberOfNodes);
+        nodedata[1].resize(para->getParH(level)->numberOfNodes);
+        nodedata[2].resize(para->getParH(level)->numberOfNodes);
+        nodedata[3].resize(para->getParH(level)->numberOfNodes);
+        nodedata[4].resize(para->getParH(level)->numberOfNodes);
+        nodedata[5].resize(para->getParH(level)->numberOfNodes);
+
+        for (size_t pos = 0; pos < para->getParH(level)->numberOfNodes; pos++)
+        {
+            if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+            {
+                //////////////////////////////////////////////////////////////////////////
+                double x1  = para->getParH(level)->coordinateX[pos];
+                double x2  = para->getParH(level)->coordinateY[pos];
+                double x3  = para->getParH(level)->coordinateZ[pos];
+                double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
+                double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
+                double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
+                //////////////////////////////////////////////////////////////////////////
+                number1 = pos;
+                neighborsFluid = true;
+                //////////////////////////////////////////////////////////////////////////
+                nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                nodedata[0][number1] = para->getParH(level)->kxyFromfcNEQ[pos];
+                nodedata[1][number1] = para->getParH(level)->kyzFromfcNEQ[pos];
+                nodedata[2][number1] = para->getParH(level)->kxzFromfcNEQ[pos];
+                nodedata[3][number1] = para->getParH(level)->kxxMyyFromfcNEQ[pos];
+                nodedata[4][number1] = para->getParH(level)->kxxMzzFromfcNEQ[pos];
+                nodedata[5][number1] = para->getParH(level)->typeOfGridNode[pos];
+                //////////////////////////////////////////////////////////////////////////
+                number2 = para->getParH(level)->neighborX[number1];
+                number3 = para->getParH(level)->neighborY[number2];
+                number4 = para->getParH(level)->neighborY[number1];
+                number5 = para->getParH(level)->neighborZ[number1];
+                number6 = para->getParH(level)->neighborZ[number2];
+                number7 = para->getParH(level)->neighborZ[number3];
+                number8 = para->getParH(level)->neighborZ[number4];
+                //////////////////////////////////////////////////////////////////////////
+                if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                    para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                //////////////////////////////////////////////////////////////////////////
+                if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );        
+                //////////////////////////////////////////////////////////////////////////
+            }
+        }
+        WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname,nodes,cells,nodedatanames,nodedata);
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredParticles(Parameter* para, int level, std::string& fname) 
+    {
+        vector< UbTupleFloat3 > particlePosition;
+        vector< string > particleDataNames;
+        particleDataNames.push_back("ID");
+        particleDataNames.push_back("timestep");
+        particleDataNames.push_back("particleVx");
+        particleDataNames.push_back("particleVy");
+        particleDataNames.push_back("particleVz");
+        //particleDataNames.push_back("tauxx");
+        //particleDataNames.push_back("tauyy");
+        //particleDataNames.push_back("tauzz");
+        //particleDataNames.push_back("tauxy");
+        //particleDataNames.push_back("tauxz");
+        //particleDataNames.push_back("tauyz");
+        vector< vector< double > > particleData(particleDataNames.size());
+        //////////////////////////////////////////////////////////////////////////
+        unsigned int numberOfParticles  = para->getParH(level)->plp.numberOfParticles;
+        unsigned int timestep           = para->getParH(level)->plp.numberOfTimestepsParticles;
+        //////////////////////////////////////////////////////////////////////////
+        unsigned int pos = 0;
+        unsigned int sizeOfNodes = numberOfParticles * timestep;
+        //////////////////////////////////////////////////////////////////////////
+        particlePosition.resize(sizeOfNodes);
+        for (unsigned int i = 0; i < particleDataNames.size(); i++)
+        {
+            particleData[i].resize(sizeOfNodes);
+        }
+        //////////////////////////////////////////////////////////////////////////
+        for (unsigned int i = 0; i < timestep; i++)
+        {
+            for (unsigned int j = 0; j < numberOfParticles; j++)
+            {
+                //////////////////////////////////////////////////////////////////////////
+                double x1  = (double)para->getParH(level)->plp.coordXabsolut[pos];
+                double x2  = (double)para->getParH(level)->plp.coordYabsolut[pos];
+                double x3  = (double)para->getParH(level)->plp.coordZabsolut[pos];
+                //////////////////////////////////////////////////////////////////////////
+                particlePosition[pos]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                particleData[0][pos] = (double)para->getParH(level)->plp.ID[j];
+                particleData[1][pos] = (double)para->getParH(level)->plp.timestep[i];
+                particleData[2][pos] = (double)para->getParH(level)->plp.veloX[pos];
+                particleData[3][pos] = (double)para->getParH(level)->plp.veloY[pos];
+                particleData[4][pos] = (double)para->getParH(level)->plp.veloZ[pos];
+                //////////////////////////////////////////////////////////////////////////
+                pos++;
+            }
+        }
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        WbWriterVtkXmlBinary::getInstance()->writeNodesWithNodeData(fname,particlePosition,particleDataNames,particleData);
+        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+    } 
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridEff2ndMomentsLT(Parameter* para, int level, vector<string >& fname) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("kxyFromfcNEQ");
+        nodedatanames.push_back("kyzFromfcNEQ");
+        nodedatanames.push_back("kxzFromfcNEQ");
+        nodedatanames.push_back("kxxMyyFromfcNEQ");
+        nodedatanames.push_back("kxxMzzFromfcNEQ");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        //printf("\n test for if... \n");
+        for (unsigned int part=0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
-			endpos = startpos + sizeOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-			for (unsigned int pos=startpos;pos<endpos;pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1  = para->getParH(level)->coordinateX[pos];
-					double x2  = para->getParH(level)->coordinateY[pos];
-					double x3  = para->getParH(level)->coordinateZ[pos];
-					double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
-					double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
-					double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-					nodedata[0][number1] = para->getParH(level)->kxyFromfcNEQ[pos];
-					nodedata[1][number1] = para->getParH(level)->kyzFromfcNEQ[pos];
-					nodedata[2][number1] = para->getParH(level)->kxzFromfcNEQ[pos];
-					nodedata[3][number1] = para->getParH(level)->kxxMyyFromfcNEQ[pos];
-					nodedata[4][number1] = para->getParH(level)->kxxMzzFromfcNEQ[pos];
-					nodedata[5][number1] = para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );		
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
-		} 
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridEff3rdMomentsLT(Parameter* para, int level, vector<string >& fname) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("CUMbbb");
-		nodedatanames.push_back("CUMabc");
-		nodedatanames.push_back("CUMbac");
-		nodedatanames.push_back("CUMbca");
-		nodedatanames.push_back("CUMcba");
-		nodedatanames.push_back("CUMacb");
-		nodedatanames.push_back("CUMcab");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		//printf("\n test for if... \n");
-		for (unsigned int part=0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
+            endpos = startpos + sizeOfNodes;
+            //////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+            for (unsigned int pos=startpos;pos<endpos;pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1  = para->getParH(level)->coordinateX[pos];
+                    double x2  = para->getParH(level)->coordinateY[pos];
+                    double x3  = para->getParH(level)->coordinateZ[pos];
+                    double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
+                    double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
+                    double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                    nodedata[0][number1] = para->getParH(level)->kxyFromfcNEQ[pos];
+                    nodedata[1][number1] = para->getParH(level)->kyzFromfcNEQ[pos];
+                    nodedata[2][number1] = para->getParH(level)->kxzFromfcNEQ[pos];
+                    nodedata[3][number1] = para->getParH(level)->kxxMyyFromfcNEQ[pos];
+                    nodedata[4][number1] = para->getParH(level)->kxxMzzFromfcNEQ[pos];
+                    nodedata[5][number1] = para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );        
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
+        } 
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridEff3rdMomentsLT(Parameter* para, int level, vector<string >& fname) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("CUMbbb");
+        nodedatanames.push_back("CUMabc");
+        nodedatanames.push_back("CUMbac");
+        nodedatanames.push_back("CUMbca");
+        nodedatanames.push_back("CUMcba");
+        nodedatanames.push_back("CUMacb");
+        nodedatanames.push_back("CUMcab");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        //printf("\n test for if... \n");
+        for (unsigned int part=0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
-			endpos = startpos + sizeOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			nodedata[6].resize(sizeOfNodes);
-			nodedata[7].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-			for (unsigned int pos=startpos;pos<endpos;pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1  = para->getParH(level)->coordinateX[pos];
-					double x2  = para->getParH(level)->coordinateY[pos];
-					double x3  = para->getParH(level)->coordinateZ[pos];
-					double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
-					double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
-					double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-					nodedata[0][number1] = para->getParH(level)->CUMbbb[pos];
-					nodedata[1][number1] = para->getParH(level)->CUMabc[pos];
-					nodedata[2][number1] = para->getParH(level)->CUMbac[pos];
-					nodedata[3][number1] = para->getParH(level)->CUMbca[pos];
-					nodedata[4][number1] = para->getParH(level)->CUMcba[pos];
-					nodedata[5][number1] = para->getParH(level)->CUMacb[pos];
-					nodedata[6][number1] = para->getParH(level)->CUMcab[pos];
-					nodedata[7][number1] = para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );		
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
-		} 
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeUnstrucuredGridEffHigherMomentsLT(Parameter* para, int level, vector<string >& fname) 
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleUInt8 > cells;
-		//vector< UbTupleUInt8 > cells2;
-		vector< string > nodedatanames;
-		nodedatanames.push_back("CUMcbb");
-		nodedatanames.push_back("CUMbcb");
-		nodedatanames.push_back("CUMbbc");
-		nodedatanames.push_back("CUMcca");
-		nodedatanames.push_back("CUMcac");
-		nodedatanames.push_back("CUMacc");
-		nodedatanames.push_back("CUMbcc");
-		nodedatanames.push_back("CUMcbc");
-		nodedatanames.push_back("CUMccb");
-		nodedatanames.push_back("CUMccc");
-		nodedatanames.push_back("geo");
-		unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
-		unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
-		bool neighborsFluid;
-		double vxmax = 0;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		vector< vector< double > > nodedata(nodedatanames.size());
-
-		//printf("\n test for if... \n");
-		for (unsigned int part=0; part < fname.size(); part++)
-		{
-			vxmax = 0;
-			//printf("\n test in if I... \n");
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
+            endpos = startpos + sizeOfNodes;
+            //////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            nodedata[6].resize(sizeOfNodes);
+            nodedata[7].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+            for (unsigned int pos=startpos;pos<endpos;pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1  = para->getParH(level)->coordinateX[pos];
+                    double x2  = para->getParH(level)->coordinateY[pos];
+                    double x3  = para->getParH(level)->coordinateZ[pos];
+                    double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
+                    double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
+                    double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                    nodedata[0][number1] = para->getParH(level)->CUMbbb[pos];
+                    nodedata[1][number1] = para->getParH(level)->CUMabc[pos];
+                    nodedata[2][number1] = para->getParH(level)->CUMbac[pos];
+                    nodedata[3][number1] = para->getParH(level)->CUMbca[pos];
+                    nodedata[4][number1] = para->getParH(level)->CUMcba[pos];
+                    nodedata[5][number1] = para->getParH(level)->CUMacb[pos];
+                    nodedata[6][number1] = para->getParH(level)->CUMcab[pos];
+                    nodedata[7][number1] = para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );        
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
+        } 
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeUnstrucuredGridEffHigherMomentsLT(Parameter* para, int level, vector<string >& fname) 
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleUInt8 > cells;
+        //vector< UbTupleUInt8 > cells2;
+        vector< string > nodedatanames;
+        nodedatanames.push_back("CUMcbb");
+        nodedatanames.push_back("CUMbcb");
+        nodedatanames.push_back("CUMbbc");
+        nodedatanames.push_back("CUMcca");
+        nodedatanames.push_back("CUMcac");
+        nodedatanames.push_back("CUMacc");
+        nodedatanames.push_back("CUMbcc");
+        nodedatanames.push_back("CUMcbc");
+        nodedatanames.push_back("CUMccb");
+        nodedatanames.push_back("CUMccc");
+        nodedatanames.push_back("geo");
+        unsigned int number1,number2,number3,number4,number5,number6,number7,number8;
+        unsigned int dn1,dn2,dn3,dn4,dn5,dn6,dn7,dn8;
+        bool neighborsFluid;
+        double vxmax = 0;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        vector< vector< double > > nodedata(nodedatanames.size());
+
+        //printf("\n test for if... \n");
+        for (unsigned int part=0; part < fname.size(); part++)
+        {
+            vxmax = 0;
+            //printf("\n test in if I... \n");
+            //////////////////////////////////////////////////////////////////////////
             sizeOfNodes = FilePartCalculator::calculateNumberOfNodesInPart(para->getParH(level)->numberOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
-			endpos = startpos + sizeOfNodes;
-			//////////////////////////////////////////////////////////////////////////
-			cells.clear();
-			nodes.resize(sizeOfNodes);
-			nodedata[0].resize(sizeOfNodes);
-			nodedata[1].resize(sizeOfNodes);
-			nodedata[2].resize(sizeOfNodes);
-			nodedata[3].resize(sizeOfNodes);
-			nodedata[4].resize(sizeOfNodes);
-			nodedata[5].resize(sizeOfNodes);
-			nodedata[6].resize(sizeOfNodes);
-			nodedata[7].resize(sizeOfNodes);
-			nodedata[8].resize(sizeOfNodes);
-			nodedata[9].resize(sizeOfNodes);
-			nodedata[10].resize(sizeOfNodes);
-			//////////////////////////////////////////////////////////////////////////
-			//printf("\n test in if II... \n");
-			for (unsigned int pos=startpos;pos<endpos;pos++)
-			{
-				if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
-				{
-					//////////////////////////////////////////////////////////////////////////
-					double x1  = para->getParH(level)->coordinateX[pos];
-					double x2  = para->getParH(level)->coordinateY[pos];
-					double x3  = para->getParH(level)->coordinateZ[pos];
-					double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
-					double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
-					double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
-					//////////////////////////////////////////////////////////////////////////
-					number1 = pos;
-					neighborsFluid = true;
-					//////////////////////////////////////////////////////////////////////////
-					nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
-					nodedata[0][number1] = para->getParH(level)->CUMcbb[pos];
-					nodedata[1][number1] = para->getParH(level)->CUMbcb[pos];
-					nodedata[2][number1] = para->getParH(level)->CUMbbc[pos];
-					nodedata[3][number1] = para->getParH(level)->CUMcca[pos];
-					nodedata[4][number1] = para->getParH(level)->CUMcac[pos];
-					nodedata[5][number1] = para->getParH(level)->CUMacc[pos];
-					nodedata[6][number1] = para->getParH(level)->CUMbcc[pos];
-					nodedata[7][number1] = para->getParH(level)->CUMcbc[pos];
-					nodedata[8][number1] = para->getParH(level)->CUMccb[pos];
-					nodedata[9][number1] = para->getParH(level)->CUMccc[pos];
-					nodedata[10][number1] = para->getParH(level)->typeOfGridNode[pos];
-					//////////////////////////////////////////////////////////////////////////
-					number2 = para->getParH(level)->neighborX[number1];
-					number3 = para->getParH(level)->neighborY[number2];
-					number4 = para->getParH(level)->neighborY[number1];
-					number5 = para->getParH(level)->neighborZ[number1];
-					number6 = para->getParH(level)->neighborZ[number2];
-					number7 = para->getParH(level)->neighborZ[number3];
-					number8 = para->getParH(level)->neighborZ[number4];
-					//////////////////////////////////////////////////////////////////////////
-					if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
-						para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
-					//////////////////////////////////////////////////////////////////////////
-					if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );		
-					//////////////////////////////////////////////////////////////////////////
-				}
-			}
-			WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
-		} 
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeQs(Parameter* para, int level, std::string& fname)
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleInt2 > qs;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		int node = 0;
-		int wall = 1;
-		int line = 0;
-		double dx = 1.0 / pow(2, level);
-		real* QQ;
-		QforBoundaryConditions Q;
-		double nodeX1, nodeX2, nodeX3, wallX1, wallX2, wallX3, q;
-		//////////////////////////////////////////////////////////////////////////
-		sizeOfNodes = para->getParH(level)->geometryBC.numberOfBCnodes;
-		endpos = startpos + sizeOfNodes;
-		//////////////////////////////////////////////////////////////////////////
-		//qs.clear();
-		//nodes.clear();
-		unsigned int numberOfLines = para->getD3Qxx() * sizeOfNodes;
-		unsigned int numberOfNodes = numberOfLines * 2;
-		qs.resize(numberOfLines);
-		nodes.resize(numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-		vector< string > nodedatanames;
-		nodedatanames.push_back("sizeQ");
-		vector< vector< double > > nodedata(nodedatanames.size());
-		nodedata[0].resize(numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-		for (unsigned int pos = startpos; pos < endpos; pos++)
-		{
-			//////////////////////////////////////////////////////////////////////////
-			nodeX1 = para->getParH(level)->coordinateX[para->getParH(level)->geometryBC.k[pos]];
-			nodeX2 = para->getParH(level)->coordinateY[para->getParH(level)->geometryBC.k[pos]];
-			nodeX3 = para->getParH(level)->coordinateZ[para->getParH(level)->geometryBC.k[pos]];
-			wallX1 = 0.0;
-			wallX2 = 0.0;
-			wallX3 = 0.0;
-			q      = 0.0;
-			//////////////////////////////////////////////////////////////////////////
+            //////////////////////////////////////////////////////////////////////////
+            startpos = FilePartCalculator::calculateStartingPostionOfPart(part);
+            endpos = startpos + sizeOfNodes;
+            //////////////////////////////////////////////////////////////////////////
+            cells.clear();
+            nodes.resize(sizeOfNodes);
+            nodedata[0].resize(sizeOfNodes);
+            nodedata[1].resize(sizeOfNodes);
+            nodedata[2].resize(sizeOfNodes);
+            nodedata[3].resize(sizeOfNodes);
+            nodedata[4].resize(sizeOfNodes);
+            nodedata[5].resize(sizeOfNodes);
+            nodedata[6].resize(sizeOfNodes);
+            nodedata[7].resize(sizeOfNodes);
+            nodedata[8].resize(sizeOfNodes);
+            nodedata[9].resize(sizeOfNodes);
+            nodedata[10].resize(sizeOfNodes);
+            //////////////////////////////////////////////////////////////////////////
+            //printf("\n test in if II... \n");
+            for (unsigned int pos=startpos;pos<endpos;pos++)
+            {
+                if (para->getParH(level)->typeOfGridNode[pos] == GEO_FLUID)
+                {
+                    //////////////////////////////////////////////////////////////////////////
+                    double x1  = para->getParH(level)->coordinateX[pos];
+                    double x2  = para->getParH(level)->coordinateY[pos];
+                    double x3  = para->getParH(level)->coordinateZ[pos];
+                    double x1P = para->getParH(level)->coordinateX[para->getParH(level)->neighborX[pos]];
+                    double x2P = para->getParH(level)->coordinateY[para->getParH(level)->neighborY[pos]];
+                    double x3P = para->getParH(level)->coordinateZ[para->getParH(level)->neighborZ[pos]];
+                    //////////////////////////////////////////////////////////////////////////
+                    number1 = pos;
+                    neighborsFluid = true;
+                    //////////////////////////////////////////////////////////////////////////
+                    nodes[number1]=( makeUbTuple( (float)(x1 ),(float)(x2 ),(float)(x3 ) ) );
+                    nodedata[0][number1] = para->getParH(level)->CUMcbb[pos];
+                    nodedata[1][number1] = para->getParH(level)->CUMbcb[pos];
+                    nodedata[2][number1] = para->getParH(level)->CUMbbc[pos];
+                    nodedata[3][number1] = para->getParH(level)->CUMcca[pos];
+                    nodedata[4][number1] = para->getParH(level)->CUMcac[pos];
+                    nodedata[5][number1] = para->getParH(level)->CUMacc[pos];
+                    nodedata[6][number1] = para->getParH(level)->CUMbcc[pos];
+                    nodedata[7][number1] = para->getParH(level)->CUMcbc[pos];
+                    nodedata[8][number1] = para->getParH(level)->CUMccb[pos];
+                    nodedata[9][number1] = para->getParH(level)->CUMccc[pos];
+                    nodedata[10][number1] = para->getParH(level)->typeOfGridNode[pos];
+                    //////////////////////////////////////////////////////////////////////////
+                    number2 = para->getParH(level)->neighborX[number1];
+                    number3 = para->getParH(level)->neighborY[number2];
+                    number4 = para->getParH(level)->neighborY[number1];
+                    number5 = para->getParH(level)->neighborZ[number1];
+                    number6 = para->getParH(level)->neighborZ[number2];
+                    number7 = para->getParH(level)->neighborZ[number3];
+                    number8 = para->getParH(level)->neighborZ[number4];
+                    //////////////////////////////////////////////////////////////////////////
+                    if (para->getParH(level)->typeOfGridNode[number2] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number3] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number4] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number5] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number6] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number7] != GEO_FLUID ||
+                        para->getParH(level)->typeOfGridNode[number8] != GEO_FLUID )  neighborsFluid=false;
+                    //////////////////////////////////////////////////////////////////////////
+                    if (neighborsFluid==true) cells.push_back( makeUbTuple(number1,number2,number3,number4,number5,number6,number7,number8) );        
+                    //////////////////////////////////////////////////////////////////////////
+                }
+            }
+            WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(fname[part],nodes,cells,nodedatanames,nodedata);
+        } 
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeQs(Parameter* para, int level, std::string& fname)
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleInt2 > qs;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        int node = 0;
+        int wall = 1;
+        int line = 0;
+        double dx = 1.0 / pow(2, level);
+        real* QQ;
+        QforBoundaryConditions Q;
+        double nodeX1, nodeX2, nodeX3, wallX1, wallX2, wallX3, q;
+        //////////////////////////////////////////////////////////////////////////
+        sizeOfNodes = para->getParH(level)->geometryBC.numberOfBCnodes;
+        endpos = startpos + sizeOfNodes;
+        //////////////////////////////////////////////////////////////////////////
+        //qs.clear();
+        //nodes.clear();
+        unsigned int numberOfLines = para->getD3Qxx() * sizeOfNodes;
+        unsigned int numberOfNodes = numberOfLines * 2;
+        qs.resize(numberOfLines);
+        nodes.resize(numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+        vector< string > nodedatanames;
+        nodedatanames.push_back("sizeQ");
+        vector< vector< double > > nodedata(nodedatanames.size());
+        nodedata[0].resize(numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+        for (unsigned int pos = startpos; pos < endpos; pos++)
+        {
+            //////////////////////////////////////////////////////////////////////////
+            nodeX1 = para->getParH(level)->coordinateX[para->getParH(level)->geometryBC.k[pos]];
+            nodeX2 = para->getParH(level)->coordinateY[para->getParH(level)->geometryBC.k[pos]];
+            nodeX3 = para->getParH(level)->coordinateZ[para->getParH(level)->geometryBC.k[pos]];
+            wallX1 = 0.0;
+            wallX2 = 0.0;
+            wallX3 = 0.0;
+            q      = 0.0;
+            //////////////////////////////////////////////////////////////////////////
             for (size_t typeOfQ = vf::lbm::dir::STARTDIR; typeOfQ <= vf::lbm::dir::ENDDIR; typeOfQ++)
-			{
-				QQ = para->getParH(level)->geometryBC.q27[0];
-				Q.q27[typeOfQ] = &QQ[typeOfQ*sizeOfNodes];
-				q = (double)(Q.q27[typeOfQ][pos]);
-				//////////////////////////////////////////////////////////////////////////
-				switch (typeOfQ)
-				{
-					case E:   wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
-					case N:   wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
-					case W:   wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
-					case S:   wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
-					case NE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
-					case NW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
-					case SW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
-					case SE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
-					case T:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
-					case TE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
-					case TN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
-					case TW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
-					case TS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
-					case B:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
-					case BE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
-					case BN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
-					case BW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
-					case BS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
-					case TNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
-					case BSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
-					case BNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
-					case TSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
-					case TSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
-					case BNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
-					case BSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
-					case TNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
-					case REST:wallX1 = nodeX1;        wallX2 = nodeX2;		 wallX3 = nodeX3;        break;
-					default: throw UbException(UB_EXARGS, "unknown direction");
-				}
-				//////////////////////////////////////////////////////////////////////////
-				nodes[node] = makeUbTuple((float)(nodeX1), (float)(nodeX2), (float)(nodeX3));
-				nodes[wall] = makeUbTuple((float)(wallX1), (float)(wallX2), (float)(wallX3));
-				qs[line]    = makeUbTuple(node, wall);
-				//////////////////////////////////////////////////////////////////////////
-				nodedata[0][node] = q;
-				nodedata[0][wall] = q;
-				//////////////////////////////////////////////////////////////////////////
-				node = node + 2;
-				wall = wall + 2;
-				line++;
-				//////////////////////////////////////////////////////////////////////////
-			}
-		}
-		WbWriterVtkXmlBinary::getInstance()->writeLines(fname, nodes, qs);
-		//WbWriterVtkXmlBinary::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
-		//WbWriterVtkXmlASCII::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeQsInflow(Parameter* para, int level, std::string& fname)
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleInt2 > qs;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		int node = 0;
-		int wall = 1;
-		int line = 0;
-		double dx = 1.0 / pow(2, level);
-		real* QQ;
-		QforBoundaryConditions Q;
-		double nodeX1, nodeX2, nodeX3, wallX1, wallX2, wallX3, q;
-		//////////////////////////////////////////////////////////////////////////
-		sizeOfNodes = para->getParH(level)->velocityBC.numberOfBCnodes;
-		endpos = startpos + sizeOfNodes;
-		//////////////////////////////////////////////////////////////////////////
-		//qs.clear();
-		//nodes.clear();
-		unsigned int numberOfLines = para->getD3Qxx() * sizeOfNodes;
-		unsigned int numberOfNodes = numberOfLines * 2;
-		qs.resize(numberOfLines);
-		nodes.resize(numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-		vector< string > nodedatanames;
-		nodedatanames.push_back("sizeQ");
-		vector< vector< double > > nodedata(nodedatanames.size());
-		nodedata[0].resize(numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-		for (unsigned int pos = startpos; pos < endpos; pos++)
-		{
-			//////////////////////////////////////////////////////////////////////////
-			nodeX1 = para->getParH(level)->coordinateX[para->getParH(level)->velocityBC.k[pos]];
-			nodeX2 = para->getParH(level)->coordinateY[para->getParH(level)->velocityBC.k[pos]];
-			nodeX3 = para->getParH(level)->coordinateZ[para->getParH(level)->velocityBC.k[pos]];
-			wallX1 = 0.0;
-			wallX2 = 0.0;
-			wallX3 = 0.0;
-			q      = 0.0;
-			//////////////////////////////////////////////////////////////////////////
+            {
+                QQ = para->getParH(level)->geometryBC.q27[0];
+                Q.q27[typeOfQ] = &QQ[typeOfQ*sizeOfNodes];
+                q = (double)(Q.q27[typeOfQ][pos]);
+                //////////////////////////////////////////////////////////////////////////
+                switch (typeOfQ)
+                {
+                    case E:   wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
+                    case N:   wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
+                    case W:   wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
+                    case S:   wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
+                    case NE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
+                    case NW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
+                    case SW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
+                    case SE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
+                    case T:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
+                    case TE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
+                    case TN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case TW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
+                    case TS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case B:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
+                    case BE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
+                    case BN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case BW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
+                    case BS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case TNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case BSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case BNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case TSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case TSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case BNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case BSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case TNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case REST:wallX1 = nodeX1;        wallX2 = nodeX2;         wallX3 = nodeX3;        break;
+                    default: throw UbException(UB_EXARGS, "unknown direction");
+                }
+                //////////////////////////////////////////////////////////////////////////
+                nodes[node] = makeUbTuple((float)(nodeX1), (float)(nodeX2), (float)(nodeX3));
+                nodes[wall] = makeUbTuple((float)(wallX1), (float)(wallX2), (float)(wallX3));
+                qs[line]    = makeUbTuple(node, wall);
+                //////////////////////////////////////////////////////////////////////////
+                nodedata[0][node] = q;
+                nodedata[0][wall] = q;
+                //////////////////////////////////////////////////////////////////////////
+                node = node + 2;
+                wall = wall + 2;
+                line++;
+                //////////////////////////////////////////////////////////////////////////
+            }
+        }
+        WbWriterVtkXmlBinary::getInstance()->writeLines(fname, nodes, qs);
+        //WbWriterVtkXmlBinary::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
+        //WbWriterVtkXmlASCII::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeQsInflow(Parameter* para, int level, std::string& fname)
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleInt2 > qs;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        int node = 0;
+        int wall = 1;
+        int line = 0;
+        double dx = 1.0 / pow(2, level);
+        real* QQ;
+        QforBoundaryConditions Q;
+        double nodeX1, nodeX2, nodeX3, wallX1, wallX2, wallX3, q;
+        //////////////////////////////////////////////////////////////////////////
+        sizeOfNodes = para->getParH(level)->velocityBC.numberOfBCnodes;
+        endpos = startpos + sizeOfNodes;
+        //////////////////////////////////////////////////////////////////////////
+        //qs.clear();
+        //nodes.clear();
+        unsigned int numberOfLines = para->getD3Qxx() * sizeOfNodes;
+        unsigned int numberOfNodes = numberOfLines * 2;
+        qs.resize(numberOfLines);
+        nodes.resize(numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+        vector< string > nodedatanames;
+        nodedatanames.push_back("sizeQ");
+        vector< vector< double > > nodedata(nodedatanames.size());
+        nodedata[0].resize(numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+        for (unsigned int pos = startpos; pos < endpos; pos++)
+        {
+            //////////////////////////////////////////////////////////////////////////
+            nodeX1 = para->getParH(level)->coordinateX[para->getParH(level)->velocityBC.k[pos]];
+            nodeX2 = para->getParH(level)->coordinateY[para->getParH(level)->velocityBC.k[pos]];
+            nodeX3 = para->getParH(level)->coordinateZ[para->getParH(level)->velocityBC.k[pos]];
+            wallX1 = 0.0;
+            wallX2 = 0.0;
+            wallX3 = 0.0;
+            q      = 0.0;
+            //////////////////////////////////////////////////////////////////////////
             for (size_t typeOfQ = vf::lbm::dir::STARTDIR; typeOfQ <= vf::lbm::dir::ENDDIR; typeOfQ++)
-			{
-				QQ = para->getParH(level)->velocityBC.q27[0];
-				Q.q27[typeOfQ] = &QQ[typeOfQ*sizeOfNodes];
-				q = (double)(Q.q27[typeOfQ][pos]);
+            {
+                QQ = para->getParH(level)->velocityBC.q27[0];
+                Q.q27[typeOfQ] = &QQ[typeOfQ*sizeOfNodes];
+                q = (double)(Q.q27[typeOfQ][pos]);
                 if( q < 0.0 ) q = 0.0;
-				//////////////////////////////////////////////////////////////////////////
-				switch (typeOfQ)
-				{
-					case E:   wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
-					case N:   wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
-					case W:   wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
-					case S:   wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
-					case NE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
-					case NW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
-					case SW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
-					case SE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
-					case T:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
-					case TE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
-					case TN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
-					case TW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
-					case TS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
-					case B:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
-					case BE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
-					case BN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
-					case BW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
-					case BS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
-					case TNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
-					case BSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
-					case BNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
-					case TSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
-					case TSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
-					case BNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
-					case BSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
-					case TNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
-					case REST:wallX1 = nodeX1;        wallX2 = nodeX2;		 wallX3 = nodeX3;        break;
-					default: throw UbException(UB_EXARGS, "unknown direction");
-				}
-				//////////////////////////////////////////////////////////////////////////
-				nodes[node] = makeUbTuple((float)(nodeX1), (float)(nodeX2), (float)(nodeX3));
-				nodes[wall] = makeUbTuple((float)(wallX1), (float)(wallX2), (float)(wallX3));
-				qs[line]    = makeUbTuple(node, wall);
-				//////////////////////////////////////////////////////////////////////////
-				nodedata[0][node] = q;
-				nodedata[0][wall] = q;
-				//////////////////////////////////////////////////////////////////////////
-				node = node + 2;
-				wall = wall + 2;
-				line++;
-				//////////////////////////////////////////////////////////////////////////
-			}
-		}
-		WbWriterVtkXmlBinary::getInstance()->writeLines(fname, nodes, qs);
-		//WbWriterVtkXmlBinary::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
-		//WbWriterVtkXmlASCII::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-	//////////////////////////////////////////////////////////////////////////
-	void writeQsPressure(Parameter* para, int level, std::string& fname)
-	{
-		vector< UbTupleFloat3 > nodes;
-		vector< UbTupleInt2 > qs;
-		unsigned int startpos = 0;
-		unsigned int endpos = 0;
-		unsigned int sizeOfNodes = 0;
-		int node = 0;
-		int wall = 1;
-		int line = 0;
-		double dx = 1.0 / pow(2, level);
-		real* QQ;
-		QforBoundaryConditions Q;
-		double nodeX1, nodeX2, nodeX3, wallX1, wallX2, wallX3, q;
-		//////////////////////////////////////////////////////////////////////////
-		sizeOfNodes = para->getParH(level)->pressureBC.numberOfBCnodes;
-		endpos = startpos + sizeOfNodes;
-		//////////////////////////////////////////////////////////////////////////
-		//qs.clear();
-		//nodes.clear();
-		unsigned int numberOfLines = para->getD3Qxx() * sizeOfNodes;
-		unsigned int numberOfNodes = numberOfLines * 2;
-		qs.resize(numberOfLines);
-		nodes.resize(numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-		vector< string > nodedatanames;
-		nodedatanames.push_back("sizeQ");
-		vector< vector< double > > nodedata(nodedatanames.size());
-		nodedata[0].resize(numberOfNodes);
-		//////////////////////////////////////////////////////////////////////////
-		for (unsigned int pos = startpos; pos < endpos; pos++)
-		{
-			//////////////////////////////////////////////////////////////////////////
-			nodeX1 = para->getParH(level)->coordinateX[para->getParH(level)->pressureBC.k[pos]];
-			nodeX2 = para->getParH(level)->coordinateY[para->getParH(level)->pressureBC.k[pos]];
-			nodeX3 = para->getParH(level)->coordinateZ[para->getParH(level)->pressureBC.k[pos]];
-			wallX1 = 0.0;
-			wallX2 = 0.0;
-			wallX3 = 0.0;
-			q      = 0.0;
-			//////////////////////////////////////////////////////////////////////////
+                //////////////////////////////////////////////////////////////////////////
+                switch (typeOfQ)
+                {
+                    case E:   wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
+                    case N:   wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
+                    case W:   wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
+                    case S:   wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
+                    case NE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
+                    case NW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
+                    case SW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
+                    case SE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
+                    case T:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
+                    case TE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
+                    case TN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case TW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
+                    case TS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case B:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
+                    case BE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
+                    case BN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case BW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
+                    case BS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case TNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case BSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case BNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case TSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case TSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case BNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case BSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case TNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case REST:wallX1 = nodeX1;        wallX2 = nodeX2;         wallX3 = nodeX3;        break;
+                    default: throw UbException(UB_EXARGS, "unknown direction");
+                }
+                //////////////////////////////////////////////////////////////////////////
+                nodes[node] = makeUbTuple((float)(nodeX1), (float)(nodeX2), (float)(nodeX3));
+                nodes[wall] = makeUbTuple((float)(wallX1), (float)(wallX2), (float)(wallX3));
+                qs[line]    = makeUbTuple(node, wall);
+                //////////////////////////////////////////////////////////////////////////
+                nodedata[0][node] = q;
+                nodedata[0][wall] = q;
+                //////////////////////////////////////////////////////////////////////////
+                node = node + 2;
+                wall = wall + 2;
+                line++;
+                //////////////////////////////////////////////////////////////////////////
+            }
+        }
+        WbWriterVtkXmlBinary::getInstance()->writeLines(fname, nodes, qs);
+        //WbWriterVtkXmlBinary::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
+        //WbWriterVtkXmlASCII::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+
+
+
+
+
+    //////////////////////////////////////////////////////////////////////////
+    void writeQsPressure(Parameter* para, int level, std::string& fname)
+    {
+        vector< UbTupleFloat3 > nodes;
+        vector< UbTupleInt2 > qs;
+        unsigned int startpos = 0;
+        unsigned int endpos = 0;
+        unsigned int sizeOfNodes = 0;
+        int node = 0;
+        int wall = 1;
+        int line = 0;
+        double dx = 1.0 / pow(2, level);
+        real* QQ;
+        QforBoundaryConditions Q;
+        double nodeX1, nodeX2, nodeX3, wallX1, wallX2, wallX3, q;
+        //////////////////////////////////////////////////////////////////////////
+        sizeOfNodes = para->getParH(level)->pressureBC.numberOfBCnodes;
+        endpos = startpos + sizeOfNodes;
+        //////////////////////////////////////////////////////////////////////////
+        //qs.clear();
+        //nodes.clear();
+        unsigned int numberOfLines = para->getD3Qxx() * sizeOfNodes;
+        unsigned int numberOfNodes = numberOfLines * 2;
+        qs.resize(numberOfLines);
+        nodes.resize(numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+        vector< string > nodedatanames;
+        nodedatanames.push_back("sizeQ");
+        vector< vector< double > > nodedata(nodedatanames.size());
+        nodedata[0].resize(numberOfNodes);
+        //////////////////////////////////////////////////////////////////////////
+        for (unsigned int pos = startpos; pos < endpos; pos++)
+        {
+            //////////////////////////////////////////////////////////////////////////
+            nodeX1 = para->getParH(level)->coordinateX[para->getParH(level)->pressureBC.k[pos]];
+            nodeX2 = para->getParH(level)->coordinateY[para->getParH(level)->pressureBC.k[pos]];
+            nodeX3 = para->getParH(level)->coordinateZ[para->getParH(level)->pressureBC.k[pos]];
+            wallX1 = 0.0;
+            wallX2 = 0.0;
+            wallX3 = 0.0;
+            q      = 0.0;
+            //////////////////////////////////////////////////////////////////////////
             for (size_t typeOfQ = vf::lbm::dir::STARTDIR; typeOfQ <= vf::lbm::dir::ENDDIR; typeOfQ++)
-			{
-				QQ = para->getParH(level)->pressureBC.q27[0];
-				Q.q27[typeOfQ] = &QQ[typeOfQ*sizeOfNodes];
-				q = (double)(Q.q27[typeOfQ][pos]);
+            {
+                QQ = para->getParH(level)->pressureBC.q27[0];
+                Q.q27[typeOfQ] = &QQ[typeOfQ*sizeOfNodes];
+                q = (double)(Q.q27[typeOfQ][pos]);
                 if( q < 0.0 ) q = 0.0;
-				//////////////////////////////////////////////////////////////////////////
-				switch (typeOfQ)
-				{
-					case E:   wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
-					case N:   wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
-					case W:   wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
-					case S:   wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
-					case NE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
-					case NW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
-					case SW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
-					case SE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
-					case T:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
-					case TE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
-					case TN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
-					case TW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
-					case TS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
-					case B:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
-					case BE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
-					case BN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
-					case BW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
-					case BS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
-					case TNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
-					case BSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
-					case BNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
-					case TSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
-					case TSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
-					case BNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
-					case BSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
-					case TNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
-					case REST:wallX1 = nodeX1;        wallX2 = nodeX2;		 wallX3 = nodeX3;        break;
-					default: throw UbException(UB_EXARGS, "unknown direction");
-				}
-				//////////////////////////////////////////////////////////////////////////
-				nodes[node] = makeUbTuple((float)(nodeX1), (float)(nodeX2), (float)(nodeX3));
-				nodes[wall] = makeUbTuple((float)(wallX1), (float)(wallX2), (float)(wallX3));
-				qs[line]    = makeUbTuple(node, wall);
-				//////////////////////////////////////////////////////////////////////////
-				nodedata[0][node] = q;
-				nodedata[0][wall] = q;
-				//////////////////////////////////////////////////////////////////////////
-				node = node + 2;
-				wall = wall + 2;
-				line++;
-				//////////////////////////////////////////////////////////////////////////
-			}
-		}
-		WbWriterVtkXmlBinary::getInstance()->writeLines(fname, nodes, qs);
-		//WbWriterVtkXmlBinary::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
-		//WbWriterVtkXmlASCII::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
-	}
-	//////////////////////////////////////////////////////////////////////////
+                //////////////////////////////////////////////////////////////////////////
+                switch (typeOfQ)
+                {
+                    case E:   wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
+                    case N:   wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
+                    case W:   wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3;        break;
+                    case S:   wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
+                    case NE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
+                    case NW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3;        break;
+                    case SW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
+                    case SE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3;        break;
+                    case T:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
+                    case TE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
+                    case TN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case TW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 + q*dx; break;
+                    case TS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case B:   wallX1 = nodeX1;        wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
+                    case BE:  wallX1 = nodeX1 + q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
+                    case BN:  wallX1 = nodeX1;        wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case BW:  wallX1 = nodeX1 - q*dx; wallX2 = nodeX2;        wallX3 = nodeX3 - q*dx; break;
+                    case BS:  wallX1 = nodeX1;        wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case TNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case BSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case BNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case TSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case TSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case BNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case BSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break;
+                    case TNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break;
+                    case REST:wallX1 = nodeX1;        wallX2 = nodeX2;         wallX3 = nodeX3;        break;
+                    default: throw UbException(UB_EXARGS, "unknown direction");
+                }
+                //////////////////////////////////////////////////////////////////////////
+                nodes[node] = makeUbTuple((float)(nodeX1), (float)(nodeX2), (float)(nodeX3));
+                nodes[wall] = makeUbTuple((float)(wallX1), (float)(wallX2), (float)(wallX3));
+                qs[line]    = makeUbTuple(node, wall);
+                //////////////////////////////////////////////////////////////////////////
+                nodedata[0][node] = q;
+                nodedata[0][wall] = q;
+                //////////////////////////////////////////////////////////////////////////
+                node = node + 2;
+                wall = wall + 2;
+                line++;
+                //////////////////////////////////////////////////////////////////////////
+            }
+        }
+        WbWriterVtkXmlBinary::getInstance()->writeLines(fname, nodes, qs);
+        //WbWriterVtkXmlBinary::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
+        //WbWriterVtkXmlASCII::getInstance()->writeLinesWithNodeData(fname, nodes, qs, nodedatanames, nodedata);
+    }
+    //////////////////////////////////////////////////////////////////////////
 }
 
 #endif
diff --git a/src/gpu/core/Output/VeloASCIIWriter.hpp b/src/gpu/core/Output/VeloASCIIWriter.hpp
index 5973525d23233ab49121d2cfd7dd6ed16666229d..ba95f7060080499555b643349f3242b78f4c1e53 100644
--- a/src/gpu/core/Output/VeloASCIIWriter.hpp
+++ b/src/gpu/core/Output/VeloASCIIWriter.hpp
@@ -8,32 +8,32 @@
 class VeloASCIIWriter
 {
 public:
-	VeloASCIIWriter(){}
-	~VeloASCIIWriter(){}
+    VeloASCIIWriter(){}
+    ~VeloASCIIWriter(){}
 
-	static void writeVelocitiesAsTXT(Parameter* para, int level, int t)
-	{
-		//calc
-		int numberNodes = (int)para->getParH(level)->numberOfNodes;
-		//write
-		UbFileOutputASCII out(para->getFName() + "_VelocitiesASCII_" + std::to_string(level) + "_ID_" + StringUtil::toString<int>(para->getMyProcessID()) + "_t_" + std::to_string(t) + ".dat");
-		//header
-		out.writeString("Level:");
-		out.writeInteger(level);
-		out.writeLine();
-		out.writeString("vX vY vZ");
-		out.writeLine();
-		//out.writeInteger(numberNodes);
-		//out.writeLine();
-		for (int index = 0; index < numberNodes; index++)
-		{
-			out.writeFloat((float)(para->getParH(level)->velocityX[index] * para->getVelocityRatio()));
-			out.writeFloat((float)(para->getParH(level)->velocityY[index] * para->getVelocityRatio()));
-			out.writeFloat((float)(para->getParH(level)->velocityZ[index] * para->getVelocityRatio()));
-			out.writeLine();
-		}
-		out.writeLine();
-	}
+    static void writeVelocitiesAsTXT(Parameter* para, int level, int t)
+    {
+        //calc
+        int numberNodes = (int)para->getParH(level)->numberOfNodes;
+        //write
+        UbFileOutputASCII out(para->getFName() + "_VelocitiesASCII_" + std::to_string(level) + "_ID_" + StringUtil::toString<int>(para->getMyProcessID()) + "_t_" + std::to_string(t) + ".dat");
+        //header
+        out.writeString("Level:");
+        out.writeInteger(level);
+        out.writeLine();
+        out.writeString("vX vY vZ");
+        out.writeLine();
+        //out.writeInteger(numberNodes);
+        //out.writeLine();
+        for (int index = 0; index < numberNodes; index++)
+        {
+            out.writeFloat((float)(para->getParH(level)->velocityX[index] * para->getVelocityRatio()));
+            out.writeFloat((float)(para->getParH(level)->velocityY[index] * para->getVelocityRatio()));
+            out.writeFloat((float)(para->getParH(level)->velocityZ[index] * para->getVelocityRatio()));
+            out.writeLine();
+        }
+        out.writeLine();
+    }
 
 protected:
 
diff --git a/src/gpu/core/Output/VtkSGWriter.hpp b/src/gpu/core/Output/VtkSGWriter.hpp
index 7b2e5021a404ba5d9e969c1b5d144799d06c9ae6..4b3ad087b2de599588f346656f8e9859b661d467 100644
--- a/src/gpu/core/Output/VtkSGWriter.hpp
+++ b/src/gpu/core/Output/VtkSGWriter.hpp
@@ -17,26 +17,26 @@ namespace VtkSGWriter
 
 void writeVTKsg(unsigned int nx, unsigned int ny, unsigned int nz, int startoffx, int startoffy, int startoffz,
                 unsigned int nnx, unsigned int nny, unsigned int nnz, unsigned int start_z, unsigned int end_z, std::string& fname,
-      			 unsigned int*   bcMatH, float* vxH, float* vyH, float* vzH, float* rhoH, float v_ratio, float rho_ratio, 
+                   unsigned int*   bcMatH, float* vxH, float* vyH, float* vzH, float* rhoH, float v_ratio, float rho_ratio, 
                 float startx, float starty, float startz, float deltax)
 {
 
 
-	unsigned int i,j,k,m;//,x,y,z;
+    unsigned int i,j,k,m;//,x,y,z;
    //unsigned int l;
-	unsigned int nn;
-	unsigned int tmp;
+    unsigned int nn;
+    unsigned int tmp;
    float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
    //unsigned int tmp1;
    //float rho,ux,uy,uz,m6;
-	//float f[19];
+    //float f[19];
 
-	float uzMax=0.0;
+    float uzMax=0.0;
 
-	nn = nnx*nny*nnz;
+    nn = nnx*nny*nnz;
 
-	ostringstream ostr;
-	ofstream ofile(fname.c_str());
+    ostringstream ostr;
+    ofstream ofile(fname.c_str());
 
    ostr << "# vtk DataFile Version 3.0\n";
    ostr << fname << "\n";
@@ -110,7 +110,7 @@ void writeVTKsg(unsigned int nx, unsigned int ny, unsigned int nz, int startoffx
    ostr.str("");
    ostr.clear();
 
-	printf("uzMax: %.8f", uzMax);
+    printf("uzMax: %.8f", uzMax);
 }
 
 
@@ -121,34 +121,34 @@ void writeVTKsgSP(unsigned int nx_D, unsigned int ny_D, unsigned int nz_D, int s
                   real startx_D, real starty_D, real startz_D, real deltax_D, unsigned int *kFull)
  {
     //Test
-	real* /*float* double**/ vxH      = vxH_D      ;
-	real* /*float* double**/ vyH      = vyH_D      ;
-	real* /*float* double**/ vzH      = vzH_D      ;
-	real* /*float* double**/ rhoH     = rhoH_D     ;
-	real* /*float* double**/ pressH   = pressH_D   ;
+    real* /*float* double**/ vxH      = vxH_D      ;
+    real* /*float* double**/ vyH      = vyH_D      ;
+    real* /*float* double**/ vzH      = vzH_D      ;
+    real* /*float* double**/ rhoH     = rhoH_D     ;
+    real* /*float* double**/ pressH   = pressH_D   ;
     double  v_ratio  = v_ratio_D  ;
     double  rho_ratio= rho_ratio_D;
     double  startx   = startx_D   ;
     double  starty   = starty_D   ; 
     double  startz   = startz_D   ;//(double)start_z;
     double  deltax   = deltax_D   ;
-	int startoffx = startoffx_D;
-	int startoffy = startoffy_D;
-	int startoffz = startoffz_D;
-	unsigned int nnx = nnx_D;
-	unsigned int nny = nny_D;
-	unsigned int nnz = nnz_D;
-	unsigned int nx = nx_D;
-	unsigned int ny = ny_D;
-	unsigned int nz = nz_D;
-	////f�r Geller
-	//startoffx = 0;
-	//startoffy = 0;
-	//startoffz = 0;
-	//nx = nnx;
-	//ny = nny;
-	//nz = nnz;
-	//deltax = 410.0/48.0;
+    int startoffx = startoffx_D;
+    int startoffy = startoffy_D;
+    int startoffz = startoffz_D;
+    unsigned int nnx = nnx_D;
+    unsigned int nny = nny_D;
+    unsigned int nnz = nnz_D;
+    unsigned int nx = nx_D;
+    unsigned int ny = ny_D;
+    unsigned int nz = nz_D;
+    ////f�r Geller
+    //startoffx = 0;
+    //startoffy = 0;
+    //startoffz = 0;
+    //nx = nnx;
+    //ny = nny;
+    //nz = nnz;
+    //deltax = 410.0/48.0;
 
     unsigned int i,j,k,m;
     unsigned int nn;
@@ -172,23 +172,23 @@ void writeVTKsgSP(unsigned int nx_D, unsigned int ny_D, unsigned int nz_D, int s
     ostr << "SPACING " << deltax << " " << deltax << " " << deltax <<" \n";
 
     ostr << "POINT_DATA " << nn << "\n";
-	//ostr << "CELL_DATA " << nn << "\n";
+    //ostr << "CELL_DATA " << nn << "\n";
 
     ostr << "SCALARS Geo int\n";
     ostr << "LOOKUP_TABLE default\n";
 
-	for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				m = nx*(ny*k + j) + i;
-				if(kFull[m]==0) tmp = 99;
-				//else tmp = bcMatH[kFull[m]-1];//achtung!!! -1 
-				tmp = bcMatH[kFull[m]];
-				//tmp = bcMatH[m];
-				ostr << tmp << "\n";
-			}
-		}
-	}
+    for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+        for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+            for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                m = nx*(ny*k + j) + i;
+                if(kFull[m]==0) tmp = 99;
+                //else tmp = bcMatH[kFull[m]-1];//achtung!!! -1 
+                tmp = bcMatH[kFull[m]];
+                //tmp = bcMatH[m];
+                ostr << tmp << "\n";
+            }
+        }
+    }
     ofile<<ostr.str();
     ostr.str("");
     ostr.clear();
@@ -270,371 +270,371 @@ void writeVTKsgSP(unsigned int nx_D, unsigned int ny_D, unsigned int nz_D, int s
 
 
  void writeVTKsgSPbin(unsigned int nx_D, unsigned int ny_D, unsigned int nz_D, int startoffx_D, int startoffy_D, int startoffz_D,
-					 unsigned int nnx_D, unsigned int nny_D, unsigned int nnz_D, unsigned int start_z, unsigned int end_z, std::string& fname,
-					 unsigned int*   bcMatH, int*   bcMatHFull, real* vxH_D, real* vyH_D, real* vzH_D, real* rhoH_D, real* pressH_D, real v_ratio_D, real rho_ratio_D, 
-					 real startx_D, real starty_D, real startz_D, real deltax_D, unsigned int *kFull)
+                     unsigned int nnx_D, unsigned int nny_D, unsigned int nnz_D, unsigned int start_z, unsigned int end_z, std::string& fname,
+                     unsigned int*   bcMatH, int*   bcMatHFull, real* vxH_D, real* vyH_D, real* vzH_D, real* rhoH_D, real* pressH_D, real v_ratio_D, real rho_ratio_D, 
+                     real startx_D, real starty_D, real startz_D, real deltax_D, unsigned int *kFull)
  {
-	 //Test 
-	 real* /*float* double**/ vxH      = vxH_D      ;
-	 real* /*float* double**/ vyH      = vyH_D      ;
-	 real* /*float* double**/ vzH      = vzH_D      ;
-	 real* /*float* double**/ rhoH     = rhoH_D     ;
-	 real* /*float* double**/ pressH   = pressH_D   ;
-	 float  v_ratio  = (float)v_ratio_D  ;
-	 float  rho_ratio= (float)rho_ratio_D;
-	 float  startx   = (float)startx_D   ;
-	 float  starty   = (float)starty_D   ; 
-	 float  startz   = (float)startz_D   ;//(double)start_z;
-	 float  deltax   = (float)deltax_D   ;
-	 int startoffx = startoffx_D;
-	 int startoffy = startoffy_D;
-	 int startoffz = startoffz_D;
-	 unsigned int nnx = nnx_D;
-	 unsigned int nny = nny_D;
-	 unsigned int nnz = nnz_D;
-	 unsigned int nx = nx_D;
-	 unsigned int ny = ny_D;
-	 unsigned int nz = nz_D;
-	 unsigned int i,j,k,m;
-	 unsigned int nn;
-	 //unsigned int tmp;
-	 //double tmp_rho,tmp_ux,tmp_uy,tmp_uz;
-	 float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
-	 int tmp;
-	 bool swapByte = UbSystem::isLittleEndian();
-	 float uxMax=0.0f;
-
-
-	 nn = nnx*nny*nnz;
-
-	 ofstream ostr(fname.c_str(),ios::out | ios::binary);
-
-	 ostr << "# vtk DataFile Version 3.0\n";
-	 ostr << fname << "\n";
-	 ostr << "BINARY\n";
-	 ostr << "DATASET STRUCTURED_POINTS\n";
-	 ostr << "DIMENSIONS " << nnx << " " << nny << " " << nnz << " \n";
-	 ostr << "ORIGIN " << startx << " " << starty << " " << startz << " \n";
-	 ostr << "SPACING " << deltax << " " << deltax << " " << deltax <<" \n";
-
-	 ostr << "POINT_DATA " << nn << "\n";
-
-	 ostr << "SCALARS Geo int\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 m = nx*(ny*k + j) + i;
-				 //if(kFull[m]==0) tmp = 16;
-				 tmp = bcMatH[kFull[m]];
-				 //tmp = bcMatHFull[m];
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
-				 ostr.write((char*)&tmp, sizeof(int));
-			 }
-		 }
-	 }
-
-	 ostr << "\n";
-	 ostr << "SCALARS Press float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 m = nx*(ny*k + j) + i;
-				 if((bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
-					 tmp_rho=0.0;//1.0f/3.0f;
-				 }
-				 else{
-					 tmp_rho=(float)(rhoH[kFull[m]] / 3.0f * rho_ratio * v_ratio *v_ratio);
-					 //tmp_rho=rhoH[kFull[m]] / 3.0f ;
-
-				 }
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-			 }
-		 }
-	 }
-
-	 ostr << "\n";
-	 ostr << "SCALARS PressM float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 m = nx*(ny*k + j) + i;
-				 if( (bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
-					 tmp_rho=0.0f;//1.0f/3.0f;
-				 }
-				 else{
-					 tmp_rho=(float)(pressH[kFull[m]] / 3.0f * rho_ratio * v_ratio *v_ratio);
-					 //tmp_rho=pressH[kFull[m]] / 3.0f ;
-
-				 }
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-			 }
-		 }
-	 }
-
-	 ostr << "\n";
-	 ostr << "VECTORS Speed float\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 m = nx*(ny*k + j) + i;
-				 if( (bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
-					 tmp_ux=0.0;
-					 tmp_uy=0.0;
-					 tmp_uz=0.0;
-				 }
-				 else{
-					 tmp_ux=(float)(vxH[kFull[m]] * v_ratio);
-					 tmp_uy=(float)(vyH[kFull[m]] * v_ratio);
-					 tmp_uz=(float)(vzH[kFull[m]] * v_ratio);
-				 }
-				 if( std::fabs(tmp_ux) > std::fabs(uxMax) ) uxMax = tmp_ux;
-				 if(swapByte)
-				 {
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
-				 }
-				 ostr.write((char*)&tmp_ux, sizeof(float));
-				 ostr.write((char*)&tmp_uy, sizeof(float));
-				 ostr.write((char*)&tmp_uz, sizeof(float));
-			 }
-		 }
-	 }
-	 printf(" \n uxMax: %.8f", (float)uxMax);
+     //Test 
+     real* /*float* double**/ vxH      = vxH_D      ;
+     real* /*float* double**/ vyH      = vyH_D      ;
+     real* /*float* double**/ vzH      = vzH_D      ;
+     real* /*float* double**/ rhoH     = rhoH_D     ;
+     real* /*float* double**/ pressH   = pressH_D   ;
+     float  v_ratio  = (float)v_ratio_D  ;
+     float  rho_ratio= (float)rho_ratio_D;
+     float  startx   = (float)startx_D   ;
+     float  starty   = (float)starty_D   ; 
+     float  startz   = (float)startz_D   ;//(double)start_z;
+     float  deltax   = (float)deltax_D   ;
+     int startoffx = startoffx_D;
+     int startoffy = startoffy_D;
+     int startoffz = startoffz_D;
+     unsigned int nnx = nnx_D;
+     unsigned int nny = nny_D;
+     unsigned int nnz = nnz_D;
+     unsigned int nx = nx_D;
+     unsigned int ny = ny_D;
+     unsigned int nz = nz_D;
+     unsigned int i,j,k,m;
+     unsigned int nn;
+     //unsigned int tmp;
+     //double tmp_rho,tmp_ux,tmp_uy,tmp_uz;
+     float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
+     int tmp;
+     bool swapByte = UbSystem::isLittleEndian();
+     float uxMax=0.0f;
+
+
+     nn = nnx*nny*nnz;
+
+     ofstream ostr(fname.c_str(),ios::out | ios::binary);
+
+     ostr << "# vtk DataFile Version 3.0\n";
+     ostr << fname << "\n";
+     ostr << "BINARY\n";
+     ostr << "DATASET STRUCTURED_POINTS\n";
+     ostr << "DIMENSIONS " << nnx << " " << nny << " " << nnz << " \n";
+     ostr << "ORIGIN " << startx << " " << starty << " " << startz << " \n";
+     ostr << "SPACING " << deltax << " " << deltax << " " << deltax <<" \n";
+
+     ostr << "POINT_DATA " << nn << "\n";
+
+     ostr << "SCALARS Geo int\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 m = nx*(ny*k + j) + i;
+                 //if(kFull[m]==0) tmp = 16;
+                 tmp = bcMatH[kFull[m]];
+                 //tmp = bcMatHFull[m];
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
+                 ostr.write((char*)&tmp, sizeof(int));
+             }
+         }
+     }
+
+     ostr << "\n";
+     ostr << "SCALARS Press float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 m = nx*(ny*k + j) + i;
+                 if((bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
+                     tmp_rho=0.0;//1.0f/3.0f;
+                 }
+                 else{
+                     tmp_rho=(float)(rhoH[kFull[m]] / 3.0f * rho_ratio * v_ratio *v_ratio);
+                     //tmp_rho=rhoH[kFull[m]] / 3.0f ;
+
+                 }
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+             }
+         }
+     }
+
+     ostr << "\n";
+     ostr << "SCALARS PressM float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 m = nx*(ny*k + j) + i;
+                 if( (bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
+                     tmp_rho=0.0f;//1.0f/3.0f;
+                 }
+                 else{
+                     tmp_rho=(float)(pressH[kFull[m]] / 3.0f * rho_ratio * v_ratio *v_ratio);
+                     //tmp_rho=pressH[kFull[m]] / 3.0f ;
+
+                 }
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+             }
+         }
+     }
+
+     ostr << "\n";
+     ostr << "VECTORS Speed float\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 m = nx*(ny*k + j) + i;
+                 if( (bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
+                     tmp_ux=0.0;
+                     tmp_uy=0.0;
+                     tmp_uz=0.0;
+                 }
+                 else{
+                     tmp_ux=(float)(vxH[kFull[m]] * v_ratio);
+                     tmp_uy=(float)(vyH[kFull[m]] * v_ratio);
+                     tmp_uz=(float)(vzH[kFull[m]] * v_ratio);
+                 }
+                 if( std::fabs(tmp_ux) > std::fabs(uxMax) ) uxMax = tmp_ux;
+                 if(swapByte)
+                 {
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
+                 }
+                 ostr.write((char*)&tmp_ux, sizeof(float));
+                 ostr.write((char*)&tmp_uy, sizeof(float));
+                 ostr.write((char*)&tmp_uz, sizeof(float));
+             }
+         }
+     }
+     printf(" \n uxMax: %.8f", (float)uxMax);
  }
 
 
 
 void writeVTKmedSPbin(   unsigned int nx_D, unsigned int ny_D, unsigned int nz_D, int startoffx_D, int startoffy_D, int startoffz_D,
-						 unsigned int nnx_D, unsigned int nny_D, unsigned int nnz_D, unsigned int start_z, unsigned int end_z, std::string& fname,
-						 unsigned int*   bcMatH, int*   bcMatHFull, real* vxH_D, real* vyH_D, real* vzH_D, real* rhoH_D, real* pressH_D, real tdiff, real v_ratio_D, real rho_ratio_D, 
-						 real startx_D, real starty_D, real startz_D, real deltax_D, unsigned int *kFull)
+                         unsigned int nnx_D, unsigned int nny_D, unsigned int nnz_D, unsigned int start_z, unsigned int end_z, std::string& fname,
+                         unsigned int*   bcMatH, int*   bcMatHFull, real* vxH_D, real* vyH_D, real* vzH_D, real* rhoH_D, real* pressH_D, real tdiff, real v_ratio_D, real rho_ratio_D, 
+                         real startx_D, real starty_D, real startz_D, real deltax_D, unsigned int *kFull)
  {
-	 //Test 
-	 real* /*float* double**/ vxH      = vxH_D      ;
-	 real* /*float* double**/ vyH      = vyH_D      ;
-	 real* /*float* double**/ vzH      = vzH_D      ;
-	 real* /*float* double**/ rhoH     = rhoH_D     ;
-	 real* /*float* double**/ pressH   = pressH_D   ;
-	 float  v_ratio  = (float)v_ratio_D  ;
-	 float  rho_ratio= (float)rho_ratio_D;
-	 float  startx   = (float)startx_D   ;
-	 float  starty   = (float)starty_D   ; 
-	 float  startz   = (float)startz_D   ;//(double)start_z;
-	 float  deltax   = (float)deltax_D   ;
-	 int startoffx = startoffx_D;
-	 int startoffy = startoffy_D;
-	 int startoffz = startoffz_D;
-	 unsigned int nnx = nnx_D;
-	 unsigned int nny = nny_D;
-	 unsigned int nnz = nnz_D;
-	 unsigned int nx = nx_D;
-	 unsigned int ny = ny_D;
-	 unsigned int nz = nz_D;
-	 unsigned int i,j,k,m;
-	 unsigned int nn;
-	 //unsigned int tmp;
-	 //double tmp_rho,tmp_ux,tmp_uy,tmp_uz;
-	 float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
-	 int tmp;
-	 bool swapByte = UbSystem::isLittleEndian();
-	 float uxMax=0.0f;
-
-
-	 nn = nnx*nny*nnz;
-
-	 ofstream ostr(fname.c_str(),ios::out | ios::binary);
-
-	 ostr << "# vtk DataFile Version 3.0\n";
-	 ostr << fname << "\n";
-	 ostr << "BINARY\n";
-	 ostr << "DATASET STRUCTURED_POINTS\n";
-	 ostr << "DIMENSIONS " << nnx << " " << nny << " " << nnz << " \n";
-	 ostr << "ORIGIN " << startx << " " << starty << " " << startz << " \n";
-	 ostr << "SPACING " << deltax << " " << deltax << " " << deltax <<" \n";
-
-	 ostr << "POINT_DATA " << nn << "\n";
-
-	 ostr << "SCALARS Geo int\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 m = nx*(ny*k + j) + i;
-				 //if(kFull[m]==0) tmp = 16;
-				 tmp = bcMatH[kFull[m]];
-				 //tmp = bcMatHFull[m];
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
-				 ostr.write((char*)&tmp, sizeof(int));
-			 }
-		 }
-	 }
-
-	 ostr << "\n";
-	 ostr << "SCALARS Press float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 m = nx*(ny*k + j) + i;
-				 if((bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
-					 tmp_rho=0.0;//1.0f/3.0f;
-				 }
-				 else{
-					 tmp_rho=(float)((rhoH[kFull[m]] / tdiff) / 3.0f * rho_ratio * v_ratio *v_ratio );
-					 //tmp_rho=rhoH[kFull[m]] / 3.0f ;
-
-				 }
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-			 }
-		 }
-	 }
-
-	 ostr << "\n";
-	 ostr << "SCALARS PressM float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 m = nx*(ny*k + j) + i;
-				 if( (bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
-					 tmp_rho=0.0f;//1.0f/3.0f;
-				 }
-				 else{
-					 tmp_rho=(float)((pressH[kFull[m]] / tdiff) / 3.0f * rho_ratio * v_ratio *v_ratio );
-					 //tmp_rho=pressH[kFull[m]] / 3.0f ;
-
-				 }
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-			 }
-		 }
-	 }
-
-	 ostr << "\n";
-	 ostr << "VECTORS Speed float\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 m = nx*(ny*k + j) + i;
-				 if( (bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
-					 tmp_ux=0.0;
-					 tmp_uy=0.0;
-					 tmp_uz=0.0;
-				 }
-				 else{
-					 tmp_ux=(float)((vxH[kFull[m]] / tdiff) * v_ratio);
-					 tmp_uy=(float)((vyH[kFull[m]] / tdiff) * v_ratio);
-					 tmp_uz=(float)((vzH[kFull[m]] / tdiff) * v_ratio);
-				 }
-				 if( std::fabs(tmp_ux) > std::fabs(uxMax) ) uxMax = tmp_ux;
-				 if(swapByte)
-				 {
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
-				 }
-				 ostr.write((char*)&tmp_ux, sizeof(float));
-				 ostr.write((char*)&tmp_uy, sizeof(float));
-				 ostr.write((char*)&tmp_uz, sizeof(float));
-			 }
-		 }
-	 }
-	 printf(" \n uxMax: %.8f", (float)uxMax);
+     //Test 
+     real* /*float* double**/ vxH      = vxH_D      ;
+     real* /*float* double**/ vyH      = vyH_D      ;
+     real* /*float* double**/ vzH      = vzH_D      ;
+     real* /*float* double**/ rhoH     = rhoH_D     ;
+     real* /*float* double**/ pressH   = pressH_D   ;
+     float  v_ratio  = (float)v_ratio_D  ;
+     float  rho_ratio= (float)rho_ratio_D;
+     float  startx   = (float)startx_D   ;
+     float  starty   = (float)starty_D   ; 
+     float  startz   = (float)startz_D   ;//(double)start_z;
+     float  deltax   = (float)deltax_D   ;
+     int startoffx = startoffx_D;
+     int startoffy = startoffy_D;
+     int startoffz = startoffz_D;
+     unsigned int nnx = nnx_D;
+     unsigned int nny = nny_D;
+     unsigned int nnz = nnz_D;
+     unsigned int nx = nx_D;
+     unsigned int ny = ny_D;
+     unsigned int nz = nz_D;
+     unsigned int i,j,k,m;
+     unsigned int nn;
+     //unsigned int tmp;
+     //double tmp_rho,tmp_ux,tmp_uy,tmp_uz;
+     float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
+     int tmp;
+     bool swapByte = UbSystem::isLittleEndian();
+     float uxMax=0.0f;
+
+
+     nn = nnx*nny*nnz;
+
+     ofstream ostr(fname.c_str(),ios::out | ios::binary);
+
+     ostr << "# vtk DataFile Version 3.0\n";
+     ostr << fname << "\n";
+     ostr << "BINARY\n";
+     ostr << "DATASET STRUCTURED_POINTS\n";
+     ostr << "DIMENSIONS " << nnx << " " << nny << " " << nnz << " \n";
+     ostr << "ORIGIN " << startx << " " << starty << " " << startz << " \n";
+     ostr << "SPACING " << deltax << " " << deltax << " " << deltax <<" \n";
+
+     ostr << "POINT_DATA " << nn << "\n";
+
+     ostr << "SCALARS Geo int\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 m = nx*(ny*k + j) + i;
+                 //if(kFull[m]==0) tmp = 16;
+                 tmp = bcMatH[kFull[m]];
+                 //tmp = bcMatHFull[m];
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
+                 ostr.write((char*)&tmp, sizeof(int));
+             }
+         }
+     }
+
+     ostr << "\n";
+     ostr << "SCALARS Press float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 m = nx*(ny*k + j) + i;
+                 if((bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
+                     tmp_rho=0.0;//1.0f/3.0f;
+                 }
+                 else{
+                     tmp_rho=(float)((rhoH[kFull[m]] / tdiff) / 3.0f * rho_ratio * v_ratio *v_ratio );
+                     //tmp_rho=rhoH[kFull[m]] / 3.0f ;
+
+                 }
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+             }
+         }
+     }
+
+     ostr << "\n";
+     ostr << "SCALARS PressM float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 m = nx*(ny*k + j) + i;
+                 if( (bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
+                     tmp_rho=0.0f;//1.0f/3.0f;
+                 }
+                 else{
+                     tmp_rho=(float)((pressH[kFull[m]] / tdiff) / 3.0f * rho_ratio * v_ratio *v_ratio );
+                     //tmp_rho=pressH[kFull[m]] / 3.0f ;
+
+                 }
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+             }
+         }
+     }
+
+     ostr << "\n";
+     ostr << "VECTORS Speed float\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 m = nx*(ny*k + j) + i;
+                 if( (bcMatH[kFull[m]] == GEO_SOLID) && (bcMatH[kFull[m]] == GEO_VOID)){
+                     tmp_ux=0.0;
+                     tmp_uy=0.0;
+                     tmp_uz=0.0;
+                 }
+                 else{
+                     tmp_ux=(float)((vxH[kFull[m]] / tdiff) * v_ratio);
+                     tmp_uy=(float)((vyH[kFull[m]] / tdiff) * v_ratio);
+                     tmp_uz=(float)((vzH[kFull[m]] / tdiff) * v_ratio);
+                 }
+                 if( std::fabs(tmp_ux) > std::fabs(uxMax) ) uxMax = tmp_ux;
+                 if(swapByte)
+                 {
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
+                 }
+                 ostr.write((char*)&tmp_ux, sizeof(float));
+                 ostr.write((char*)&tmp_uy, sizeof(float));
+                 ostr.write((char*)&tmp_uz, sizeof(float));
+             }
+         }
+     }
+     printf(" \n uxMax: %.8f", (float)uxMax);
  }
 
 
 
  void writeVTKsgSPbinTEST(std::string& fname)
  {
-	 unsigned int i,j,k;
-	 float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
-	 int tmp;
-	 bool swapByte = UbSystem::isLittleEndian();
-
-
-	 ofstream ostr(fname.c_str(),ios::out | ios::binary);
-
-	 ostr << "# vtk DataFile Version 3.0\n";
-	 ostr << fname << "\n";
-	 ostr << "BINARY\n";
-	 ostr << "DATASET STRUCTURED_POINTS\n";
-	 ostr << "DIMENSIONS " << 10 << " " << 10 << " " << 10 << " \n";
-	 ostr << "ORIGIN " << 0 << " " << 0 << " " << 0 << " \n";
-	 ostr << "SPACING " << 1 << " " << 1 << " " << 1 <<" \n";
-
-	 ostr << "POINT_DATA " << 1000 << "\n";
-
-	 ostr << "SCALARS Geo int\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=0 ; k<10 ; k++){
-		 for(j=0 ; j<10 ; j++){
-			 for(i=0 ; i<10 ; i++){
-				 tmp = 1;
-				 if(swapByte)
-				 {
-					 UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
-				 }
-				 ostr.write((char*)&tmp, sizeof(int));
-			 }
-		 }
-	 }
-
-	 ostr << "\nSCALARS Press float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=0 ; k<10 ; k++){
-		 for(j=0 ; j<10 ; j++){
-			 for(i=0 ; i<10 ; i++){
-				 tmp_rho=0.1f;
-				 if(swapByte)
-				 {
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 }
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-			 }
-		 }
-	 }
-
-	 ostr << "\nSCALARS PressM float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=0 ; k<10 ; k++){
-		 for(j=0 ; j<10 ; j++){
-			 for(i=0 ; i<10 ; i++){
-				 tmp_rho=0.2f;
-				 if(swapByte)
-				 {
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 }
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-			 }
-		 }
-	 }
-
-	 ostr << "\nVECTORS Speed float\n";
-	 for(k=0 ; k<10 ; k++){
-		 for(j=0 ; j<10 ; j++){
-			 for(i=0 ; i<10 ; i++){
-			     tmp_ux=0.01f;
-				 tmp_uy=0.02f;
-				 tmp_uz=0.03f;
-				 if(swapByte)
-				 {
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
-				 }
-				 ostr.write((char*)&tmp_ux, sizeof(float));
-				 ostr.write((char*)&tmp_uy, sizeof(float));
-				 ostr.write((char*)&tmp_uz, sizeof(float));
-			 }
-		 }
-	 }
+     unsigned int i,j,k;
+     float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
+     int tmp;
+     bool swapByte = UbSystem::isLittleEndian();
+
+
+     ofstream ostr(fname.c_str(),ios::out | ios::binary);
+
+     ostr << "# vtk DataFile Version 3.0\n";
+     ostr << fname << "\n";
+     ostr << "BINARY\n";
+     ostr << "DATASET STRUCTURED_POINTS\n";
+     ostr << "DIMENSIONS " << 10 << " " << 10 << " " << 10 << " \n";
+     ostr << "ORIGIN " << 0 << " " << 0 << " " << 0 << " \n";
+     ostr << "SPACING " << 1 << " " << 1 << " " << 1 <<" \n";
+
+     ostr << "POINT_DATA " << 1000 << "\n";
+
+     ostr << "SCALARS Geo int\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=0 ; k<10 ; k++){
+         for(j=0 ; j<10 ; j++){
+             for(i=0 ; i<10 ; i++){
+                 tmp = 1;
+                 if(swapByte)
+                 {
+                     UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
+                 }
+                 ostr.write((char*)&tmp, sizeof(int));
+             }
+         }
+     }
+
+     ostr << "\nSCALARS Press float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=0 ; k<10 ; k++){
+         for(j=0 ; j<10 ; j++){
+             for(i=0 ; i<10 ; i++){
+                 tmp_rho=0.1f;
+                 if(swapByte)
+                 {
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 }
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+             }
+         }
+     }
+
+     ostr << "\nSCALARS PressM float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=0 ; k<10 ; k++){
+         for(j=0 ; j<10 ; j++){
+             for(i=0 ; i<10 ; i++){
+                 tmp_rho=0.2f;
+                 if(swapByte)
+                 {
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 }
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+             }
+         }
+     }
+
+     ostr << "\nVECTORS Speed float\n";
+     for(k=0 ; k<10 ; k++){
+         for(j=0 ; j<10 ; j++){
+             for(i=0 ; i<10 ; i++){
+                 tmp_ux=0.01f;
+                 tmp_uy=0.02f;
+                 tmp_uz=0.03f;
+                 if(swapByte)
+                 {
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
+                 }
+                 ostr.write((char*)&tmp_ux, sizeof(float));
+                 ostr.write((char*)&tmp_uy, sizeof(float));
+                 ostr.write((char*)&tmp_uz, sizeof(float));
+             }
+         }
+     }
  }
 
 
@@ -649,11 +649,11 @@ void writeVTKsgThS(unsigned int nx, unsigned int ny, unsigned int nz, int starto
                    real startx_D, real starty_D, real startz_D, real deltax_D, unsigned int *kFull, real* ConcD)
 {
    //Test
-	real* /*float* double**/ vxH      = vxH_D      ;
-	real* /*float* double**/ vyH      = vyH_D      ;
-	real* /*float* double**/ vzH      = vzH_D      ;
-	real* /*float* double**/ rhoH     = rhoH_D     ;
-	real* /*float* double**/ ConcH    = ConcD   ;
+    real* /*float* double**/ vxH      = vxH_D      ;
+    real* /*float* double**/ vyH      = vyH_D      ;
+    real* /*float* double**/ vzH      = vzH_D      ;
+    real* /*float* double**/ rhoH     = rhoH_D     ;
+    real* /*float* double**/ ConcH    = ConcD   ;
    double  v_ratio  = v_ratio_D  ;
    double  rho_ratio= rho_ratio_D;
    double  startx   = startx_D   ;
@@ -774,315 +774,315 @@ void writeVTKsgThS(unsigned int nx, unsigned int ny, unsigned int nz, int starto
 
 
  void writeVTKsgSPbinAS(unsigned int nx_D, unsigned int ny_D, unsigned int nz_D, int startoffx_D, int startoffy_D, int startoffz_D,
-						unsigned int nnx_D, unsigned int nny_D, unsigned int nnz_D, unsigned int start_z, unsigned int end_z, std::string& fname,
-						unsigned int*   bcMatH, int*   bcMatHFull, real* vxH_D, real* vyH_D, real* vzH_D, real* rhoH_D, real* pressH_D, 
-						real v_ratio_D, real rho_ratio_D, 
-						real startx_D, real starty_D, real startz_D, real deltax_D, 
-						real *coordX, real *coordY, real *coordZ)
+                        unsigned int nnx_D, unsigned int nny_D, unsigned int nnz_D, unsigned int start_z, unsigned int end_z, std::string& fname,
+                        unsigned int*   bcMatH, int*   bcMatHFull, real* vxH_D, real* vyH_D, real* vzH_D, real* rhoH_D, real* pressH_D, 
+                        real v_ratio_D, real rho_ratio_D, 
+                        real startx_D, real starty_D, real startz_D, real deltax_D, 
+                        real *coordX, real *coordY, real *coordZ)
  {
-	 //Test 
-	 real* /*float* double**/ vxH      = vxH_D      ;
-	 real* /*float* double**/ vyH      = vyH_D      ;
-	 real* /*float* double**/ vzH      = vzH_D      ;
-	 real* /*float* double**/ rhoH     = rhoH_D     ;
-	 real* /*float* double**/ pressH   = pressH_D   ;
-	 float  v_ratio  = (float)v_ratio_D  ;
-	 float  rho_ratio= (float)rho_ratio_D;
-	 float  startx   = (float)startx_D   ;
-	 float  starty   = (float)starty_D   ; 
-	 float  startz   = (float)startz_D   ;//(double)start_z;
-	 float  deltax   = (float)deltax_D   ;
-	 int startoffx = startoffx_D;
-	 int startoffy = startoffy_D;
-	 int startoffz = startoffz_D;
-	 unsigned int nnx = nnx_D;
-	 unsigned int nny = nny_D;
-	 unsigned int nnz = nnz_D;
-	 unsigned int nx = nx_D;
-	 unsigned int ny = ny_D;
-	 unsigned int nz = nz_D;
-	 unsigned int i,j,k;//,m;
-	 unsigned int nn;
-	 float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
-	 int tmp;
-	 bool swapByte = UbSystem::isLittleEndian();
-	 float uxMax=0.0f;
-
-	 unsigned int count=1;
-
-	 nn = nnx*nny*nnz;
-
-	 ofstream ostr(fname.c_str(),ios::out | ios::binary);
-
-	 ostr << "# vtk DataFile Version 3.0\n";
-	 ostr << fname << "\n";
-	 ostr << "BINARY\n";
-	 ostr << "DATASET STRUCTURED_POINTS\n";
-	 ostr << "DIMENSIONS " << nnx << " " << nny << " " << nnz << " \n";
-	 ostr << "ORIGIN " << startx << " " << starty << " " << startz << " \n";
-	 ostr << "SPACING " << deltax << " " << deltax << " " << deltax <<" \n";
-
-	 ostr << "POINT_DATA " << nn << "\n";
-
-	 ostr << "SCALARS Geo int\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 //////////////////////////////////////////////////////////////////////////
-				 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
-					 tmp = bcMatH[count]; 
-					 count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
-				 }
-				 else tmp = 99;//GEO_VOID; 
-				 //////////////////////////////////////////////////////////////////////////
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
-				 ostr.write((char*)&tmp, sizeof(int));
-				 //////////////////////////////////////////////////////////////////////////
-			 }
-		 }
-	 }
-
-	 //reset var "count"
-	 count=1;
-
-	 ostr << "\n";
-	 ostr << "SCALARS Press float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 //////////////////////////////////////////////////////////////////////////
-				 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
-					 tmp_rho = (float)(rhoH[count] / 3.0f * rho_ratio * v_ratio *v_ratio); 
-					 count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
-				 }
-				 else tmp_rho=0.0f;
-				 //////////////////////////////////////////////////////////////////////////
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-				 //////////////////////////////////////////////////////////////////////////
-			 }
-		 }
-	 }
-
-	 //reset var "count"
-	 count=1;
-
-	 ostr << "\n";
-	 ostr << "SCALARS PressM float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 //////////////////////////////////////////////////////////////////////////
-				 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
-					 tmp_rho = (float)(pressH[count] / 3.0f * rho_ratio * v_ratio *v_ratio); 
-					 count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
-				 }
-				 else tmp_rho=0.0f;
-				 //////////////////////////////////////////////////////////////////////////
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-				 //////////////////////////////////////////////////////////////////////////
-			 }
-		 }
-	 }
-
-	 //reset var "count"
-	 count=1;
-
-	 ostr << "\n";
-	 ostr << "VECTORS Speed float\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 //////////////////////////////////////////////////////////////////////////
-				 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
-					 tmp_ux=(float)(vxH[count] * v_ratio);
-					 tmp_uy=(float)(vyH[count] * v_ratio);
-					 tmp_uz=(float)(vzH[count] * v_ratio);
-					 count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
-				 }
-				 else {
-					 tmp_ux=0.0f;
-					 tmp_uy=0.0f;
-					 tmp_uz=0.0f;
-				 }
-				 //////////////////////////////////////////////////////////////////////////
-				 if( std::fabs(tmp_ux) > std::fabs(uxMax) ) uxMax = tmp_ux;
-				 if(swapByte)
-				 {
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
-				 }
-				 ostr.write((char*)&tmp_ux, sizeof(float));
-				 ostr.write((char*)&tmp_uy, sizeof(float));
-				 ostr.write((char*)&tmp_uz, sizeof(float));
-				 //////////////////////////////////////////////////////////////////////////
-			 }
-		 }
-	 }
-	 printf(" \n uxMax: %.8f", (float)uxMax);
+     //Test 
+     real* /*float* double**/ vxH      = vxH_D      ;
+     real* /*float* double**/ vyH      = vyH_D      ;
+     real* /*float* double**/ vzH      = vzH_D      ;
+     real* /*float* double**/ rhoH     = rhoH_D     ;
+     real* /*float* double**/ pressH   = pressH_D   ;
+     float  v_ratio  = (float)v_ratio_D  ;
+     float  rho_ratio= (float)rho_ratio_D;
+     float  startx   = (float)startx_D   ;
+     float  starty   = (float)starty_D   ; 
+     float  startz   = (float)startz_D   ;//(double)start_z;
+     float  deltax   = (float)deltax_D   ;
+     int startoffx = startoffx_D;
+     int startoffy = startoffy_D;
+     int startoffz = startoffz_D;
+     unsigned int nnx = nnx_D;
+     unsigned int nny = nny_D;
+     unsigned int nnz = nnz_D;
+     unsigned int nx = nx_D;
+     unsigned int ny = ny_D;
+     unsigned int nz = nz_D;
+     unsigned int i,j,k;//,m;
+     unsigned int nn;
+     float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
+     int tmp;
+     bool swapByte = UbSystem::isLittleEndian();
+     float uxMax=0.0f;
+
+     unsigned int count=1;
+
+     nn = nnx*nny*nnz;
+
+     ofstream ostr(fname.c_str(),ios::out | ios::binary);
+
+     ostr << "# vtk DataFile Version 3.0\n";
+     ostr << fname << "\n";
+     ostr << "BINARY\n";
+     ostr << "DATASET STRUCTURED_POINTS\n";
+     ostr << "DIMENSIONS " << nnx << " " << nny << " " << nnz << " \n";
+     ostr << "ORIGIN " << startx << " " << starty << " " << startz << " \n";
+     ostr << "SPACING " << deltax << " " << deltax << " " << deltax <<" \n";
+
+     ostr << "POINT_DATA " << nn << "\n";
+
+     ostr << "SCALARS Geo int\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 //////////////////////////////////////////////////////////////////////////
+                 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
+                     tmp = bcMatH[count]; 
+                     count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
+                 }
+                 else tmp = 99;//GEO_VOID; 
+                 //////////////////////////////////////////////////////////////////////////
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
+                 ostr.write((char*)&tmp, sizeof(int));
+                 //////////////////////////////////////////////////////////////////////////
+             }
+         }
+     }
+
+     //reset var "count"
+     count=1;
+
+     ostr << "\n";
+     ostr << "SCALARS Press float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 //////////////////////////////////////////////////////////////////////////
+                 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
+                     tmp_rho = (float)(rhoH[count] / 3.0f * rho_ratio * v_ratio *v_ratio); 
+                     count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
+                 }
+                 else tmp_rho=0.0f;
+                 //////////////////////////////////////////////////////////////////////////
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+                 //////////////////////////////////////////////////////////////////////////
+             }
+         }
+     }
+
+     //reset var "count"
+     count=1;
+
+     ostr << "\n";
+     ostr << "SCALARS PressM float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 //////////////////////////////////////////////////////////////////////////
+                 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
+                     tmp_rho = (float)(pressH[count] / 3.0f * rho_ratio * v_ratio *v_ratio); 
+                     count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
+                 }
+                 else tmp_rho=0.0f;
+                 //////////////////////////////////////////////////////////////////////////
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+                 //////////////////////////////////////////////////////////////////////////
+             }
+         }
+     }
+
+     //reset var "count"
+     count=1;
+
+     ostr << "\n";
+     ostr << "VECTORS Speed float\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 //////////////////////////////////////////////////////////////////////////
+                 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
+                     tmp_ux=(float)(vxH[count] * v_ratio);
+                     tmp_uy=(float)(vyH[count] * v_ratio);
+                     tmp_uz=(float)(vzH[count] * v_ratio);
+                     count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
+                 }
+                 else {
+                     tmp_ux=0.0f;
+                     tmp_uy=0.0f;
+                     tmp_uz=0.0f;
+                 }
+                 //////////////////////////////////////////////////////////////////////////
+                 if( std::fabs(tmp_ux) > std::fabs(uxMax) ) uxMax = tmp_ux;
+                 if(swapByte)
+                 {
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
+                 }
+                 ostr.write((char*)&tmp_ux, sizeof(float));
+                 ostr.write((char*)&tmp_uy, sizeof(float));
+                 ostr.write((char*)&tmp_uz, sizeof(float));
+                 //////////////////////////////////////////////////////////////////////////
+             }
+         }
+     }
+     printf(" \n uxMax: %.8f", (float)uxMax);
  }
 
 
 
  void writeVTKmedSPbinAS(unsigned int nx_D, unsigned int ny_D, unsigned int nz_D, int startoffx_D, int startoffy_D, int startoffz_D,
-						 unsigned int nnx_D, unsigned int nny_D, unsigned int nnz_D, unsigned int start_z, unsigned int end_z, std::string& fname,
-						 unsigned int*   bcMatH, int*   bcMatHFull, real* vxH_D, real* vyH_D, real* vzH_D, real* rhoH_D, real* pressH_D, 
-						 real tdiff, real v_ratio_D, real rho_ratio_D, 
-						 real startx_D, real starty_D, real startz_D, real deltax_D, 
-						 unsigned int *coordX, unsigned int *coordY, unsigned int *coordZ)
+                         unsigned int nnx_D, unsigned int nny_D, unsigned int nnz_D, unsigned int start_z, unsigned int end_z, std::string& fname,
+                         unsigned int*   bcMatH, int*   bcMatHFull, real* vxH_D, real* vyH_D, real* vzH_D, real* rhoH_D, real* pressH_D, 
+                         real tdiff, real v_ratio_D, real rho_ratio_D, 
+                         real startx_D, real starty_D, real startz_D, real deltax_D, 
+                         unsigned int *coordX, unsigned int *coordY, unsigned int *coordZ)
  {
-	 //Test 
-	 real* /*float* double**/ vxH      = vxH_D      ;
-	 real* /*float* double**/ vyH      = vyH_D      ;
-	 real* /*float* double**/ vzH      = vzH_D      ;
-	 real* /*float* double**/ rhoH     = rhoH_D     ;
-	 real* /*float* double**/ pressH   = pressH_D   ;
-	 float  v_ratio  = (float)v_ratio_D  ;
-	 float  rho_ratio= (float)rho_ratio_D;
-	 float  startx   = (float)startx_D   ;
-	 float  starty   = (float)starty_D   ; 
-	 float  startz   = (float)startz_D   ;//(double)start_z;
-	 float  deltax   = (float)deltax_D   ;
-	 int startoffx = startoffx_D;
-	 int startoffy = startoffy_D;
-	 int startoffz = startoffz_D;
-	 unsigned int nnx = nnx_D;
-	 unsigned int nny = nny_D;
-	 unsigned int nnz = nnz_D;
-	 unsigned int nx = nx_D;
-	 unsigned int ny = ny_D;
-	 unsigned int nz = nz_D;
-	 unsigned int i,j,k;//,m;
-	 unsigned int nn;
-	 //unsigned int tmp;
-	 //double tmp_rho,tmp_ux,tmp_uy,tmp_uz;
-	 float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
-	 int tmp;
-	 bool swapByte = UbSystem::isLittleEndian();
-	 float uxMax=0.0f;
-
-	 unsigned int count=1;
-
-	 nn = nnx*nny*nnz;
-
-	 ofstream ostr(fname.c_str(),ios::out | ios::binary);
-
-	 ostr << "# vtk DataFile Version 3.0\n";
-	 ostr << fname << "\n";
-	 ostr << "BINARY\n";
-	 ostr << "DATASET STRUCTURED_POINTS\n";
-	 ostr << "DIMENSIONS " << nnx << " " << nny << " " << nnz << " \n";
-	 ostr << "ORIGIN " << startx << " " << starty << " " << startz << " \n";
-	 ostr << "SPACING " << deltax << " " << deltax << " " << deltax <<" \n";
-
-	 ostr << "POINT_DATA " << nn << "\n";
-
-	 ostr << "SCALARS Geo int\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 //////////////////////////////////////////////////////////////////////////
-				 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
-					 tmp = bcMatH[count]; 
-					 count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
-				 }
-				 else tmp = GEO_VOID; 
-				 //////////////////////////////////////////////////////////////////////////
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
-				 ostr.write((char*)&tmp, sizeof(int));
-				 //////////////////////////////////////////////////////////////////////////
-			 }
-		 }
-	 }
-
-	 //reset var "count"
-	 count=1;
-
-	 ostr << "\n";
-	 ostr << "SCALARS Press float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 //////////////////////////////////////////////////////////////////////////
-				 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
-					 tmp_rho = (float)((rhoH[count] / tdiff) / 3.0f * rho_ratio * v_ratio *v_ratio); 
-					 count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
-				 }
-				 else tmp_rho=0.0f;
-				 //////////////////////////////////////////////////////////////////////////
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-				 //////////////////////////////////////////////////////////////////////////
-			 }
-		 }
-	 }
-
-	 //reset var "count"
-	 count=1;
-
-	 ostr << "\n";
-	 ostr << "SCALARS PressM float\n";
-	 ostr << "LOOKUP_TABLE default\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 //////////////////////////////////////////////////////////////////////////
-				 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
-					 tmp_rho = (float)((pressH[count] / tdiff) / 3.0f * rho_ratio * v_ratio *v_ratio); 
-					 count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
-				 }
-				 else tmp_rho=0.0f;
-				 //////////////////////////////////////////////////////////////////////////
-				 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
-				 ostr.write((char*)&tmp_rho, sizeof(float));
-				 //////////////////////////////////////////////////////////////////////////
-			 }
-		 }
-	 }
-
-	 //reset var "count"
-	 count=1;
-
-	 ostr << "\n";
-	 ostr << "VECTORS Speed float\n";
-	 for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
-		 for(j=startoffy ; j<=nny+startoffy-1 ; j++){
-			 for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
-				 //////////////////////////////////////////////////////////////////////////
-				 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
-					 tmp_ux=(float)((vxH[count] / tdiff) * v_ratio);
-					 tmp_uy=(float)((vyH[count] / tdiff) * v_ratio);
-					 tmp_uz=(float)((vzH[count] / tdiff) * v_ratio);
-					 count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
-				 }
-				 else {
-					 tmp_ux=0.0f;
-					 tmp_uy=0.0f;
-					 tmp_uz=0.0f;
-				 }
-				 //////////////////////////////////////////////////////////////////////////
-				 if( std::fabs(tmp_ux) > std::fabs(uxMax) ) uxMax = tmp_ux;
-				 if(swapByte)
-				 {
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
-					 UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
-				 }
-				 ostr.write((char*)&tmp_ux, sizeof(float));
-				 ostr.write((char*)&tmp_uy, sizeof(float));
-				 ostr.write((char*)&tmp_uz, sizeof(float));
-				 //////////////////////////////////////////////////////////////////////////
-			 }
-		 }
-	 }
-	 printf(" \n uxMax: %.8f", (float)uxMax);
+     //Test 
+     real* /*float* double**/ vxH      = vxH_D      ;
+     real* /*float* double**/ vyH      = vyH_D      ;
+     real* /*float* double**/ vzH      = vzH_D      ;
+     real* /*float* double**/ rhoH     = rhoH_D     ;
+     real* /*float* double**/ pressH   = pressH_D   ;
+     float  v_ratio  = (float)v_ratio_D  ;
+     float  rho_ratio= (float)rho_ratio_D;
+     float  startx   = (float)startx_D   ;
+     float  starty   = (float)starty_D   ; 
+     float  startz   = (float)startz_D   ;//(double)start_z;
+     float  deltax   = (float)deltax_D   ;
+     int startoffx = startoffx_D;
+     int startoffy = startoffy_D;
+     int startoffz = startoffz_D;
+     unsigned int nnx = nnx_D;
+     unsigned int nny = nny_D;
+     unsigned int nnz = nnz_D;
+     unsigned int nx = nx_D;
+     unsigned int ny = ny_D;
+     unsigned int nz = nz_D;
+     unsigned int i,j,k;//,m;
+     unsigned int nn;
+     //unsigned int tmp;
+     //double tmp_rho,tmp_ux,tmp_uy,tmp_uz;
+     float tmp_rho,tmp_ux,tmp_uy,tmp_uz;
+     int tmp;
+     bool swapByte = UbSystem::isLittleEndian();
+     float uxMax=0.0f;
+
+     unsigned int count=1;
+
+     nn = nnx*nny*nnz;
+
+     ofstream ostr(fname.c_str(),ios::out | ios::binary);
+
+     ostr << "# vtk DataFile Version 3.0\n";
+     ostr << fname << "\n";
+     ostr << "BINARY\n";
+     ostr << "DATASET STRUCTURED_POINTS\n";
+     ostr << "DIMENSIONS " << nnx << " " << nny << " " << nnz << " \n";
+     ostr << "ORIGIN " << startx << " " << starty << " " << startz << " \n";
+     ostr << "SPACING " << deltax << " " << deltax << " " << deltax <<" \n";
+
+     ostr << "POINT_DATA " << nn << "\n";
+
+     ostr << "SCALARS Geo int\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 //////////////////////////////////////////////////////////////////////////
+                 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
+                     tmp = bcMatH[count]; 
+                     count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
+                 }
+                 else tmp = GEO_VOID; 
+                 //////////////////////////////////////////////////////////////////////////
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp,sizeof(int));
+                 ostr.write((char*)&tmp, sizeof(int));
+                 //////////////////////////////////////////////////////////////////////////
+             }
+         }
+     }
+
+     //reset var "count"
+     count=1;
+
+     ostr << "\n";
+     ostr << "SCALARS Press float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 //////////////////////////////////////////////////////////////////////////
+                 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
+                     tmp_rho = (float)((rhoH[count] / tdiff) / 3.0f * rho_ratio * v_ratio *v_ratio); 
+                     count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
+                 }
+                 else tmp_rho=0.0f;
+                 //////////////////////////////////////////////////////////////////////////
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+                 //////////////////////////////////////////////////////////////////////////
+             }
+         }
+     }
+
+     //reset var "count"
+     count=1;
+
+     ostr << "\n";
+     ostr << "SCALARS PressM float\n";
+     ostr << "LOOKUP_TABLE default\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 //////////////////////////////////////////////////////////////////////////
+                 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
+                     tmp_rho = (float)((pressH[count] / tdiff) / 3.0f * rho_ratio * v_ratio *v_ratio); 
+                     count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
+                 }
+                 else tmp_rho=0.0f;
+                 //////////////////////////////////////////////////////////////////////////
+                 if(swapByte) UbSystem::swapByteOrder((unsigned char*)&tmp_rho,sizeof(float));
+                 ostr.write((char*)&tmp_rho, sizeof(float));
+                 //////////////////////////////////////////////////////////////////////////
+             }
+         }
+     }
+
+     //reset var "count"
+     count=1;
+
+     ostr << "\n";
+     ostr << "VECTORS Speed float\n";
+     for(k=startoffz ; k<=nnz+startoffz-1 ; k++){
+         for(j=startoffy ; j<=nny+startoffy-1 ; j++){
+             for(i=startoffx ; i<=nnx+startoffx-1 ; i++){
+                 //////////////////////////////////////////////////////////////////////////
+                 if(coordX[count]==i && coordY[count]==j && coordZ[count]==k) {
+                     tmp_ux=(float)((vxH[count] / tdiff) * v_ratio);
+                     tmp_uy=(float)((vyH[count] / tdiff) * v_ratio);
+                     tmp_uz=(float)((vzH[count] / tdiff) * v_ratio);
+                     count++; //count wird nur im "if" erh�ht. stellt sicher, dass wir im array nur einen schritt weiter gehen wenn eine kombination gefunden wurde
+                 }
+                 else {
+                     tmp_ux=0.0f;
+                     tmp_uy=0.0f;
+                     tmp_uz=0.0f;
+                 }
+                 //////////////////////////////////////////////////////////////////////////
+                 if( std::fabs(tmp_ux) > std::fabs(uxMax) ) uxMax = tmp_ux;
+                 if(swapByte)
+                 {
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_ux,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uy,sizeof(float));
+                     UbSystem::swapByteOrder((unsigned char*)&tmp_uz,sizeof(float));
+                 }
+                 ostr.write((char*)&tmp_ux, sizeof(float));
+                 ostr.write((char*)&tmp_uy, sizeof(float));
+                 ostr.write((char*)&tmp_uz, sizeof(float));
+                 //////////////////////////////////////////////////////////////////////////
+             }
+         }
+     }
+     printf(" \n uxMax: %.8f", (float)uxMax);
  }
 
 
diff --git a/src/gpu/core/Output/interfaceWriter.hpp b/src/gpu/core/Output/interfaceWriter.hpp
index bf35411b93fd1f126cfdde1f3739f1baa33a4d83..84df3801945d12d6dd70b055e681db71ccabddc6 100644
--- a/src/gpu/core/Output/interfaceWriter.hpp
+++ b/src/gpu/core/Output/interfaceWriter.hpp
@@ -20,178 +20,178 @@
 class interfaceWriter
 {
 public:
-	interfaceWriter(){}
-	~interfaceWriter(){}
-
-	static void writeVtkInterfaceCells(Parameter* para, std::string Type)
-	{
-		std::vector< UbTupleFloat3 > nodesVec;
-		std::vector< UbTupleInt8 > cellsVec;
-		int nodeNumberVec = 0;
-		for (int level = 0; level < para->getMaxLevel(); level++)
-		{
-			if ((Type == "_InterfaceCFC") || (Type == "_InterfaceCFF"))
-			{
+    interfaceWriter(){}
+    ~interfaceWriter(){}
+
+    static void writeVtkInterfaceCells(Parameter* para, std::string Type)
+    {
+        std::vector< UbTupleFloat3 > nodesVec;
+        std::vector< UbTupleInt8 > cellsVec;
+        int nodeNumberVec = 0;
+        for (int level = 0; level < para->getMaxLevel(); level++)
+        {
+            if ((Type == "_InterfaceCFC") || (Type == "_InterfaceCFF"))
+            {
                 nodeNumberVec += para->getParH(level)->coarseToFine.numberOfCells;
-			}
-			else if (Type == "_InterfaceFCF")
-			{
+            }
+            else if (Type == "_InterfaceFCF")
+            {
                 nodeNumberVec += para->getParH(level)->fineToCoarse.numberOfCells;
-			}
-		}
-		nodesVec.resize(nodeNumberVec*8);
-		int nodeCount = 0;
-		for (int level = 0; level < para->getMaxLevel(); level++)
-		{
-			int nx1lev = para->getParH(level)->gridNX;//((grid->getNX1()<<(level+levelDiff))*blocknx1)+1;
-			int nx2lev = para->getParH(level)->gridNY;//((grid->getNX2()<<(level+levelDiff))*blocknx2)+1;
-			int nx3lev = para->getParH(level)->gridNZ;//((grid->getNX3()<<(level+levelDiff))*blocknx3)+1;
-
-			//int nodeDifferenz = nodeCounter;
-			double nodeDeltaLevel = para->getParH(level)->dx; //nodeDelta/(1<<(level+levelDiff));
-			double halfNodeDeltaLevel = 0.5*nodeDeltaLevel;
-			//int count = 0;
-
-			//std::vector<unsigned int>& posVec = posIndexVec[level];
-			if (Type == "_InterfaceCFC")
-			{
+            }
+        }
+        nodesVec.resize(nodeNumberVec*8);
+        int nodeCount = 0;
+        for (int level = 0; level < para->getMaxLevel(); level++)
+        {
+            int nx1lev = para->getParH(level)->gridNX;//((grid->getNX1()<<(level+levelDiff))*blocknx1)+1;
+            int nx2lev = para->getParH(level)->gridNY;//((grid->getNX2()<<(level+levelDiff))*blocknx2)+1;
+            int nx3lev = para->getParH(level)->gridNZ;//((grid->getNX3()<<(level+levelDiff))*blocknx3)+1;
+
+            //int nodeDifferenz = nodeCounter;
+            double nodeDeltaLevel = para->getParH(level)->dx; //nodeDelta/(1<<(level+levelDiff));
+            double halfNodeDeltaLevel = 0.5*nodeDeltaLevel;
+            //int count = 0;
+
+            //std::vector<unsigned int>& posVec = posIndexVec[level];
+            if (Type == "_InterfaceCFC")
+            {
                 for (unsigned int u = 0; u < para->getParH(level)->coarseToFine.numberOfCells; u++)
-				{
-					int pos = para->getParH(level)->coarseToFine.coarseCellIndices[u];
-					int ix1 = pos % nx1lev;
-					int wertDurchNx1 = pos / nx1lev;
-					int ix2 = wertDurchNx1 % nx2lev;
-					int ix3 = wertDurchNx1 / nx2lev;
-
-					//cout<<"danach:"<<ix1<<" "<<ix2<<" "<<ix3<<" -> "<<pos<<endl;
-					double x1 = ix1*nodeDeltaLevel+halfNodeDeltaLevel;
-					double x2 = ix2*nodeDeltaLevel+halfNodeDeltaLevel;
-					double x3 = ix3*nodeDeltaLevel+halfNodeDeltaLevel;
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
-
-					cellsVec.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );
-
-				}				
-			}
-			else if (Type == "_InterfaceCFF")
-			{
+                {
+                    int pos = para->getParH(level)->coarseToFine.coarseCellIndices[u];
+                    int ix1 = pos % nx1lev;
+                    int wertDurchNx1 = pos / nx1lev;
+                    int ix2 = wertDurchNx1 % nx2lev;
+                    int ix3 = wertDurchNx1 / nx2lev;
+
+                    //cout<<"danach:"<<ix1<<" "<<ix2<<" "<<ix3<<" -> "<<pos<<endl;
+                    double x1 = ix1*nodeDeltaLevel+halfNodeDeltaLevel;
+                    double x2 = ix2*nodeDeltaLevel+halfNodeDeltaLevel;
+                    double x3 = ix3*nodeDeltaLevel+halfNodeDeltaLevel;
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
+
+                    cellsVec.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );
+
+                }                
+            }
+            else if (Type == "_InterfaceCFF")
+            {
                 for (unsigned int u = 0; u < para->getParH(level)->coarseToFine.numberOfCells; u++)
-				{
-					int pos = para->getParH(level)->coarseToFine.fineCellIndices[u];
-					int ix1 = pos % nx1lev;
-					int wertDurchNx1 = pos / nx1lev;
-					int ix2 = wertDurchNx1 % nx2lev;
-					int ix3 = wertDurchNx1 / nx2lev;
-
-					//cout<<"danach:"<<ix1<<" "<<ix2<<" "<<ix3<<" -> "<<pos<<endl;
-					double x1 = ix1*nodeDeltaLevel+halfNodeDeltaLevel;
-					double x2 = ix2*nodeDeltaLevel+halfNodeDeltaLevel;
-					double x3 = ix3*nodeDeltaLevel+halfNodeDeltaLevel;
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
-
-					cellsVec.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );
-
-				}				
-			}
-			else if (Type == "_InterfaceFCF")
-			{
+                {
+                    int pos = para->getParH(level)->coarseToFine.fineCellIndices[u];
+                    int ix1 = pos % nx1lev;
+                    int wertDurchNx1 = pos / nx1lev;
+                    int ix2 = wertDurchNx1 % nx2lev;
+                    int ix3 = wertDurchNx1 / nx2lev;
+
+                    //cout<<"danach:"<<ix1<<" "<<ix2<<" "<<ix3<<" -> "<<pos<<endl;
+                    double x1 = ix1*nodeDeltaLevel+halfNodeDeltaLevel;
+                    double x2 = ix2*nodeDeltaLevel+halfNodeDeltaLevel;
+                    double x3 = ix3*nodeDeltaLevel+halfNodeDeltaLevel;
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
+
+                    cellsVec.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );
+
+                }                
+            }
+            else if (Type == "_InterfaceFCF")
+            {
                 for (unsigned int u = 0; u < para->getParH(level)->fineToCoarse.numberOfCells; u++)
-				{
-					int pos = para->getParH(level)->fineToCoarse.fineCellIndices[u];
-					int ix1 = pos % nx1lev;
-					int wertDurchNx1 = pos / nx1lev;
-					int ix2 = wertDurchNx1 % nx2lev;
-					int ix3 = wertDurchNx1 / nx2lev;
-
-					//cout<<"danach:"<<ix1<<" "<<ix2<<" "<<ix3<<" -> "<<pos<<endl;
-					double x1 = ix1*nodeDeltaLevel+halfNodeDeltaLevel;
-					double x2 = ix2*nodeDeltaLevel+halfNodeDeltaLevel;
-					double x3 = ix3*nodeDeltaLevel+halfNodeDeltaLevel;
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
-					nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
-
-					cellsVec.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );
-				}
-			}
-		}
-		// WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(filename,nodes,cells,nodedatanames,nodedata);
-		std::string filenameVec = para->getFName()+Type+".dat";
-		WbWriterVtkXmlBinary::getInstance()->writeOcts(filenameVec,nodesVec,cellsVec);
-	}
-
-	static void writeVtkInterfaceNodes(Parameter* para, std::string Type)
-	{
-		std::vector< UbTupleFloat3 > nodesVec;
-		std::vector< UbTupleInt8 > cellsVec;
-		int nodeNumberVec = 0;
-		for (int level = 0; level < para->getMaxLevel(); level++)
-		{
+                {
+                    int pos = para->getParH(level)->fineToCoarse.fineCellIndices[u];
+                    int ix1 = pos % nx1lev;
+                    int wertDurchNx1 = pos / nx1lev;
+                    int ix2 = wertDurchNx1 % nx2lev;
+                    int ix3 = wertDurchNx1 / nx2lev;
+
+                    //cout<<"danach:"<<ix1<<" "<<ix2<<" "<<ix3<<" -> "<<pos<<endl;
+                    double x1 = ix1*nodeDeltaLevel+halfNodeDeltaLevel;
+                    double x2 = ix2*nodeDeltaLevel+halfNodeDeltaLevel;
+                    double x3 = ix3*nodeDeltaLevel+halfNodeDeltaLevel;
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2),(float)(x3+nodeDeltaLevel) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+nodeDeltaLevel),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
+                    nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+nodeDeltaLevel),(float)(x3+nodeDeltaLevel) ) );
+
+                    cellsVec.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );
+                }
+            }
+        }
+        // WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(filename,nodes,cells,nodedatanames,nodedata);
+        std::string filenameVec = para->getFName()+Type+".dat";
+        WbWriterVtkXmlBinary::getInstance()->writeOcts(filenameVec,nodesVec,cellsVec);
+    }
+
+    static void writeVtkInterfaceNodes(Parameter* para, std::string Type)
+    {
+        std::vector< UbTupleFloat3 > nodesVec;
+        std::vector< UbTupleInt8 > cellsVec;
+        int nodeNumberVec = 0;
+        for (int level = 0; level < para->getMaxLevel(); level++)
+        {
             nodeNumberVec += para->getParH(level)->fineToCoarse.numberOfCells;
-		}
-		nodesVec.resize(nodeNumberVec*8);
-		int nodeCount = 0;
-		for (int level = 0; level < para->getMaxLevel(); level++)
-		{
-			int nx1lev =  para->getParH(level)->gridNX;//((grid->getNX1()<<(level+levelDiff))*blocknx1)+1;
-			int nx2lev =  para->getParH(level)->gridNY;//((grid->getNX2()<<(level+levelDiff))*blocknx2)+1;
-			int nx3lev =  para->getParH(level)->gridNZ;//((grid->getNX3()<<(level+levelDiff))*blocknx3)+1;
-
-			//int nodeDifferenz = nodeCounter;
-			double nodeDeltaLevel = para->getParH(level)->dx; //nodeDelta/(1<<(level+levelDiff));
-			double halfNodeDeltaLevel = 0.5*nodeDeltaLevel;
-			double viertelNodeDelta = 0.25*nodeDeltaLevel;
-			double achtelNodeDelta = 0.125*nodeDeltaLevel;
-			//int count = 0;
-			//std::vector<unsigned int>& posVec = posIndexVec[level];
+        }
+        nodesVec.resize(nodeNumberVec*8);
+        int nodeCount = 0;
+        for (int level = 0; level < para->getMaxLevel(); level++)
+        {
+            int nx1lev =  para->getParH(level)->gridNX;//((grid->getNX1()<<(level+levelDiff))*blocknx1)+1;
+            int nx2lev =  para->getParH(level)->gridNY;//((grid->getNX2()<<(level+levelDiff))*blocknx2)+1;
+            int nx3lev =  para->getParH(level)->gridNZ;//((grid->getNX3()<<(level+levelDiff))*blocknx3)+1;
+
+            //int nodeDifferenz = nodeCounter;
+            double nodeDeltaLevel = para->getParH(level)->dx; //nodeDelta/(1<<(level+levelDiff));
+            double halfNodeDeltaLevel = 0.5*nodeDeltaLevel;
+            double viertelNodeDelta = 0.25*nodeDeltaLevel;
+            double achtelNodeDelta = 0.125*nodeDeltaLevel;
+            //int count = 0;
+            //std::vector<unsigned int>& posVec = posIndexVec[level];
             for (unsigned int u = 0; u < para->getParH(level)->fineToCoarse.numberOfCells; u++)
-			{
-				int pos = para->getParH(level)->fineToCoarse.coarseCellIndices[u];//posVec[u];
-				int ix1 = pos % nx1lev;
-				int wertDurchNx1 = pos / nx1lev;
-				int ix2 = wertDurchNx1 % nx2lev;
-				int ix3 = wertDurchNx1 / nx2lev;
-
-				//cout<<"danach:"<<ix1<<" "<<ix2<<" "<<ix3<<" -> "<<pos<<endl;
-				double x1 = ix1*nodeDeltaLevel+halfNodeDeltaLevel-achtelNodeDelta;
-				double x2 = ix2*nodeDeltaLevel+halfNodeDeltaLevel-achtelNodeDelta;
-				double x3 = ix3*nodeDeltaLevel+halfNodeDeltaLevel-achtelNodeDelta;
-				nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3) ) );
-				nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+viertelNodeDelta),(float)(x2),(float)(x3) ) );
-				nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+viertelNodeDelta),(float)(x2+viertelNodeDelta),(float)(x3) ) );
-				nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+viertelNodeDelta),(float)(x3) ) );
-				nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3+viertelNodeDelta) ) );
-				nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+viertelNodeDelta),(float)(x2),(float)(x3+viertelNodeDelta) ) );
-				nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+viertelNodeDelta),(float)(x2+viertelNodeDelta),(float)(x3+viertelNodeDelta) ) );
-				nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+viertelNodeDelta),(float)(x3+viertelNodeDelta) ) );
-
-				cellsVec.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );
-
-			}
-		}
-		// WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(filename,nodes,cells,nodedatanames,nodedata);
-		std::string filenameVec = para->getFName()+Type+".dat";
-		WbWriterVtkXmlBinary::getInstance()->writeOcts(filenameVec,nodesVec,cellsVec);
-	}
+            {
+                int pos = para->getParH(level)->fineToCoarse.coarseCellIndices[u];//posVec[u];
+                int ix1 = pos % nx1lev;
+                int wertDurchNx1 = pos / nx1lev;
+                int ix2 = wertDurchNx1 % nx2lev;
+                int ix3 = wertDurchNx1 / nx2lev;
+
+                //cout<<"danach:"<<ix1<<" "<<ix2<<" "<<ix3<<" -> "<<pos<<endl;
+                double x1 = ix1*nodeDeltaLevel+halfNodeDeltaLevel-achtelNodeDelta;
+                double x2 = ix2*nodeDeltaLevel+halfNodeDeltaLevel-achtelNodeDelta;
+                double x3 = ix3*nodeDeltaLevel+halfNodeDeltaLevel-achtelNodeDelta;
+                nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3) ) );
+                nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+viertelNodeDelta),(float)(x2),(float)(x3) ) );
+                nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+viertelNodeDelta),(float)(x2+viertelNodeDelta),(float)(x3) ) );
+                nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+viertelNodeDelta),(float)(x3) ) );
+                nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2),(float)(x3+viertelNodeDelta) ) );
+                nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+viertelNodeDelta),(float)(x2),(float)(x3+viertelNodeDelta) ) );
+                nodesVec[nodeCount++]=( makeUbTuple( (float)(x1+viertelNodeDelta),(float)(x2+viertelNodeDelta),(float)(x3+viertelNodeDelta) ) );
+                nodesVec[nodeCount++]=( makeUbTuple( (float)(x1),(float)(x2+viertelNodeDelta),(float)(x3+viertelNodeDelta) ) );
+
+                cellsVec.push_back( makeUbTuple(nodeCount-8,nodeCount-7,nodeCount-6,nodeCount-5,nodeCount-4,nodeCount-3,nodeCount-2,nodeCount-1) );
+
+            }
+        }
+        // WbWriterVtkXmlBinary::getInstance()->writeOctsWithNodeData(filename,nodes,cells,nodedatanames,nodedata);
+        std::string filenameVec = para->getFName()+Type+".dat";
+        WbWriterVtkXmlBinary::getInstance()->writeOcts(filenameVec,nodesVec,cellsVec);
+    }
 
 protected:
 private:
diff --git a/src/gpu/core/Output/kFullWriter.hpp b/src/gpu/core/Output/kFullWriter.hpp
index 1ef164b353eb9bb2f99b8658dcc1201e397197c4..659b6a06da650aed18c953126482153a0e325e0f 100644
--- a/src/gpu/core/Output/kFullWriter.hpp
+++ b/src/gpu/core/Output/kFullWriter.hpp
@@ -24,44 +24,44 @@
 class kFullWriter
 {
 public:
-	kFullWriter(){}
-	~kFullWriter(){}
+    kFullWriter(){}
+    ~kFullWriter(){}
 
-	static void writekFull(Parameter* para)
-	{
-		UbFileOutputASCII out(para->getFName()+"_kfull.dat");
+    static void writekFull(Parameter* para)
+    {
+        UbFileOutputASCII out(para->getFName()+"_kfull.dat");
 
-		out.writeInteger(para->getMaxLevel());
-		out.writeLine();
+        out.writeInteger(para->getMaxLevel());
+        out.writeLine();
 
-		for (int level = 0; level <= para->getMaxLevel(); level++)
-		{
-			int nodeNumberX1 = para->getParH(level)->gridNX;
-			int nodeNumberX2 = para->getParH(level)->gridNY;
-			int nodeNumberX3 = para->getParH(level)->gridNZ;
-			out.writeInteger(nodeNumberX1);
-			out.writeInteger(nodeNumberX2);
-			out.writeInteger(nodeNumberX3);
-			out.writeLine();
-			for(int ix3=0; ix3<nodeNumberX3; ix3++)
-			{
-				for(int ix2=0; ix2<nodeNumberX2; ix2++)
-				{
-					for(int ix1=0; ix1<nodeNumberX1; ix1++)
-					{
-						unsigned int m = nodeNumberX1*(nodeNumberX2*ix3 + ix2) + ix1;
-						int number = para->getParH(level)->k[m];
+        for (int level = 0; level <= para->getMaxLevel(); level++)
+        {
+            int nodeNumberX1 = para->getParH(level)->gridNX;
+            int nodeNumberX2 = para->getParH(level)->gridNY;
+            int nodeNumberX3 = para->getParH(level)->gridNZ;
+            out.writeInteger(nodeNumberX1);
+            out.writeInteger(nodeNumberX2);
+            out.writeInteger(nodeNumberX3);
+            out.writeLine();
+            for(int ix3=0; ix3<nodeNumberX3; ix3++)
+            {
+                for(int ix2=0; ix2<nodeNumberX2; ix2++)
+                {
+                    for(int ix1=0; ix1<nodeNumberX1; ix1++)
+                    {
+                        unsigned int m = nodeNumberX1*(nodeNumberX2*ix3 + ix2) + ix1;
+                        int number = para->getParH(level)->k[m];
 
-						//if(number<0)  out.writeInteger(0); 
-						//else          out.writeInteger(number+1);
-						out.writeInteger(number);
-					}
-				}
-			}
-			out.writeLine();
-		} //end levelloop
+                        //if(number<0)  out.writeInteger(0); 
+                        //else          out.writeInteger(number+1);
+                        out.writeInteger(number);
+                    }
+                }
+            }
+            out.writeLine();
+        } //end levelloop
 
-	}
+    }
 protected:
 private:
 };
diff --git a/src/gpu/core/Parameter/Parameter.cpp b/src/gpu/core/Parameter/Parameter.cpp
index 135f19160b1eee0456dacdd31cfaf5db2021572e..c0a03f68ac2de737e9365f28e8b0e09eb0ea8f6c 100644
--- a/src/gpu/core/Parameter/Parameter.cpp
+++ b/src/gpu/core/Parameter/Parameter.cpp
@@ -131,15 +131,9 @@ void Parameter::readConfigData(const vf::basics::ConfigurationFile &configData)
     if (configData.contains("UseMeasurePoints"))
         this->setUseMeasurePoints(configData.getValue<bool>("UseMeasurePoints"));
     //////////////////////////////////////////////////////////////////////////
-    if (configData.contains("UseWale"))
-        this->setUseWale(configData.getValue<bool>("UseWale"));
-    //////////////////////////////////////////////////////////////////////////
     if (configData.contains("UseInitNeq"))
         this->setUseInitNeq(configData.getValue<bool>("UseInitNeq"));
     //////////////////////////////////////////////////////////////////////////
-    if (configData.contains("SimulatePorousMedia"))
-        this->setSimulatePorousMedia(configData.getValue<bool>("SimulatePorousMedia"));
-    //////////////////////////////////////////////////////////////////////////
     if (configData.contains("D3Qxx"))
         this->setD3Qxx(configData.getValue<int>("D3Qxx"));
     //////////////////////////////////////////////////////////////////////////
@@ -175,9 +169,6 @@ void Parameter::readConfigData(const vf::basics::ConfigurationFile &configData)
     if (configData.contains("DiffOn"))
         this->setDiffOn(configData.getValue<bool>("DiffOn"));
     //////////////////////////////////////////////////////////////////////////
-    if (configData.contains("DiffMod"))
-        this->setDiffMod(configData.getValue<int>("DiffMod"));
-    //////////////////////////////////////////////////////////////////////////
     if (configData.contains("Diffusivity"))
         this->setDiffusivity(configData.getValue<real>("Diffusivity"));
     //////////////////////////////////////////////////////////////////////////
@@ -677,10 +668,6 @@ void Parameter::setCompOn(bool isComp)
 {
     compOn = isComp;
 }
-void Parameter::setDiffMod(int DiffMod)
-{
-    diffMod = DiffMod;
-}
 void Parameter::setD3Qxx(int d3qxx)
 {
     this->D3Qxx = d3qxx;
@@ -991,20 +978,10 @@ void Parameter::setUseInitNeq(bool useInitNeq)
 {
     this->isInitNeq = useInitNeq;
 }
-void Parameter::setSimulatePorousMedia(bool simulatePorousMedia)
-{
-    this->simulatePorousMedia = simulatePorousMedia;
-}
 void Parameter::setUseTurbulentViscosity(bool useTurbulentViscosity)
 {
     this->isTurbulentViscosity = useTurbulentViscosity;
 }
-void Parameter::setUseWale(bool useWale)
-{
-    this->isWale = useWale;
-    if (useWale)
-        setUseTurbulentViscosity(true);
-}
 void Parameter::setTurbulenceModel(vf::lbm::TurbulenceModel turbulenceModel)
 {
     this->turbulenceModel = turbulenceModel;
@@ -1802,7 +1779,7 @@ int Parameter::getNumberOfParticles()
 }
 bool Parameter::getEvenOrOdd(int level)
 {
-	return parD[level]->isEvenTimestep;
+    return parD[level]->isEvenTimestep;
 }
 bool Parameter::getDiffOn()
 {
@@ -1812,10 +1789,6 @@ bool Parameter::getCompOn()
 {
     return compOn;
 }
-int Parameter::getDiffMod()
-{
-    return diffMod;
-}
 int Parameter::getFactorNZ()
 {
     return factor_gridNZ;
@@ -1824,7 +1797,7 @@ int Parameter::getD3Qxx()
 {
     return this->D3Qxx;
 }
-int Parameter::getMaxLevel()
+int Parameter::getMaxLevel() const
 {
     return this->maxlevel;
 }
@@ -2346,14 +2319,14 @@ unsigned int Parameter::getTimeDoRestart()
 unsigned int Parameter::getTimeStep(int level, unsigned int t, bool isPostCollision)
 {
     if(level>this->getMaxLevel()) throw std::runtime_error("Parameter::getTimeStep: level>this->getMaxLevel()!");
-	unsigned int tLevel = t;                                                                  
+    unsigned int tLevel = t;                                                                  
     if(level>0)
     {
         for(int i=1; i<level; i++){ tLevel = 1 + 2*(tLevel-1) + !this->getEvenOrOdd(i); }     
         bool addOne = isPostCollision? !this->getEvenOrOdd(level): this->getEvenOrOdd(level); 
         tLevel = 1 + 2*(tLevel-1) + addOne;
     }
-	return tLevel;
+    return tLevel;
 }
 
 bool Parameter::getDoCheckPoint()
@@ -2392,10 +2365,6 @@ bool Parameter::getUseMeasurePoints()
 {
     return this->isMeasurePoints;
 }
-bool Parameter::getUseWale()
-{
-    return this->isWale;
-}
 vf::lbm::TurbulenceModel Parameter::getTurbulenceModel()
 {
     return this->turbulenceModel;
@@ -2424,10 +2393,6 @@ bool Parameter::getUseInitNeq()
 {
     return this->isInitNeq;
 }
-bool Parameter::getSimulatePorousMedia()
-{
-    return this->simulatePorousMedia;
-}
 
 bool Parameter::getIsF3()
 {
diff --git a/src/gpu/core/Parameter/Parameter.h b/src/gpu/core/Parameter/Parameter.h
index 5882b1524612aeb5c78d908a8936e4c296c47628..697a6f05f511b596ad99bc634cec378936d8bbd5 100644
--- a/src/gpu/core/Parameter/Parameter.h
+++ b/src/gpu/core/Parameter/Parameter.h
@@ -325,7 +325,6 @@ struct LBMSimulationParameter {
 
     // turbulent viscosity ///
     real *turbViscosity;
-    real *gSij, *gSDij, *gDxvx, *gDyvx, *gDzvx, *gDxvy, *gDyvy, *gDzvy, *gDxvz, *gDyvz, *gDzvz; // DebugInformation
 
     // turbulence intensity //
     real *vx_mean, *vy_mean, *vz_mean;       // means
@@ -491,7 +490,6 @@ public:
     void setStartTurn(unsigned int inStartTurn);
     void setDiffOn(bool isDiff);
     void setCompOn(bool isComp);
-    void setDiffMod(int DiffMod);
     void setDiffusivity(real Diffusivity);
     void setD3Qxx(int d3qxx);
     void setMaxLevel(int numberOfLevels);
@@ -607,13 +605,11 @@ public:
     void setIsCp(bool isCp);
     void setConcFile(bool concFile);
     void setUseMeasurePoints(bool useMeasurePoints);
-    void setUseWale(bool useWale);
     void setTurbulenceModel(vf::lbm::TurbulenceModel turbulenceModel);
     void setUseTurbulentViscosity(bool useTurbulentViscosity);
     void setSGSConstant(real SGSConstant);
     void setHasWallModelMonitor(bool hasWallModelMonitor);
     void setUseInitNeq(bool useInitNeq);
-    void setSimulatePorousMedia(bool simulatePorousMedia);
     void setIsF3(bool isF3);
     void setIsBodyForce(bool isBodyForce);
     void setclockCycleForMP(real clockCycleForMP);
@@ -729,11 +725,10 @@ public:
     int getParticleBasicLevel();
     int getParticleInitLevel();
     int getNumberOfParticles();
-    int getDiffMod();
     int getFactorNZ();
     int getD3Qxx();
     //! \returns the maximum level of grid refinement
-    int getMaxLevel();
+    int getMaxLevel() const;
     int getTimeCalcMedStart();
     int getTimeCalcMedEnd();
     int getMaxDev();
@@ -902,13 +897,11 @@ public:
     bool getCalcHighOrderMoments();
     bool getConcFile();
     bool getUseMeasurePoints();
-    bool getUseWale();
     vf::lbm::TurbulenceModel getTurbulenceModel();
     bool getUseTurbulentViscosity();
     real getSGSConstant();
     bool getHasWallModelMonitor();
     bool getUseInitNeq();
-    bool getSimulatePorousMedia();
     bool getIsF3();
     bool getIsBodyForce();
     double getMemsizeGPU();
@@ -1023,15 +1016,12 @@ private:
     bool isHighOrderMoments{ false };
     bool calcMedian{ false };
     bool isConc{ false };
-    bool isWale{ false };
     bool isTurbulentViscosity{ false };
     bool isMeasurePoints{ false };
     bool isInitNeq{ false };
     bool isGeoNormal, isInflowNormal, isOutflowNormal;
     bool hasWallModelMonitor{ false };
-    bool simulatePorousMedia{ false };
 
-    int diffMod{ 27 };
     //! \property maximum level of grid refinement
     int maxlevel{ 0 };
     int coarse{ 0 };
diff --git a/src/gpu/core/Parameter/ParameterTest.cpp b/src/gpu/core/Parameter/ParameterTest.cpp
index 042195106e6c9efcb33ea1f6dd278a83e94bb7c8..bbbdc7d11598512efa3589f89157b7055f9b8b28 100644
--- a/src/gpu/core/Parameter/ParameterTest.cpp
+++ b/src/gpu/core/Parameter/ParameterTest.cpp
@@ -67,9 +67,7 @@ TEST(ParameterTest, check_all_Parameter_CanBePassedToConstructor)
     EXPECT_THAT(para.getCalcPlaneConc(), testing::Eq(true));
     EXPECT_THAT(para.getConcFile(), testing::Eq(true));
     EXPECT_THAT(para.getUseMeasurePoints(), testing::Eq(true));
-    EXPECT_THAT(para.getUseWale(), testing::Eq(true));
     EXPECT_THAT(para.getUseInitNeq(), testing::Eq(true));
-    EXPECT_THAT(para.getSimulatePorousMedia(), testing::Eq(true));
 
     EXPECT_THAT(para.getD3Qxx(), testing::Eq(99));
     EXPECT_THAT(para.getTimestepEnd(), testing::Eq(33));
@@ -83,7 +81,6 @@ TEST(ParameterTest, check_all_Parameter_CanBePassedToConstructor)
     EXPECT_THAT(para.getPressOutZ(), testing::Eq(28));
 
     EXPECT_THAT(para.getDiffOn(), testing::Eq(true));
-    EXPECT_THAT(para.getDiffMod(), testing::Eq(99));
     EXPECT_THAT(para.getDiffusivity(), RealEq(1.11));
     EXPECT_THAT(para.getTemperatureInit(), RealEq(2.22));
     EXPECT_THAT(para.getTemperatureBC(), RealEq(3.33));
diff --git a/src/gpu/core/Parameter/parameterTest.cfg b/src/gpu/core/Parameter/parameterTest.cfg
index 097c6e6ccbec37c0f30de45ba444f33ff756cbdb..6277f4f4cd22cf9f5428b0fb13851957eee04399 100644
--- a/src/gpu/core/Parameter/parameterTest.cfg
+++ b/src/gpu/core/Parameter/parameterTest.cfg
@@ -18,7 +18,6 @@ writeVeloASCIIfiles = true
 calcPlaneConc = true
 UseConcFile = true
 UseMeasurePoints = true
-UseWale = true
 UseInitNeq = true
 SimulatePorousMedia = true
 
diff --git a/src/gpu/core/Particles/Particles.cpp b/src/gpu/core/Particles/Particles.cpp
index e0156e3fbae46282baeb1359c719a077f021cf6b..721c9660247d372bd6f3309d3ce3ead95a06538a 100644
--- a/src/gpu/core/Particles/Particles.cpp
+++ b/src/gpu/core/Particles/Particles.cpp
@@ -18,35 +18,35 @@
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 void allocParticles(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//all level store the same number of time steps
-		para->getParH(lev)->plp.numberOfTimestepsParticles = para->getTimestepOut() * (unsigned int)pow(2,para->getParticleBasicLevel());
-		para->getParD(lev)->plp.numberOfTimestepsParticles = para->getTimestepOut() * (unsigned int)pow(2,para->getParticleBasicLevel());
-		//////////////////////////////////////////////////////////////////////////
-		//all level store the same number of Particles
-		para->getParH(lev)->plp.numberOfParticles = para->getNumberOfParticles();
-		para->getParD(lev)->plp.numberOfParticles = para->getParH(lev)->plp.numberOfParticles;
-		//////////////////////////////////////////////////////////////////////////
-		//set memory size
-		para->getParH(lev)->plp.memSizeTimestep      = sizeof(unsigned int)*(para->getParH(lev)->plp.numberOfTimestepsParticles);
-		para->getParH(lev)->plp.memSizeID            = sizeof(unsigned int)*(para->getParH(lev)->plp.numberOfParticles);
-		para->getParH(lev)->plp.memSizereal       = sizeof(real)*(para->getParH(lev)->plp.numberOfParticles);
-		para->getParH(lev)->plp.memSizerealAll	 = sizeof(real)*(para->getParH(lev)->plp.numberOfParticles * para->getParH(lev)->plp.numberOfTimestepsParticles);
-		para->getParH(lev)->plp.memSizeBool          = sizeof(bool)*(para->getParH(lev)->plp.numberOfParticles);
-		para->getParH(lev)->plp.memSizeBoolBC        = sizeof(bool)*(para->getParH(lev)->geometryBC.numberOfBCnodes);//depends on Geometry!!!
-		para->getParD(lev)->plp.memSizeTimestep      = para->getParH(lev)->plp.memSizeTimestep;
-		para->getParD(lev)->plp.memSizeID            = para->getParH(lev)->plp.memSizeID;        
-		para->getParD(lev)->plp.memSizereal       = para->getParH(lev)->plp.memSizereal;
-		para->getParD(lev)->plp.memSizerealAll	 = para->getParH(lev)->plp.memSizerealAll;
-		para->getParD(lev)->plp.memSizeBool          = para->getParH(lev)->plp.memSizeBool;
-		para->getParD(lev)->plp.memSizeBoolBC        = para->getParH(lev)->plp.memSizeBoolBC;
-		//////////////////////////////////////////////////////////////////////////
-		//alloc particles
-		cudaMemoryManager->cudaAllocParticles(lev);
-		//////////////////////////////////////////////////////////////////////////
-	}
+    for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //all level store the same number of time steps
+        para->getParH(lev)->plp.numberOfTimestepsParticles = para->getTimestepOut() * (unsigned int)pow(2,para->getParticleBasicLevel());
+        para->getParD(lev)->plp.numberOfTimestepsParticles = para->getTimestepOut() * (unsigned int)pow(2,para->getParticleBasicLevel());
+        //////////////////////////////////////////////////////////////////////////
+        //all level store the same number of Particles
+        para->getParH(lev)->plp.numberOfParticles = para->getNumberOfParticles();
+        para->getParD(lev)->plp.numberOfParticles = para->getParH(lev)->plp.numberOfParticles;
+        //////////////////////////////////////////////////////////////////////////
+        //set memory size
+        para->getParH(lev)->plp.memSizeTimestep      = sizeof(unsigned int)*(para->getParH(lev)->plp.numberOfTimestepsParticles);
+        para->getParH(lev)->plp.memSizeID            = sizeof(unsigned int)*(para->getParH(lev)->plp.numberOfParticles);
+        para->getParH(lev)->plp.memSizereal       = sizeof(real)*(para->getParH(lev)->plp.numberOfParticles);
+        para->getParH(lev)->plp.memSizerealAll     = sizeof(real)*(para->getParH(lev)->plp.numberOfParticles * para->getParH(lev)->plp.numberOfTimestepsParticles);
+        para->getParH(lev)->plp.memSizeBool          = sizeof(bool)*(para->getParH(lev)->plp.numberOfParticles);
+        para->getParH(lev)->plp.memSizeBoolBC        = sizeof(bool)*(para->getParH(lev)->geometryBC.numberOfBCnodes);//depends on Geometry!!!
+        para->getParD(lev)->plp.memSizeTimestep      = para->getParH(lev)->plp.memSizeTimestep;
+        para->getParD(lev)->plp.memSizeID            = para->getParH(lev)->plp.memSizeID;        
+        para->getParD(lev)->plp.memSizereal       = para->getParH(lev)->plp.memSizereal;
+        para->getParD(lev)->plp.memSizerealAll     = para->getParH(lev)->plp.memSizerealAll;
+        para->getParD(lev)->plp.memSizeBool          = para->getParH(lev)->plp.memSizeBool;
+        para->getParD(lev)->plp.memSizeBoolBC        = para->getParH(lev)->plp.memSizeBoolBC;
+        //////////////////////////////////////////////////////////////////////////
+        //alloc particles
+        cudaMemoryManager->cudaAllocParticles(lev);
+        //////////////////////////////////////////////////////////////////////////
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -57,242 +57,242 @@ void allocParticles(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 void initParticles(Parameter* para)
 {
-	para->setOutputCount((unsigned int) 0);
-	for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//set the time steps
-		for (unsigned int t = 0; t < para->getParH(lev)->plp.numberOfTimestepsParticles; t++)
-		{
-			para->getParH(lev)->plp.timestep[t] = t;
-		}
-		//////////////////////////////////////////////////////////////////////////
-		//set bool stuck to the wall
-		for (unsigned int p = 0; p < para->getParH(lev)->plp.numberOfParticles; p++)
-		{
-			para->getParH(lev)->plp.stuck[p] = false;
-		}
-		//////////////////////////////////////////////////////////////////////////
-		//set bool "hot wall"
-		for (uint h = 0; h < para->getParH(lev)->geometryBC.numberOfBCnodes; h++)
-		{
-			if (para->getParH(lev)->coordinateX[para->getParH(lev)->geometryBC.k[h]] < para->getStartXHotWall() || 
-				para->getParH(lev)->coordinateX[para->getParH(lev)->geometryBC.k[h]] > para->getEndXHotWall())
-			{
-				para->getParH(lev)->plp.hot[h] = false;
-			}
-			else
-			{
-				para->getParH(lev)->plp.hot[h] = true;
-			}
-		}
-		//////////////////////////////////////////////////////////////////////////
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.timestep, para->getParH(lev)->plp.timestep, para->getParH(lev)->plp.memSizeTimestep, cudaMemcpyHostToDevice));
-		//////////////////////////////////////////////////////////////////////////
-		//test output
-		int maximumT = para->getParH(lev)->plp.numberOfParticles * para->getParH(lev)->plp.numberOfTimestepsParticles;
-		for (int i = 0; i < maximumT; i++)
-		{
-			para->getParH(lev)->plp.coordXlocal[i]   = (real)0.0;
-			para->getParH(lev)->plp.coordYlocal[i]   = (real)0.0; 
-			para->getParH(lev)->plp.coordZlocal[i]   = (real)0.0; 
-			para->getParH(lev)->plp.coordXabsolut[i] = (real)0.0; 
-			para->getParH(lev)->plp.coordYabsolut[i] = (real)0.0; 
-			para->getParH(lev)->plp.coordZabsolut[i] = (real)0.0; 
-			para->getParH(lev)->plp.veloX[i]         = (real)0.0; 
-			para->getParH(lev)->plp.veloY[i]         = (real)0.0; 
-			para->getParH(lev)->plp.veloZ[i]         = (real)0.0; 
-		}
-		//////////////////////////////////////////////////////////////////////////
-		// real centerX  =  1.0f;					//uebergabeparameter
-		real centerY  = 10.5f;					//uebergabeparameter
-		real centerZ  = 10.5f;					//uebergabeparameter
-		real diameter = 15.0f;//21.0f;					//uebergabeparameter
-		unsigned int numberOfParticleSizes = 41;	//uebergabeparameter
-		//////////////////////////////////////////////////////////////////////////
-		//random
-		std::random_device rd; // obtain a random number from hardware
-		std::mt19937 eng(rd()); // seed the generator
-		std::uniform_int_distribution<> distr(1, numberOfParticleSizes); // define the range
-		std::uniform_real_distribution<> distr1(centerY-(diameter/2.), centerY+(diameter/2.));
-		std::uniform_real_distribution<> distr2(centerZ-(diameter/2.), centerZ+(diameter/2.));
-		std::vector< int > radius;
-		std::vector< double > yCoordVec;
-		std::vector< double > zCoordVec;
-		double dist;
-		//////////////////////////////////////////////////////////////////////////
-		real dx = (real)(1.0/pow(2,lev));
-		std::vector< int > tempID;
-		//////////////////////////////////////////////////////////////////////////
-
-		for (unsigned int i = 0; i < para->getParH(lev)->plp.numberOfParticles; i++)
-		{
-			radius.push_back(distr(eng));
-			yCoordVec.push_back(distr1(eng));
-			zCoordVec.push_back(distr2(eng));
-
-			dist = pow((zCoordVec[i]-centerZ),2) + pow((yCoordVec[i]-centerY),2);
-			if(dist > pow((diameter/2),2))
-			{
-				zCoordVec[i] = sqrt(pow((diameter/2),2) - pow((yCoordVec[i]-centerY),2)) + centerZ;
-			}
-			para->getParH(lev)->plp.coordXabsolut[i] = (real)2.0; 
-			para->getParH(lev)->plp.coordYabsolut[i] = (real)yCoordVec[i]; 
-			para->getParH(lev)->plp.coordZabsolut[i] = (real)zCoordVec[i]; 
-
-			// find IDs
-			for (size_t index = 0; index < para->getParH(lev)->numberOfNodes; index++)
-			{
-				if ((para->getParH(lev)->coordinateX[index] <= para->getParH(lev)->plp.coordXabsolut[i]) &&
-					((para->getParH(lev)->plp.coordXabsolut[i] - para->getParH(lev)->coordinateX[index]) <= dx))
-				{
-					tempID.push_back((int)index);
-				}
-			}
-
-			//std::cout << "tempID[i]: " << tempID[i] << endl;
-			// local paricle IDs
-			para->getParH(lev)->plp.ID[i] = i;
-		}
-		//std::cout << "size tempID: " << tempID.size() << endl;
-		//////////////////////////////////////////////////////////////////////////
-		for (unsigned int i = 0; i < para->getParH(lev)->plp.numberOfParticles; i++)
-		{
-			for (std::size_t ii = 0; ii < tempID.size(); ii++)
-			{
-				if ((para->getParH(lev)->coordinateY[tempID[ii]] <= para->getParH(lev)->plp.coordYabsolut[i]) &&
-					((para->getParH(lev)->plp.coordYabsolut[i] - para->getParH(lev)->coordinateY[tempID[ii]]) <= dx) &&
-					(para->getParH(lev)->coordinateZ[tempID[ii]] <= para->getParH(lev)->plp.coordZabsolut[i]) &&
-					((para->getParH(lev)->plp.coordZabsolut[i] - para->getParH(lev)->coordinateZ[tempID[ii]]) <= dx))
-				{
-					para->getParH(lev)->plp.cellBaseID[i] = tempID[ii];
-					para->getParH(lev)->plp.coordXlocal[i] = (para->getParH(lev)->plp.coordXabsolut[i] - para->getParH(lev)->coordinateX[tempID[ii]]);
-					para->getParH(lev)->plp.coordYlocal[i] = (para->getParH(lev)->plp.coordYabsolut[i] - para->getParH(lev)->coordinateY[tempID[ii]]);
-					para->getParH(lev)->plp.coordZlocal[i] = (para->getParH(lev)->plp.coordZabsolut[i] - para->getParH(lev)->coordinateZ[tempID[ii]]);
-				}
-			}
-			//std::cout << "ID: " << i << ", CellBaseID: " << para->getParH(lev)->plp.cellBaseID[i] 
-			//<< ", localX: " << para->getParH(lev)->plp.coordXlocal[i] 
-			//<< ", localY: " << para->getParH(lev)->plp.coordYlocal[i] 
-			//<< ", localZ: " << para->getParH(lev)->plp.coordZlocal[i] << endl;
-		}
-		//////////////////////////////////////////////////////////////////////////
-
-		//////////////////////////////////////////////////////////////////////////
-		//calc 1
-		size_t in_var_max = 50;			//declearation of max size of input data values
-		std::vector<double>sum(in_var_max);	//std::vector sum is used for calculation
-		std::vector<int>c(in_var_max);		//This vector c stores the no.of counts that each particle size classes has occurred
-		std::vector <int> c_temp1(in_var_max);
-		static int c_temp2[50];
-
-		//This loop is used to assign the no.of counts of the various particle size classes which are randomly generated
-		for(unsigned int i = 0; i < para->getParH(lev)->plp.numberOfParticles; i++)
-		{
-			c_temp1[radius[i]-1]+=1;
-		}//end of for loop
-
-		int numberOfValues;				//variable to store the number of actual values given in a file
-		std::vector<double>d_a(in_var_max);	//vector to store the diameter of the actual data given
-		std::vector<double>q_a(in_var_max);	//vector q_a to store vol % of the actual data given
-		std::vector<double>q(in_var_max);	//vector q to store vol % of the calculated data
-		//////////////////////////////////////////////////////////////////////////
-
-		//////////////////////////////////////////////////////////////////////////
-		//read file
-		std::ifstream fin;					//object fin to read the file data
-		fin.open("Actual_data.dat");	//opens the desired file name
-
-		fin>>numberOfValues;
-
-		//The following loop reads the data from the file as long as the file reaches the END OF LINE
-		int j=0;
-		while(!fin.eof() && j < numberOfValues)
-		{
-			fin>>(d_a[j]);
-			fin>>(q_a[j]);
-			j++;
-		}
-		//////////////////////////////////////////////////////////////////////////
-
-		//////////////////////////////////////////////////////////////////////////
-		//calc 2
-		//this loop calculates the desired (q%) for each particle size classes from the following counts of respective classes
-		for(int i = 0; i < numberOfValues; i++)
-		{
-			c_temp2[i]+=c_temp1[i];
-			c[i] = c_temp2[i];
-			sum[i] = (q_a[i]/numberOfValues) * para->getParH(lev)->plp.numberOfParticles;//calculates the total q% for each particle size classes
-			q[i] = sum[i]/c[i];//desired (q%) value,obtained by dividing with the no.of counts for each particle size classes
-		}
-		//////////////////////////////////////////////////////////////////////////
-
-		//////////////////////////////////////////////////////////////////////////
-		//post processing
-		//For loop;loops over every element of q
-		for(int k=0; k < numberOfValues; k++)
-		{
-			int count=0;				//to count the no.of occurance for reach the acceptable values
-			while(q[k]>q_a[k])			//checks whether the obtained results are greater than actual results - if greater 					performs the following operations
-			{
-				q[k] = sum[k]/c[k];
-				if(q[k]<q_a[k]) break;
-				c[k]+=1;				//Here I added the no.of count of the particular particle size class by 1
-				q[k] = sum[k]/c[k];		//calc the (q%) again
-				count++;				//increase the count variable by 1
-			}
-
-			while(count>0)				//This loops runs only when count becomes greater than 0
-			{
-				if(k!=numberOfValues && c[k+1]!=0)	//if condition checks for the non zero term and also not the end of vector
-					c[k+1]-=1;			//this reduce the no.of count of neighbouring particle size class by 1 to counteract 					the increase in before while loop
-				count--;				//decreasing count variable by 1
-			}
-		}//end of for loop
-		//////////////////////////////////////////////////////////////////////////
-
-		//////////////////////////////////////////////////////////////////////////
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.hot,           para->getParH(lev)->plp.hot,           para->getParH(lev)->plp.memSizeBoolBC,     cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.stuck,         para->getParH(lev)->plp.stuck,         para->getParH(lev)->plp.memSizeBool,       cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.ID,            para->getParH(lev)->plp.ID,            para->getParH(lev)->plp.memSizeID,         cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.cellBaseID,    para->getParH(lev)->plp.cellBaseID,    para->getParH(lev)->plp.memSizeID,         cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordXlocal,   para->getParH(lev)->plp.coordXlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordYlocal,   para->getParH(lev)->plp.coordYlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordZlocal,   para->getParH(lev)->plp.coordZlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordXabsolut, para->getParH(lev)->plp.coordXabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordYabsolut, para->getParH(lev)->plp.coordYabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordZabsolut, para->getParH(lev)->plp.coordZabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloX,         para->getParH(lev)->plp.veloX,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloY,         para->getParH(lev)->plp.veloY,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-		checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloZ,         para->getParH(lev)->plp.veloZ,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-		////////////////////////////////////////////////////////////////////////////
-		////put some particles in the flow domain
-		//InitParticlesDevice(para->getParD(lev)->coordX_SP,
-		//					para->getParD(lev)->coordY_SP,
-		//					para->getParD(lev)->coordZ_SP,
-		//					para->getParD(lev)->plp.coordXlocal,
-		//					para->getParD(lev)->plp.coordYlocal,
-		//					para->getParD(lev)->plp.coordZlocal,
-		//					para->getParD(lev)->plp.coordXabsolut,
-		//					para->getParD(lev)->plp.coordYabsolut,
-		//					para->getParD(lev)->plp.coordZabsolut,
-		//					para->getParD(lev)->plp.veloX,
-		//					para->getParD(lev)->plp.veloY,
-		//					para->getParD(lev)->plp.veloZ,
-		//					para->getParD(lev)->plp.randomLocationInit,
-		//					para->getParD(lev)->plp.ID,
-		//					para->getParD(lev)->plp.cellBaseID,
-		//					para->getParD(lev)->geoSP,
-		//					para->getParD(lev)->neighborX_SP,
-		//					para->getParD(lev)->neighborY_SP,
-		//					para->getParD(lev)->neighborZ_SP,
-		//					para->getParD(lev)->neighborWSB_SP,
-		//					lev,
-		//					para->getParD(lev)->plp.numberOfParticles,
-		//					para->getParD(lev)->size_Mat_SP,
-		//					para->getParD(lev)->numberofthreads);
-		////////////////////////////////////////////////////////////////////////////
-	}
+    para->setOutputCount((unsigned int) 0);
+    for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //set the time steps
+        for (unsigned int t = 0; t < para->getParH(lev)->plp.numberOfTimestepsParticles; t++)
+        {
+            para->getParH(lev)->plp.timestep[t] = t;
+        }
+        //////////////////////////////////////////////////////////////////////////
+        //set bool stuck to the wall
+        for (unsigned int p = 0; p < para->getParH(lev)->plp.numberOfParticles; p++)
+        {
+            para->getParH(lev)->plp.stuck[p] = false;
+        }
+        //////////////////////////////////////////////////////////////////////////
+        //set bool "hot wall"
+        for (uint h = 0; h < para->getParH(lev)->geometryBC.numberOfBCnodes; h++)
+        {
+            if (para->getParH(lev)->coordinateX[para->getParH(lev)->geometryBC.k[h]] < para->getStartXHotWall() || 
+                para->getParH(lev)->coordinateX[para->getParH(lev)->geometryBC.k[h]] > para->getEndXHotWall())
+            {
+                para->getParH(lev)->plp.hot[h] = false;
+            }
+            else
+            {
+                para->getParH(lev)->plp.hot[h] = true;
+            }
+        }
+        //////////////////////////////////////////////////////////////////////////
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.timestep, para->getParH(lev)->plp.timestep, para->getParH(lev)->plp.memSizeTimestep, cudaMemcpyHostToDevice));
+        //////////////////////////////////////////////////////////////////////////
+        //test output
+        int maximumT = para->getParH(lev)->plp.numberOfParticles * para->getParH(lev)->plp.numberOfTimestepsParticles;
+        for (int i = 0; i < maximumT; i++)
+        {
+            para->getParH(lev)->plp.coordXlocal[i]   = (real)0.0;
+            para->getParH(lev)->plp.coordYlocal[i]   = (real)0.0; 
+            para->getParH(lev)->plp.coordZlocal[i]   = (real)0.0; 
+            para->getParH(lev)->plp.coordXabsolut[i] = (real)0.0; 
+            para->getParH(lev)->plp.coordYabsolut[i] = (real)0.0; 
+            para->getParH(lev)->plp.coordZabsolut[i] = (real)0.0; 
+            para->getParH(lev)->plp.veloX[i]         = (real)0.0; 
+            para->getParH(lev)->plp.veloY[i]         = (real)0.0; 
+            para->getParH(lev)->plp.veloZ[i]         = (real)0.0; 
+        }
+        //////////////////////////////////////////////////////////////////////////
+        // real centerX  =  1.0f;                    //uebergabeparameter
+        real centerY  = 10.5f;                    //uebergabeparameter
+        real centerZ  = 10.5f;                    //uebergabeparameter
+        real diameter = 15.0f;//21.0f;                    //uebergabeparameter
+        unsigned int numberOfParticleSizes = 41;    //uebergabeparameter
+        //////////////////////////////////////////////////////////////////////////
+        //random
+        std::random_device rd; // obtain a random number from hardware
+        std::mt19937 eng(rd()); // seed the generator
+        std::uniform_int_distribution<> distr(1, numberOfParticleSizes); // define the range
+        std::uniform_real_distribution<> distr1(centerY-(diameter/2.), centerY+(diameter/2.));
+        std::uniform_real_distribution<> distr2(centerZ-(diameter/2.), centerZ+(diameter/2.));
+        std::vector< int > radius;
+        std::vector< double > yCoordVec;
+        std::vector< double > zCoordVec;
+        double dist;
+        //////////////////////////////////////////////////////////////////////////
+        real dx = (real)(1.0/pow(2,lev));
+        std::vector< int > tempID;
+        //////////////////////////////////////////////////////////////////////////
+
+        for (unsigned int i = 0; i < para->getParH(lev)->plp.numberOfParticles; i++)
+        {
+            radius.push_back(distr(eng));
+            yCoordVec.push_back(distr1(eng));
+            zCoordVec.push_back(distr2(eng));
+
+            dist = pow((zCoordVec[i]-centerZ),2) + pow((yCoordVec[i]-centerY),2);
+            if(dist > pow((diameter/2),2))
+            {
+                zCoordVec[i] = sqrt(pow((diameter/2),2) - pow((yCoordVec[i]-centerY),2)) + centerZ;
+            }
+            para->getParH(lev)->plp.coordXabsolut[i] = (real)2.0; 
+            para->getParH(lev)->plp.coordYabsolut[i] = (real)yCoordVec[i]; 
+            para->getParH(lev)->plp.coordZabsolut[i] = (real)zCoordVec[i]; 
+
+            // find IDs
+            for (size_t index = 0; index < para->getParH(lev)->numberOfNodes; index++)
+            {
+                if ((para->getParH(lev)->coordinateX[index] <= para->getParH(lev)->plp.coordXabsolut[i]) &&
+                    ((para->getParH(lev)->plp.coordXabsolut[i] - para->getParH(lev)->coordinateX[index]) <= dx))
+                {
+                    tempID.push_back((int)index);
+                }
+            }
+
+            //std::cout << "tempID[i]: " << tempID[i] << endl;
+            // local paricle IDs
+            para->getParH(lev)->plp.ID[i] = i;
+        }
+        //std::cout << "size tempID: " << tempID.size() << endl;
+        //////////////////////////////////////////////////////////////////////////
+        for (unsigned int i = 0; i < para->getParH(lev)->plp.numberOfParticles; i++)
+        {
+            for (std::size_t ii = 0; ii < tempID.size(); ii++)
+            {
+                if ((para->getParH(lev)->coordinateY[tempID[ii]] <= para->getParH(lev)->plp.coordYabsolut[i]) &&
+                    ((para->getParH(lev)->plp.coordYabsolut[i] - para->getParH(lev)->coordinateY[tempID[ii]]) <= dx) &&
+                    (para->getParH(lev)->coordinateZ[tempID[ii]] <= para->getParH(lev)->plp.coordZabsolut[i]) &&
+                    ((para->getParH(lev)->plp.coordZabsolut[i] - para->getParH(lev)->coordinateZ[tempID[ii]]) <= dx))
+                {
+                    para->getParH(lev)->plp.cellBaseID[i] = tempID[ii];
+                    para->getParH(lev)->plp.coordXlocal[i] = (para->getParH(lev)->plp.coordXabsolut[i] - para->getParH(lev)->coordinateX[tempID[ii]]);
+                    para->getParH(lev)->plp.coordYlocal[i] = (para->getParH(lev)->plp.coordYabsolut[i] - para->getParH(lev)->coordinateY[tempID[ii]]);
+                    para->getParH(lev)->plp.coordZlocal[i] = (para->getParH(lev)->plp.coordZabsolut[i] - para->getParH(lev)->coordinateZ[tempID[ii]]);
+                }
+            }
+            //std::cout << "ID: " << i << ", CellBaseID: " << para->getParH(lev)->plp.cellBaseID[i] 
+            //<< ", localX: " << para->getParH(lev)->plp.coordXlocal[i] 
+            //<< ", localY: " << para->getParH(lev)->plp.coordYlocal[i] 
+            //<< ", localZ: " << para->getParH(lev)->plp.coordZlocal[i] << endl;
+        }
+        //////////////////////////////////////////////////////////////////////////
+
+        //////////////////////////////////////////////////////////////////////////
+        //calc 1
+        size_t in_var_max = 50;            //declearation of max size of input data values
+        std::vector<double>sum(in_var_max);    //std::vector sum is used for calculation
+        std::vector<int>c(in_var_max);        //This vector c stores the no.of counts that each particle size classes has occurred
+        std::vector <int> c_temp1(in_var_max);
+        static int c_temp2[50];
+
+        //This loop is used to assign the no.of counts of the various particle size classes which are randomly generated
+        for(unsigned int i = 0; i < para->getParH(lev)->plp.numberOfParticles; i++)
+        {
+            c_temp1[radius[i]-1]+=1;
+        }//end of for loop
+
+        int numberOfValues;                //variable to store the number of actual values given in a file
+        std::vector<double>d_a(in_var_max);    //vector to store the diameter of the actual data given
+        std::vector<double>q_a(in_var_max);    //vector q_a to store vol % of the actual data given
+        std::vector<double>q(in_var_max);    //vector q to store vol % of the calculated data
+        //////////////////////////////////////////////////////////////////////////
+
+        //////////////////////////////////////////////////////////////////////////
+        //read file
+        std::ifstream fin;                    //object fin to read the file data
+        fin.open("Actual_data.dat");    //opens the desired file name
+
+        fin>>numberOfValues;
+
+        //The following loop reads the data from the file as long as the file reaches the END OF LINE
+        int j=0;
+        while(!fin.eof() && j < numberOfValues)
+        {
+            fin>>(d_a[j]);
+            fin>>(q_a[j]);
+            j++;
+        }
+        //////////////////////////////////////////////////////////////////////////
+
+        //////////////////////////////////////////////////////////////////////////
+        //calc 2
+        //this loop calculates the desired (q%) for each particle size classes from the following counts of respective classes
+        for(int i = 0; i < numberOfValues; i++)
+        {
+            c_temp2[i]+=c_temp1[i];
+            c[i] = c_temp2[i];
+            sum[i] = (q_a[i]/numberOfValues) * para->getParH(lev)->plp.numberOfParticles;//calculates the total q% for each particle size classes
+            q[i] = sum[i]/c[i];//desired (q%) value,obtained by dividing with the no.of counts for each particle size classes
+        }
+        //////////////////////////////////////////////////////////////////////////
+
+        //////////////////////////////////////////////////////////////////////////
+        //post processing
+        //For loop;loops over every element of q
+        for(int k=0; k < numberOfValues; k++)
+        {
+            int count=0;                //to count the no.of occurance for reach the acceptable values
+            while(q[k]>q_a[k])            //checks whether the obtained results are greater than actual results - if greater                     performs the following operations
+            {
+                q[k] = sum[k]/c[k];
+                if(q[k]<q_a[k]) break;
+                c[k]+=1;                //Here I added the no.of count of the particular particle size class by 1
+                q[k] = sum[k]/c[k];        //calc the (q%) again
+                count++;                //increase the count variable by 1
+            }
+
+            while(count>0)                //This loops runs only when count becomes greater than 0
+            {
+                if(k!=numberOfValues && c[k+1]!=0)    //if condition checks for the non zero term and also not the end of vector
+                    c[k+1]-=1;            //this reduce the no.of count of neighbouring particle size class by 1 to counteract                     the increase in before while loop
+                count--;                //decreasing count variable by 1
+            }
+        }//end of for loop
+        //////////////////////////////////////////////////////////////////////////
+
+        //////////////////////////////////////////////////////////////////////////
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.hot,           para->getParH(lev)->plp.hot,           para->getParH(lev)->plp.memSizeBoolBC,     cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.stuck,         para->getParH(lev)->plp.stuck,         para->getParH(lev)->plp.memSizeBool,       cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.ID,            para->getParH(lev)->plp.ID,            para->getParH(lev)->plp.memSizeID,         cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.cellBaseID,    para->getParH(lev)->plp.cellBaseID,    para->getParH(lev)->plp.memSizeID,         cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordXlocal,   para->getParH(lev)->plp.coordXlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordYlocal,   para->getParH(lev)->plp.coordYlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordZlocal,   para->getParH(lev)->plp.coordZlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordXabsolut, para->getParH(lev)->plp.coordXabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordYabsolut, para->getParH(lev)->plp.coordYabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordZabsolut, para->getParH(lev)->plp.coordZabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloX,         para->getParH(lev)->plp.veloX,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloY,         para->getParH(lev)->plp.veloY,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+        checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloZ,         para->getParH(lev)->plp.veloZ,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+        ////////////////////////////////////////////////////////////////////////////
+        ////put some particles in the flow domain
+        //InitParticlesDevice(para->getParD(lev)->coordX_SP,
+        //                    para->getParD(lev)->coordY_SP,
+        //                    para->getParD(lev)->coordZ_SP,
+        //                    para->getParD(lev)->plp.coordXlocal,
+        //                    para->getParD(lev)->plp.coordYlocal,
+        //                    para->getParD(lev)->plp.coordZlocal,
+        //                    para->getParD(lev)->plp.coordXabsolut,
+        //                    para->getParD(lev)->plp.coordYabsolut,
+        //                    para->getParD(lev)->plp.coordZabsolut,
+        //                    para->getParD(lev)->plp.veloX,
+        //                    para->getParD(lev)->plp.veloY,
+        //                    para->getParD(lev)->plp.veloZ,
+        //                    para->getParD(lev)->plp.randomLocationInit,
+        //                    para->getParD(lev)->plp.ID,
+        //                    para->getParD(lev)->plp.cellBaseID,
+        //                    para->getParD(lev)->geoSP,
+        //                    para->getParD(lev)->neighborX_SP,
+        //                    para->getParD(lev)->neighborY_SP,
+        //                    para->getParD(lev)->neighborZ_SP,
+        //                    para->getParD(lev)->neighborWSB_SP,
+        //                    lev,
+        //                    para->getParD(lev)->plp.numberOfParticles,
+        //                    para->getParD(lev)->size_Mat_SP,
+        //                    para->getParD(lev)->numberofthreads);
+        ////////////////////////////////////////////////////////////////////////////
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -303,41 +303,41 @@ void initParticles(Parameter* para)
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 void propagateParticles(Parameter* para, unsigned int t)
 {
-	for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
-	{
-		unsigned int tPLP = t - (para->getOutputCount() * para->getParH(lev)->plp.numberOfTimestepsParticles);
-		//////////////////////////////////////////////////////////////////////////
-		//put some particles in the flow domain
-		MoveParticlesDevice(para->getParD(lev)->coordinateX,
-							para->getParD(lev)->coordinateY,
-							para->getParD(lev)->coordinateZ,
-							para->getParD(lev)->plp.coordXlocal,
-							para->getParD(lev)->plp.coordYlocal,
-							para->getParD(lev)->plp.coordZlocal,
-							para->getParD(lev)->plp.coordXabsolut,
-							para->getParD(lev)->plp.coordYabsolut,
-							para->getParD(lev)->plp.coordZabsolut,
-							para->getParD(lev)->plp.veloX,
-							para->getParD(lev)->plp.veloY,
-							para->getParD(lev)->plp.veloZ,
-							para->getParD(lev)->distributions.f[0],    
-							para->getParD(lev)->omega, 
-							para->getParD(lev)->plp.ID,
-							para->getParD(lev)->plp.cellBaseID,
-							para->getParD(lev)->typeOfGridNode,
-							para->getParD(lev)->neighborX,
-							para->getParD(lev)->neighborY,
-							para->getParD(lev)->neighborZ,
-							para->getParD(lev)->neighborInverse,
-							lev,
-							tPLP,
-							para->getParD(lev)->plp.numberOfTimestepsParticles,
-							para->getParD(lev)->plp.numberOfParticles,
-							para->getParD(lev)->numberOfNodes,
-							para->getParD(lev)->numberofthreads,
-							para->getParD(lev)->isEvenTimestep);
-
-	}
+    for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
+    {
+        unsigned int tPLP = t - (para->getOutputCount() * para->getParH(lev)->plp.numberOfTimestepsParticles);
+        //////////////////////////////////////////////////////////////////////////
+        //put some particles in the flow domain
+        MoveParticlesDevice(para->getParD(lev)->coordinateX,
+                            para->getParD(lev)->coordinateY,
+                            para->getParD(lev)->coordinateZ,
+                            para->getParD(lev)->plp.coordXlocal,
+                            para->getParD(lev)->plp.coordYlocal,
+                            para->getParD(lev)->plp.coordZlocal,
+                            para->getParD(lev)->plp.coordXabsolut,
+                            para->getParD(lev)->plp.coordYabsolut,
+                            para->getParD(lev)->plp.coordZabsolut,
+                            para->getParD(lev)->plp.veloX,
+                            para->getParD(lev)->plp.veloY,
+                            para->getParD(lev)->plp.veloZ,
+                            para->getParD(lev)->distributions.f[0],    
+                            para->getParD(lev)->omega, 
+                            para->getParD(lev)->plp.ID,
+                            para->getParD(lev)->plp.cellBaseID,
+                            para->getParD(lev)->typeOfGridNode,
+                            para->getParD(lev)->neighborX,
+                            para->getParD(lev)->neighborY,
+                            para->getParD(lev)->neighborZ,
+                            para->getParD(lev)->neighborInverse,
+                            lev,
+                            tPLP,
+                            para->getParD(lev)->plp.numberOfTimestepsParticles,
+                            para->getParD(lev)->plp.numberOfParticles,
+                            para->getParD(lev)->numberOfNodes,
+                            para->getParD(lev)->numberofthreads,
+                            para->getParD(lev)->isEvenTimestep);
+
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -348,89 +348,89 @@ void propagateParticles(Parameter* para, unsigned int t)
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 void copyAndPrintParticles(Parameter* para, CudaMemoryManager* cudaMemoryManager, unsigned int t, bool isInit)
 {
-	//cout << endl << " t " << t << endl;
-
-	//////////////////////////////////////////////////////////////////////////
-	//count the number of outputs
-	if (!isInit)
-	{
-		para->setOutputCount(para->getOutputCount() + (unsigned int)1);
-	}
-	//////////////////////////////////////////////////////////////////////////
-
-	for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
-	{
-		//////////////////////////////////////////////////////////////////////////
-		//copy particles from device to host
-		cudaMemoryManager->cudaCopyParticles(lev);
-		//////////////////////////////////////////////////////////////////////////
-		////test output
-		//int maximumT = para->getParH(lev)->plp.numberOfParticles * para->getParH(lev)->plp.numberOfTimestepsParticles;
-		//cout << " maximumT : " << maximumT << endl; 
-		//for (int i = 0; i < maximumT; i++)
-		//{
-		//	cout << " i      : " << i << endl; 
-		//	cout << " Xlocal : " << para->getParH(lev)->plp.coordXlocal[i] << endl; 
-		//	cout << " Ylocal : " << para->getParH(lev)->plp.coordYlocal[i] << endl; 
-		//	cout << " Zlocal : " << para->getParH(lev)->plp.coordZlocal[i] << endl; 
-		//	cout << " Xglobal: " << para->getParH(lev)->plp.coordXabsolut[i] << endl; 
-		//	cout << " Yglobal: " << para->getParH(lev)->plp.coordYabsolut[i] << endl; 
-		//	cout << " Zglobal: " << para->getParH(lev)->plp.coordZabsolut[i] << endl; 
-		//	cout << " vX     : " << para->getParH(lev)->plp.veloX[i] << endl; 
-		//	cout << " vY     : " << para->getParH(lev)->plp.veloY[i] << endl; 
-		//	cout << " vZ     : " << para->getParH(lev)->plp.veloZ[i] << endl; 
-		//}
-	}
-
-	//////////////////////////////////////////////////////////////////////////
-	//write particles
+    //cout << endl << " t " << t << endl;
+
+    //////////////////////////////////////////////////////////////////////////
+    //count the number of outputs
+    if (!isInit)
+    {
+        para->setOutputCount(para->getOutputCount() + (unsigned int)1);
+    }
+    //////////////////////////////////////////////////////////////////////////
+
+    for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
+    {
+        //////////////////////////////////////////////////////////////////////////
+        //copy particles from device to host
+        cudaMemoryManager->cudaCopyParticles(lev);
+        //////////////////////////////////////////////////////////////////////////
+        ////test output
+        //int maximumT = para->getParH(lev)->plp.numberOfParticles * para->getParH(lev)->plp.numberOfTimestepsParticles;
+        //cout << " maximumT : " << maximumT << endl; 
+        //for (int i = 0; i < maximumT; i++)
+        //{
+        //    cout << " i      : " << i << endl; 
+        //    cout << " Xlocal : " << para->getParH(lev)->plp.coordXlocal[i] << endl; 
+        //    cout << " Ylocal : " << para->getParH(lev)->plp.coordYlocal[i] << endl; 
+        //    cout << " Zlocal : " << para->getParH(lev)->plp.coordZlocal[i] << endl; 
+        //    cout << " Xglobal: " << para->getParH(lev)->plp.coordXabsolut[i] << endl; 
+        //    cout << " Yglobal: " << para->getParH(lev)->plp.coordYabsolut[i] << endl; 
+        //    cout << " Zglobal: " << para->getParH(lev)->plp.coordZabsolut[i] << endl; 
+        //    cout << " vX     : " << para->getParH(lev)->plp.veloX[i] << endl; 
+        //    cout << " vY     : " << para->getParH(lev)->plp.veloY[i] << endl; 
+        //    cout << " vZ     : " << para->getParH(lev)->plp.veloZ[i] << endl; 
+        //}
+    }
+
+    //////////////////////////////////////////////////////////////////////////
+    //write particles
     //FileWriter().writeParticle(para, t);
-	//////////////////////////////////////////////////////////////////////////
-
-	//////////////////////////////////////////////////////////////////////////
-	if (!isInit)
-	{
-		for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
-		{
-			//////////////////////////////////////////////////////////////////////////
-			int maximumT = (para->getParH(lev)->plp.numberOfParticles * para->getParH(lev)->plp.numberOfTimestepsParticles);
-			int maximumP = para->getParH(lev)->plp.numberOfParticles;
-			int j = (maximumT-maximumP);
-			for (int i = 0; i < maximumP; i++, j++)
-			{
-				para->getParH(lev)->plp.coordXlocal[i]   = para->getParH(lev)->plp.coordXlocal[j]  ;
-				para->getParH(lev)->plp.coordYlocal[i]   = para->getParH(lev)->plp.coordYlocal[j]  ; 
-				para->getParH(lev)->plp.coordZlocal[i]   = para->getParH(lev)->plp.coordZlocal[j]  ; 
-				para->getParH(lev)->plp.coordXabsolut[i] = para->getParH(lev)->plp.coordXabsolut[j]; 
-				para->getParH(lev)->plp.coordYabsolut[i] = para->getParH(lev)->plp.coordYabsolut[j]; 
-				para->getParH(lev)->plp.coordZabsolut[i] = para->getParH(lev)->plp.coordZabsolut[j]; 
-				para->getParH(lev)->plp.veloX[i]         = para->getParH(lev)->plp.veloX[j]        ; 
-				para->getParH(lev)->plp.veloY[i]         = para->getParH(lev)->plp.veloY[j]        ; 
-				para->getParH(lev)->plp.veloZ[i]         = para->getParH(lev)->plp.veloZ[j]        ; 
-			}
-			//para->getParH(lev)->plp.coordXlocal[0]   = para->getParH(lev)->plp.coordXlocal[maximumT]  ;
-			//para->getParH(lev)->plp.coordYlocal[0]   = para->getParH(lev)->plp.coordYlocal[maximumT]  ; 
-			//para->getParH(lev)->plp.coordZlocal[0]   = para->getParH(lev)->plp.coordZlocal[maximumT]  ; 
-			//para->getParH(lev)->plp.coordXabsolut[0] = para->getParH(lev)->plp.coordXabsolut[maximumT]; 
-			//para->getParH(lev)->plp.coordYabsolut[0] = para->getParH(lev)->plp.coordYabsolut[maximumT]; 
-			//para->getParH(lev)->plp.coordZabsolut[0] = para->getParH(lev)->plp.coordZabsolut[maximumT]; 
-			//para->getParH(lev)->plp.veloX[0]         = para->getParH(lev)->plp.veloX[maximumT]        ; 
-			//para->getParH(lev)->plp.veloY[0]         = para->getParH(lev)->plp.veloY[maximumT]        ; 
-			//para->getParH(lev)->plp.veloZ[0]         = para->getParH(lev)->plp.veloZ[maximumT]        ; 
-			//////////////////////////////////////////////////////////////////////////
-			checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordXlocal,   para->getParH(lev)->plp.coordXlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-			checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordYlocal,   para->getParH(lev)->plp.coordYlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-			checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordZlocal,   para->getParH(lev)->plp.coordZlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-			checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordXabsolut, para->getParH(lev)->plp.coordXabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-			checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordYabsolut, para->getParH(lev)->plp.coordYabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-			checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordZabsolut, para->getParH(lev)->plp.coordZabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-			checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloX,         para->getParH(lev)->plp.veloX,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-			checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloY,         para->getParH(lev)->plp.veloY,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-			checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloZ,         para->getParH(lev)->plp.veloZ,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
-			////////////////////////////////////////////////////////////////////////////
-		}
-	}
-	//////////////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////////////
+
+    //////////////////////////////////////////////////////////////////////////
+    if (!isInit)
+    {
+        for (int lev = para->getParticleBasicLevel(); lev <= para->getFine(); lev++)
+        {
+            //////////////////////////////////////////////////////////////////////////
+            int maximumT = (para->getParH(lev)->plp.numberOfParticles * para->getParH(lev)->plp.numberOfTimestepsParticles);
+            int maximumP = para->getParH(lev)->plp.numberOfParticles;
+            int j = (maximumT-maximumP);
+            for (int i = 0; i < maximumP; i++, j++)
+            {
+                para->getParH(lev)->plp.coordXlocal[i]   = para->getParH(lev)->plp.coordXlocal[j]  ;
+                para->getParH(lev)->plp.coordYlocal[i]   = para->getParH(lev)->plp.coordYlocal[j]  ; 
+                para->getParH(lev)->plp.coordZlocal[i]   = para->getParH(lev)->plp.coordZlocal[j]  ; 
+                para->getParH(lev)->plp.coordXabsolut[i] = para->getParH(lev)->plp.coordXabsolut[j]; 
+                para->getParH(lev)->plp.coordYabsolut[i] = para->getParH(lev)->plp.coordYabsolut[j]; 
+                para->getParH(lev)->plp.coordZabsolut[i] = para->getParH(lev)->plp.coordZabsolut[j]; 
+                para->getParH(lev)->plp.veloX[i]         = para->getParH(lev)->plp.veloX[j]        ; 
+                para->getParH(lev)->plp.veloY[i]         = para->getParH(lev)->plp.veloY[j]        ; 
+                para->getParH(lev)->plp.veloZ[i]         = para->getParH(lev)->plp.veloZ[j]        ; 
+            }
+            //para->getParH(lev)->plp.coordXlocal[0]   = para->getParH(lev)->plp.coordXlocal[maximumT]  ;
+            //para->getParH(lev)->plp.coordYlocal[0]   = para->getParH(lev)->plp.coordYlocal[maximumT]  ; 
+            //para->getParH(lev)->plp.coordZlocal[0]   = para->getParH(lev)->plp.coordZlocal[maximumT]  ; 
+            //para->getParH(lev)->plp.coordXabsolut[0] = para->getParH(lev)->plp.coordXabsolut[maximumT]; 
+            //para->getParH(lev)->plp.coordYabsolut[0] = para->getParH(lev)->plp.coordYabsolut[maximumT]; 
+            //para->getParH(lev)->plp.coordZabsolut[0] = para->getParH(lev)->plp.coordZabsolut[maximumT]; 
+            //para->getParH(lev)->plp.veloX[0]         = para->getParH(lev)->plp.veloX[maximumT]        ; 
+            //para->getParH(lev)->plp.veloY[0]         = para->getParH(lev)->plp.veloY[maximumT]        ; 
+            //para->getParH(lev)->plp.veloZ[0]         = para->getParH(lev)->plp.veloZ[maximumT]        ; 
+            //////////////////////////////////////////////////////////////////////////
+            checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordXlocal,   para->getParH(lev)->plp.coordXlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+            checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordYlocal,   para->getParH(lev)->plp.coordYlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+            checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordZlocal,   para->getParH(lev)->plp.coordZlocal,   para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+            checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordXabsolut, para->getParH(lev)->plp.coordXabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+            checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordYabsolut, para->getParH(lev)->plp.coordYabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+            checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.coordZabsolut, para->getParH(lev)->plp.coordZabsolut, para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+            checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloX,         para->getParH(lev)->plp.veloX,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+            checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloY,         para->getParH(lev)->plp.veloY,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+            checkCudaErrors( cudaMemcpy(para->getParD(lev)->plp.veloZ,         para->getParH(lev)->plp.veloZ,         para->getParH(lev)->plp.memSizerealAll, cudaMemcpyHostToDevice));
+            ////////////////////////////////////////////////////////////////////////////
+        }
+    }
+    //////////////////////////////////////////////////////////////////////////
 
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -449,33 +449,33 @@ void copyAndPrintParticles(Parameter* para, CudaMemoryManager* cudaMemoryManager
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 void rearrangeGeometry(Parameter* para, CudaMemoryManager* cudaMemoryManager)
 {
-	for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
-	{
-		int counter1 = 0;
-		int counter2 = 0;
-		//////////////////////////////////////////////////////////////////////////
-		//redefine fluid nodes
-		for (size_t index = 0; index < para->getParH(lev)->numberOfNodes; index++)
-		{
-			if (para->getParH(lev)->typeOfGridNode[index] == GEO_FLUID_OLD)
-			{
-				para->getParH(lev)->typeOfGridNode[index] = GEO_FLUID;
-				counter1++;
-			}
-			counter2++;
-		}
-		printf("number of changed fluid nodes: %d \n", counter1);
-		printf("total number of nodes: %d \n", counter2);
-		//////////////////////////////////////////////////////////////////////////
-		//store the index information of the BC nodes in the geometry array 
-		for (uint index = 0; index < para->getParH(lev)->geometryBC.numberOfBCnodes; index++)
-		{
-			para->getParH(lev)->typeOfGridNode[para->getParH(lev)->geometryBC.k[index]] = index + OFFSET_BCsInGeo;
-		}
-		//////////////////////////////////////////////////////////////////////////
-		//copy geometry nodes to the device
-		cudaMemoryManager->cudaCopySP(lev);
-	}
+    for (int lev = para->getCoarse(); lev <= para->getFine(); lev++)
+    {
+        int counter1 = 0;
+        int counter2 = 0;
+        //////////////////////////////////////////////////////////////////////////
+        //redefine fluid nodes
+        for (size_t index = 0; index < para->getParH(lev)->numberOfNodes; index++)
+        {
+            if (para->getParH(lev)->typeOfGridNode[index] == GEO_FLUID_OLD)
+            {
+                para->getParH(lev)->typeOfGridNode[index] = GEO_FLUID;
+                counter1++;
+            }
+            counter2++;
+        }
+        printf("number of changed fluid nodes: %d \n", counter1);
+        printf("total number of nodes: %d \n", counter2);
+        //////////////////////////////////////////////////////////////////////////
+        //store the index information of the BC nodes in the geometry array 
+        for (uint index = 0; index < para->getParH(lev)->geometryBC.numberOfBCnodes; index++)
+        {
+            para->getParH(lev)->typeOfGridNode[para->getParH(lev)->geometryBC.k[index]] = index + OFFSET_BCsInGeo;
+        }
+        //////////////////////////////////////////////////////////////////////////
+        //copy geometry nodes to the device
+        cudaMemoryManager->cudaCopySP(lev);
+    }
 }
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
diff --git a/src/gpu/core/PreCollisionInteractor/Probes/PointProbe.cu b/src/gpu/core/PreCollisionInteractor/Probes/PointProbe.cu
index bedcc513a1e441b8d5927f5afafa79f13af2cdbc..e37993c845efd30429bd5220a577b569b9651a30 100644
--- a/src/gpu/core/PreCollisionInteractor/Probes/PointProbe.cu
+++ b/src/gpu/core/PreCollisionInteractor/Probes/PointProbe.cu
@@ -129,28 +129,6 @@ void PointProbe::addProbePointsFromList(std::vector<real>& _pointCoordsX, std::v
     printf("Added list of %u  points \n", uint(_pointCoordsX.size()) );
 }
 
-void PointProbe::addProbePointsFromXNormalPlane(real pos_x, real pos0_y, real pos0_z, real pos1_y, real pos1_z, uint n_y, uint n_z)
-{
-    int delta_y = (pos1_y-pos0_y)/(n_y-1);
-    int delta_z = (pos1_z-pos0_z)/(n_z-1);
-
-    this->pointCoordsX.reserve(this->pointCoordsX.size()+n_y*n_z);
-    this->pointCoordsY.reserve(this->pointCoordsY.size()+n_y*n_z);
-    this->pointCoordsZ.reserve(this->pointCoordsZ.size()+n_y*n_z);
-
-    for(int n_y=0; n_y<n_y; n_y++)
-    {
-        for(int n_z=0; n_z<n_z; n_z++)
-        {
-            this->pointCoordsX.push_back(pos_x);
-            this->pointCoordsY.push_back(pos0_y+delta_y*n_y);
-            this->pointCoordsZ.push_back(pos0_z+delta_z*n_z);
-        }
-    }
-    printf("Added %u  points \n",  n_y*n_z);
-
-}
-
 void PointProbe::getTaggedFluidNodes(Parameter *para, GridProvider* gridProvider)
 {
     for(int level=0; level<=para->getMaxLevel(); level++)
@@ -159,4 +137,4 @@ void PointProbe::getTaggedFluidNodes(Parameter *para, GridProvider* gridProvider
         std::vector<uint> probeIndices( probeStruct->pointIndicesH, probeStruct->pointIndicesH+probeStruct->nIndices);
         gridProvider->tagFluidNodeIndices( probeIndices, CollisionTemplate::WriteMacroVars, level);
     }
-}
\ No newline at end of file
+}
diff --git a/src/gpu/core/PreCollisionInteractor/Probes/PointProbe.h b/src/gpu/core/PreCollisionInteractor/Probes/PointProbe.h
index b26211dc859bf4601b42a640d25e656b3552300b..cffcf1c055960e3aff4c410e55c1a8f49cbd152a 100644
--- a/src/gpu/core/PreCollisionInteractor/Probes/PointProbe.h
+++ b/src/gpu/core/PreCollisionInteractor/Probes/PointProbe.h
@@ -65,7 +65,6 @@ public:
 
     void addProbePoint(real pointCoordX, real pointCoordY, real pointCoordZ);
     void addProbePointsFromList(std::vector<real>& _pointCoordsX, std::vector<real>& _pointCoordsY, std::vector<real>& _pointCoordsZ);
-    void addProbePointsFromXNormalPlane(real pos_x, real pos0_y, real pos0_z, real pos1_y, real pos1_z, uint n_y, uint n_z);
     void getTaggedFluidNodes(Parameter *para, GridProvider* gridProvider) override;
     
 private:
diff --git a/src/gpu/core/PreProcessor/PreProcessor.h b/src/gpu/core/PreProcessor/PreProcessor.h
index 3c7fac487405ea95615d7913400992c05035ff92..36560b55f3355ccf0d9156ee9509524cf903ab23 100644
--- a/src/gpu/core/PreProcessor/PreProcessor.h
+++ b/src/gpu/core/PreProcessor/PreProcessor.h
@@ -9,8 +9,8 @@ class PreProcessor
 {
 public:
     virtual ~PreProcessor() = default;
-	virtual void init(std::shared_ptr<Parameter> para, int level) = 0;
-	virtual bool checkParameter() = 0;
-	
+    virtual void init(std::shared_ptr<Parameter> para, int level) = 0;
+    virtual bool checkParameter() = 0;
+    
 };
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactory.h b/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactory.h
index 8a7c30b62b7a2efdb27f40f86a6430ccc8c76437..1ea65788267f6a5fffe70f64fd962de013638788 100644
--- a/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactory.h
+++ b/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactory.h
@@ -15,7 +15,7 @@ class PreProcessorFactory
 {
 public:
     virtual ~PreProcessorFactory() = default;
-	virtual std::shared_ptr<PreProcessor> makePreProcessor(std::vector<PreProcessorType> preProcessorTypes, std::shared_ptr<Parameter> para) = 0;
+    virtual std::shared_ptr<PreProcessor> makePreProcessor(std::vector<PreProcessorType> preProcessorTypes, std::shared_ptr<Parameter> para) = 0;
 
 };
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactoryImp.cpp b/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactoryImp.cpp
index d587419e76229b1be0d9b75b88bd88d79b48de54..e92be775c79b19c7bf5ca0d1840622e10cccd0fd 100644
--- a/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactoryImp.cpp
+++ b/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactoryImp.cpp
@@ -13,41 +13,41 @@
 
 std::shared_ptr<PreProcessor> PreProcessorFactoryImp::makePreProcessor(std::vector<PreProcessorType> preProcessorTypes, std::shared_ptr<Parameter> para)
 {
-	std::shared_ptr<PreProcessorImp> prePro = PreProcessorImp::getNewInstance();
+    std::shared_ptr<PreProcessorImp> prePro = PreProcessorImp::getNewInstance();
 
-	for (std::size_t i = 0; i < preProcessorTypes.size(); i++)
-		prePro->addStrategy(makePreProcessorStrategy(preProcessorTypes.at(i), para));
+    for (std::size_t i = 0; i < preProcessorTypes.size(); i++)
+        prePro->addStrategy(makePreProcessorStrategy(preProcessorTypes.at(i), para));
 
-	return prePro;
+    return prePro;
 }
 
 std::shared_ptr<PreProcessorStrategy> PreProcessorFactoryImp::makePreProcessorStrategy(PreProcessorType preProcessorType, std::shared_ptr<Parameter> para)
 {
-	switch (preProcessorType)
-	{
-	case InitSP27:
-		return InitSP27::getNewInstance(para);
-		break;
-	case InitCompSP27:
-		return InitCompSP27::getNewInstance(para);
-		break;
-	case InitF3:
-		return InitF3::getNewInstance(para);
-		break;
-	case InitIncompAD7:
-		return InitIncompAD7::getNewInstance(para);
-		break;
-	case InitIncompAD27:
-		return InitIncompAD27::getNewInstance(para);
-		break;
-	case InitCompAD7:
-		return InitCompAD7::getNewInstance(para);
-		break;
-	case InitCompAD27:
-		return InitCompAD27::getNewInstance(para);
-		break;
-	default:
-		break;
-	}
-	throw  std::runtime_error("PreProcessorFactory does not know the PreProcessorType.");
+    switch (preProcessorType)
+    {
+    case InitSP27:
+        return InitSP27::getNewInstance(para);
+        break;
+    case InitCompSP27:
+        return InitCompSP27::getNewInstance(para);
+        break;
+    case InitF3:
+        return InitF3::getNewInstance(para);
+        break;
+    case InitIncompAD7:
+        return InitIncompAD7::getNewInstance(para);
+        break;
+    case InitIncompAD27:
+        return InitIncompAD27::getNewInstance(para);
+        break;
+    case InitCompAD7:
+        return InitCompAD7::getNewInstance(para);
+        break;
+    case InitCompAD27:
+        return InitCompAD27::getNewInstance(para);
+        break;
+    default:
+        break;
+    }
+    throw  std::runtime_error("PreProcessorFactory does not know the PreProcessorType.");
 }
diff --git a/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactoryImp.h b/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactoryImp.h
index 43ab0ccbf38462f260e3518112b2a8fb5e398985..8b78537746461c773f2f170ebf2f97d166e1be4d 100644
--- a/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactoryImp.h
+++ b/src/gpu/core/PreProcessor/PreProcessorFactory/PreProcessorFactoryImp.h
@@ -8,9 +8,9 @@ class PreProcessorStrategy;
 class PreProcessorFactoryImp : public PreProcessorFactory
 {
 public:
-	std::shared_ptr<PreProcessor> makePreProcessor(std::vector<PreProcessorType> preProcessorTypes, std::shared_ptr<Parameter> para);
+    std::shared_ptr<PreProcessor> makePreProcessor(std::vector<PreProcessorType> preProcessorTypes, std::shared_ptr<Parameter> para);
 
-	std::shared_ptr<PreProcessorStrategy> makePreProcessorStrategy(PreProcessorType preProcessorTyp, std::shared_ptr<Parameter> para);
+    std::shared_ptr<PreProcessorStrategy> makePreProcessorStrategy(PreProcessorType preProcessorTyp, std::shared_ptr<Parameter> para);
 
 };
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorImp.cpp b/src/gpu/core/PreProcessor/PreProcessorImp.cpp
index a303ee77b0eb90ff32014b3bd9d8b903f1250722..94f25bffc2d553375b25dc3eab80eaa00561ca40 100644
--- a/src/gpu/core/PreProcessor/PreProcessorImp.cpp
+++ b/src/gpu/core/PreProcessor/PreProcessorImp.cpp
@@ -6,35 +6,35 @@
 
 std::shared_ptr<PreProcessorImp> PreProcessorImp::getNewInstance()
 {
-	return std::shared_ptr<PreProcessorImp>(new PreProcessorImp());
+    return std::shared_ptr<PreProcessorImp>(new PreProcessorImp());
 }
 
 void PreProcessorImp::addStrategy(std::shared_ptr<PreProcessorStrategy> strategy)
 {
-	strategies.push_back(strategy);
+    strategies.push_back(strategy);
 }
 
 void PreProcessorImp::init(std::shared_ptr<Parameter> para, int level)
 {
-	para->getParD(level)->isEvenTimestep = false;
-	for (std::size_t i = 0; i < strategies.size(); i++)
-		strategies.at(i)->init(level);
+    para->getParD(level)->isEvenTimestep = false;
+    for (std::size_t i = 0; i < strategies.size(); i++)
+        strategies.at(i)->init(level);
 
-	para->getParD(level)->isEvenTimestep = true;
-	for (std::size_t i = 0; i < strategies.size(); i++)
-		strategies.at(i)->init(level);
+    para->getParD(level)->isEvenTimestep = true;
+    for (std::size_t i = 0; i < strategies.size(); i++)
+        strategies.at(i)->init(level);
 }
 
 bool PreProcessorImp::checkParameter()
 {
-	for (std::size_t i = 0; i < strategies.size(); i++) {
-		if (!strategies.at(i)->checkParameter())
-			return false;
-	}
-	return true;
+    for (std::size_t i = 0; i < strategies.size(); i++) {
+        if (!strategies.at(i)->checkParameter())
+            return false;
+    }
+    return true;
 }
 
 PreProcessorImp::PreProcessorImp()
 {
-	strategies.resize(0);
+    strategies.resize(0);
 }
diff --git a/src/gpu/core/PreProcessor/PreProcessorImp.h b/src/gpu/core/PreProcessor/PreProcessorImp.h
index ffa8c1ec9705a17f273d8cdf972a29b53a0194f7..10233d5bb694d10262e59d1496eed0665e076da7 100644
--- a/src/gpu/core/PreProcessor/PreProcessorImp.h
+++ b/src/gpu/core/PreProcessor/PreProcessorImp.h
@@ -11,16 +11,16 @@ class PreProcessorStrategy;
 class PreProcessorImp : public PreProcessor
 {
 public:
-	static std::shared_ptr<PreProcessorImp> getNewInstance();
-	void addStrategy(std::shared_ptr<PreProcessorStrategy> strategy);
+    static std::shared_ptr<PreProcessorImp> getNewInstance();
+    void addStrategy(std::shared_ptr<PreProcessorStrategy> strategy);
 
-	void init(std::shared_ptr<Parameter> para, int level);
-	bool checkParameter();
+    void init(std::shared_ptr<Parameter> para, int level);
+    bool checkParameter();
 
 private:
-	PreProcessorImp();
+    PreProcessorImp();
 
-	std::vector< std::shared_ptr<PreProcessorStrategy>> strategies;
-	
+    std::vector< std::shared_ptr<PreProcessorStrategy>> strategies;
+    
 };
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27.cu
index 32c02ce8f2ab9a67ba3cbc09ae909d27cf4c9223..d343b8bfaa443148b6a1f41a15d3acb5fbbf1586 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<PreProcessorStrategy> InitCompAD27::getNewInstance(std::shared_ptr<Parameter> para)
 {
-	return std::shared_ptr<PreProcessorStrategy>(new InitCompAD27(para));
+    return std::shared_ptr<PreProcessorStrategy>(new InitCompAD27(para));
 }
 
 void InitCompAD27::init(int level)
@@ -30,12 +30,12 @@ void InitCompAD27::init(int level)
 
 bool InitCompAD27::checkParameter()
 {
-	return false;
+    return false;
 }
 
 InitCompAD27::InitCompAD27(std::shared_ptr<Parameter> para)
 {
-	this->para = para;
+    this->para = para;
 }
 
 InitCompAD27::InitCompAD27()
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27.h b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27.h
index 913638e3b3ca335ab2a2993fe87f16146a2b0edb..9990f12270426420d4f9af2bb332d2d76d75ebdc 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27.h
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27.h
@@ -10,14 +10,14 @@ class Parameter;
 class InitCompAD27 : public PreProcessorStrategy
 {
 public:
-	static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
-	void init(int level);
-	bool checkParameter();
+    static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
+    void init(int level);
+    bool checkParameter();
 
 private:
-	InitCompAD27();
-	InitCompAD27(std::shared_ptr< Parameter> para);
-	std::shared_ptr< Parameter> para;
+    InitCompAD27();
+    InitCompAD27(std::shared_ptr< Parameter> para);
+    std::shared_ptr< Parameter> para;
 };
 
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cu
index 69576864681d00d33451c68324fe86ae299713ac..ccb72094eec63b5de539d59db924a74f7ecceb32 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cu
@@ -7,194 +7,194 @@ using namespace vf::lbm::dir;
 
 
 __global__ void LB_Init_Comp_AD_27(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* Conc,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD27,
-	bool EvenOrOdd)
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* Conc,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD27,
+    bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
 
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
 
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = geoD[k];
+    if (k<size_Mat)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = geoD[k];
 
-		if (BC != GEO_SOLID && BC != GEO_VOID)
-		{
-			Distributions27 D27;
-			if (EvenOrOdd == true)
-			{
-				D27.f[dP00] = &DD27[dP00   *size_Mat];
-				D27.f[dM00] = &DD27[dM00   *size_Mat];
-				D27.f[d0P0] = &DD27[d0P0   *size_Mat];
-				D27.f[d0M0] = &DD27[d0M0   *size_Mat];
-				D27.f[d00P] = &DD27[d00P   *size_Mat];
-				D27.f[d00M] = &DD27[d00M   *size_Mat];
-				D27.f[dPP0] = &DD27[dPP0  *size_Mat];
-				D27.f[dMM0] = &DD27[dMM0  *size_Mat];
-				D27.f[dPM0] = &DD27[dPM0  *size_Mat];
-				D27.f[dMP0] = &DD27[dMP0  *size_Mat];
-				D27.f[dP0P] = &DD27[dP0P  *size_Mat];
-				D27.f[dM0M] = &DD27[dM0M  *size_Mat];
-				D27.f[dP0M] = &DD27[dP0M  *size_Mat];
-				D27.f[dM0P] = &DD27[dM0P  *size_Mat];
-				D27.f[d0PP] = &DD27[d0PP  *size_Mat];
-				D27.f[d0MM] = &DD27[d0MM  *size_Mat];
-				D27.f[d0PM] = &DD27[d0PM  *size_Mat];
-				D27.f[d0MP] = &DD27[d0MP  *size_Mat];
-				D27.f[d000] = &DD27[d000*size_Mat];
-				D27.f[dPPP] = &DD27[dPPP *size_Mat];
-				D27.f[dMMP] = &DD27[dMMP *size_Mat];
-				D27.f[dPMP] = &DD27[dPMP *size_Mat];
-				D27.f[dMPP] = &DD27[dMPP *size_Mat];
-				D27.f[dPPM] = &DD27[dPPM *size_Mat];
-				D27.f[dMMM] = &DD27[dMMM *size_Mat];
-				D27.f[dPMM]= &DD27[dPMM *size_Mat];
-				D27.f[dMPM]= &DD27[dMPM *size_Mat];
-			}
-			else
-			{
-				D27.f[dM00] = &DD27[dP00   *size_Mat];
-				D27.f[dP00] = &DD27[dM00   *size_Mat];
-				D27.f[d0M0] = &DD27[d0P0   *size_Mat];
-				D27.f[d0P0] = &DD27[d0M0   *size_Mat];
-				D27.f[d00M] = &DD27[d00P   *size_Mat];
-				D27.f[d00P] = &DD27[d00M   *size_Mat];
-				D27.f[dMM0] = &DD27[dPP0  *size_Mat];
-				D27.f[dPP0] = &DD27[dMM0  *size_Mat];
-				D27.f[dMP0] = &DD27[dPM0  *size_Mat];
-				D27.f[dPM0] = &DD27[dMP0  *size_Mat];
-				D27.f[dM0M] = &DD27[dP0P  *size_Mat];
-				D27.f[dP0P] = &DD27[dM0M  *size_Mat];
-				D27.f[dM0P] = &DD27[dP0M  *size_Mat];
-				D27.f[dP0M] = &DD27[dM0P  *size_Mat];
-				D27.f[d0MM] = &DD27[d0PP  *size_Mat];
-				D27.f[d0PP] = &DD27[d0MM  *size_Mat];
-				D27.f[d0MP] = &DD27[d0PM  *size_Mat];
-				D27.f[d0PM] = &DD27[d0MP  *size_Mat];
-				D27.f[d000] = &DD27[d000*size_Mat];
-				D27.f[dMMM] = &DD27[dPPP *size_Mat];
-				D27.f[dPPM] = &DD27[dMMP *size_Mat];
-				D27.f[dMPM]= &DD27[dPMP *size_Mat];
-				D27.f[dPMM]= &DD27[dMPP *size_Mat];
-				D27.f[dMMP] = &DD27[dPPM *size_Mat];
-				D27.f[dPPP] = &DD27[dMMM *size_Mat];
-				D27.f[dMPP] = &DD27[dPMM *size_Mat];
-				D27.f[dPMP] = &DD27[dMPM *size_Mat];
-			}
-			//////////////////////////////////////////////////////////////////////////
-			real ConcD = Conc[k];
-			real   vx1 = ux[k];
-			real   vx2 = uy[k];
-			real   vx3 = uz[k];
-			//real lambdaD     = -three + sqrt(three);
-			//real Diffusivity = c1o20;
-			//real Lam         = -(c1o2+one/lambdaD);
-			//real nue_d       = Lam/three;
-			//real ae          = Diffusivity/nue_d - one;
-			//real ux_sq       = vx1 * vx1;
-			//real uy_sq       = vx2 * vx2;
-			//real uz_sq       = vx3 * vx3;
-			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//D3Q7
-			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//index
-			//unsigned int kzero= k;
-			//unsigned int ke   = k;
-			//unsigned int kw   = neighborX[k];
-			//unsigned int kn   = k;
-			//unsigned int ks   = neighborY[k];
-			//unsigned int kt   = k;
-			//unsigned int kb   = neighborZ[k];
-			//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//(D7.f[0])[kzero] = ConcD*(c1o3*(ae*(-three))-(ux_sq+uy_sq+uz_sq));
-			//(D7.f[1])[ke   ] = ConcD*(c1o6*(ae+one)+c1o2*(ux_sq)+vx1*c1o2);
-			//(D7.f[2])[kw   ] = ConcD*(c1o6*(ae+one)+c1o2*(ux_sq)-vx1*c1o2);
-			//(D7.f[3])[kn   ] = ConcD*(c1o6*(ae+one)+c1o2*(uy_sq)+vx2*c1o2);
-			//(D7.f[4])[ks   ] = ConcD*(c1o6*(ae+one)+c1o2*(uy_sq)-vx2*c1o2);
-			//(D7.f[5])[kt   ] = ConcD*(c1o6*(ae+one)+c1o2*(uz_sq)+vx3*c1o2);
-			//(D7.f[6])[kb   ] = ConcD*(c1o6*(ae+one)+c1o2*(uz_sq)-vx3*c1o2);
-			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        if (BC != GEO_SOLID && BC != GEO_VOID)
+        {
+            Distributions27 D27;
+            if (EvenOrOdd == true)
+            {
+                D27.f[dP00] = &DD27[dP00   *size_Mat];
+                D27.f[dM00] = &DD27[dM00   *size_Mat];
+                D27.f[d0P0] = &DD27[d0P0   *size_Mat];
+                D27.f[d0M0] = &DD27[d0M0   *size_Mat];
+                D27.f[d00P] = &DD27[d00P   *size_Mat];
+                D27.f[d00M] = &DD27[d00M   *size_Mat];
+                D27.f[dPP0] = &DD27[dPP0  *size_Mat];
+                D27.f[dMM0] = &DD27[dMM0  *size_Mat];
+                D27.f[dPM0] = &DD27[dPM0  *size_Mat];
+                D27.f[dMP0] = &DD27[dMP0  *size_Mat];
+                D27.f[dP0P] = &DD27[dP0P  *size_Mat];
+                D27.f[dM0M] = &DD27[dM0M  *size_Mat];
+                D27.f[dP0M] = &DD27[dP0M  *size_Mat];
+                D27.f[dM0P] = &DD27[dM0P  *size_Mat];
+                D27.f[d0PP] = &DD27[d0PP  *size_Mat];
+                D27.f[d0MM] = &DD27[d0MM  *size_Mat];
+                D27.f[d0PM] = &DD27[d0PM  *size_Mat];
+                D27.f[d0MP] = &DD27[d0MP  *size_Mat];
+                D27.f[d000] = &DD27[d000*size_Mat];
+                D27.f[dPPP] = &DD27[dPPP *size_Mat];
+                D27.f[dMMP] = &DD27[dMMP *size_Mat];
+                D27.f[dPMP] = &DD27[dPMP *size_Mat];
+                D27.f[dMPP] = &DD27[dMPP *size_Mat];
+                D27.f[dPPM] = &DD27[dPPM *size_Mat];
+                D27.f[dMMM] = &DD27[dMMM *size_Mat];
+                D27.f[dPMM]= &DD27[dPMM *size_Mat];
+                D27.f[dMPM]= &DD27[dMPM *size_Mat];
+            }
+            else
+            {
+                D27.f[dM00] = &DD27[dP00   *size_Mat];
+                D27.f[dP00] = &DD27[dM00   *size_Mat];
+                D27.f[d0M0] = &DD27[d0P0   *size_Mat];
+                D27.f[d0P0] = &DD27[d0M0   *size_Mat];
+                D27.f[d00M] = &DD27[d00P   *size_Mat];
+                D27.f[d00P] = &DD27[d00M   *size_Mat];
+                D27.f[dMM0] = &DD27[dPP0  *size_Mat];
+                D27.f[dPP0] = &DD27[dMM0  *size_Mat];
+                D27.f[dMP0] = &DD27[dPM0  *size_Mat];
+                D27.f[dPM0] = &DD27[dMP0  *size_Mat];
+                D27.f[dM0M] = &DD27[dP0P  *size_Mat];
+                D27.f[dP0P] = &DD27[dM0M  *size_Mat];
+                D27.f[dM0P] = &DD27[dP0M  *size_Mat];
+                D27.f[dP0M] = &DD27[dM0P  *size_Mat];
+                D27.f[d0MM] = &DD27[d0PP  *size_Mat];
+                D27.f[d0PP] = &DD27[d0MM  *size_Mat];
+                D27.f[d0MP] = &DD27[d0PM  *size_Mat];
+                D27.f[d0PM] = &DD27[d0MP  *size_Mat];
+                D27.f[d000] = &DD27[d000*size_Mat];
+                D27.f[dMMM] = &DD27[dPPP *size_Mat];
+                D27.f[dPPM] = &DD27[dMMP *size_Mat];
+                D27.f[dMPM]= &DD27[dPMP *size_Mat];
+                D27.f[dPMM]= &DD27[dMPP *size_Mat];
+                D27.f[dMMP] = &DD27[dPPM *size_Mat];
+                D27.f[dPPP] = &DD27[dMMM *size_Mat];
+                D27.f[dMPP] = &DD27[dPMM *size_Mat];
+                D27.f[dPMP] = &DD27[dMPM *size_Mat];
+            }
+            //////////////////////////////////////////////////////////////////////////
+            real ConcD = Conc[k];
+            real   vx1 = ux[k];
+            real   vx2 = uy[k];
+            real   vx3 = uz[k];
+            //real lambdaD     = -three + sqrt(three);
+            //real Diffusivity = c1o20;
+            //real Lam         = -(c1o2+one/lambdaD);
+            //real nue_d       = Lam/three;
+            //real ae          = Diffusivity/nue_d - one;
+            //real ux_sq       = vx1 * vx1;
+            //real uy_sq       = vx2 * vx2;
+            //real uz_sq       = vx3 * vx3;
+            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //D3Q7
+            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //index
+            //unsigned int kzero= k;
+            //unsigned int ke   = k;
+            //unsigned int kw   = neighborX[k];
+            //unsigned int kn   = k;
+            //unsigned int ks   = neighborY[k];
+            //unsigned int kt   = k;
+            //unsigned int kb   = neighborZ[k];
+            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //(D7.f[0])[kzero] = ConcD*(c1o3*(ae*(-three))-(ux_sq+uy_sq+uz_sq));
+            //(D7.f[1])[ke   ] = ConcD*(c1o6*(ae+one)+c1o2*(ux_sq)+vx1*c1o2);
+            //(D7.f[2])[kw   ] = ConcD*(c1o6*(ae+one)+c1o2*(ux_sq)-vx1*c1o2);
+            //(D7.f[3])[kn   ] = ConcD*(c1o6*(ae+one)+c1o2*(uy_sq)+vx2*c1o2);
+            //(D7.f[4])[ks   ] = ConcD*(c1o6*(ae+one)+c1o2*(uy_sq)-vx2*c1o2);
+            //(D7.f[5])[kt   ] = ConcD*(c1o6*(ae+one)+c1o2*(uz_sq)+vx3*c1o2);
+            //(D7.f[6])[kb   ] = ConcD*(c1o6*(ae+one)+c1o2*(uz_sq)-vx3*c1o2);
+            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
-			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//D3Q27
-			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			//index
-			unsigned int kzero = k;
-			unsigned int ke = k;
-			unsigned int kw = neighborX[k];
-			unsigned int kn = k;
-			unsigned int ks = neighborY[k];
-			unsigned int kt = k;
-			unsigned int kb = neighborZ[k];
-			unsigned int ksw = neighborY[kw];
-			unsigned int kne = k;
-			unsigned int kse = ks;
-			unsigned int knw = kw;
-			unsigned int kbw = neighborZ[kw];
-			unsigned int kte = k;
-			unsigned int kbe = kb;
-			unsigned int ktw = kw;
-			unsigned int kbs = neighborZ[ks];
-			unsigned int ktn = k;
-			unsigned int kbn = kb;
-			unsigned int kts = ks;
-			unsigned int ktse = ks;
-			unsigned int kbnw = kbw;
-			unsigned int ktnw = kw;
-			unsigned int kbse = kbs;
-			unsigned int ktsw = ksw;
-			unsigned int kbne = kb;
-			unsigned int ktne = k;
-			unsigned int kbsw = neighborZ[ksw];
-			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-			real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
+            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //D3Q27
+            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            //index
+            unsigned int kzero = k;
+            unsigned int ke = k;
+            unsigned int kw = neighborX[k];
+            unsigned int kn = k;
+            unsigned int ks = neighborY[k];
+            unsigned int kt = k;
+            unsigned int kb = neighborZ[k];
+            unsigned int ksw = neighborY[kw];
+            unsigned int kne = k;
+            unsigned int kse = ks;
+            unsigned int knw = kw;
+            unsigned int kbw = neighborZ[kw];
+            unsigned int kte = k;
+            unsigned int kbe = kb;
+            unsigned int ktw = kw;
+            unsigned int kbs = neighborZ[ks];
+            unsigned int ktn = k;
+            unsigned int kbn = kb;
+            unsigned int kts = ks;
+            unsigned int ktse = ks;
+            unsigned int kbnw = kbw;
+            unsigned int ktnw = kw;
+            unsigned int kbse = kbs;
+            unsigned int ktsw = ksw;
+            unsigned int kbne = kb;
+            unsigned int ktne = k;
+            unsigned int kbsw = neighborZ[ksw];
+            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+            real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3);
 
-			(D27.f[d000])[kzero] = c8o27* ConcD*(c1o1 - cu_sq);
-			(D27.f[dP00])[ke] = c2o27* ConcD*(c1o1 + c3o1*(vx1)+c9o2*(vx1)*(vx1)-cu_sq);
-			(D27.f[dM00])[kw] = c2o27* ConcD*(c1o1 + c3o1*(-vx1) + c9o2*(-vx1)*(-vx1) - cu_sq);
-			(D27.f[d0P0])[kn] = c2o27* ConcD*(c1o1 + c3o1*(vx2)+c9o2*(vx2)*(vx2)-cu_sq);
-			(D27.f[d0M0])[ks] = c2o27* ConcD*(c1o1 + c3o1*(-vx2) + c9o2*(-vx2)*(-vx2) - cu_sq);
-			(D27.f[d00P])[kt] = c2o27* ConcD*(c1o1 + c3o1*(vx3)+c9o2*(vx3)*(vx3)-cu_sq);
-			(D27.f[d00M])[kb] = c2o27* ConcD*(c1o1 + c3o1*(-vx3) + c9o2*(-vx3)*(-vx3) - cu_sq);
-			(D27.f[dPP0])[kne] = c1o54* ConcD*(c1o1 + c3o1*(vx1 + vx2) + c9o2*(vx1 + vx2)*(vx1 + vx2) - cu_sq);
-			(D27.f[dMM0])[ksw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 - vx2) + c9o2*(-vx1 - vx2)*(-vx1 - vx2) - cu_sq);
-			(D27.f[dPM0])[kse] = c1o54* ConcD*(c1o1 + c3o1*(vx1 - vx2) + c9o2*(vx1 - vx2)*(vx1 - vx2) - cu_sq);
-			(D27.f[dMP0])[knw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 + vx2) + c9o2*(-vx1 + vx2)*(-vx1 + vx2) - cu_sq);
-			(D27.f[dP0P])[kte] = c1o54* ConcD*(c1o1 + c3o1*(vx1 + vx3) + c9o2*(vx1 + vx3)*(vx1 + vx3) - cu_sq);
-			(D27.f[dM0M])[kbw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 - vx3) + c9o2*(-vx1 - vx3)*(-vx1 - vx3) - cu_sq);
-			(D27.f[dP0M])[kbe] = c1o54* ConcD*(c1o1 + c3o1*(vx1 - vx3) + c9o2*(vx1 - vx3)*(vx1 - vx3) - cu_sq);
-			(D27.f[dM0P])[ktw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 + vx3) + c9o2*(-vx1 + vx3)*(-vx1 + vx3) - cu_sq);
-			(D27.f[d0PP])[ktn] = c1o54* ConcD*(c1o1 + c3o1*(vx2 + vx3) + c9o2*(vx2 + vx3)*(vx2 + vx3) - cu_sq);
-			(D27.f[d0MM])[kbs] = c1o54* ConcD*(c1o1 + c3o1*(-vx2 - vx3) + c9o2*(-vx2 - vx3)*(-vx2 - vx3) - cu_sq);
-			(D27.f[d0PM])[kbn] = c1o54* ConcD*(c1o1 + c3o1*(vx2 - vx3) + c9o2*(vx2 - vx3)*(vx2 - vx3) - cu_sq);
-			(D27.f[d0MP])[kts] = c1o54* ConcD*(c1o1 + c3o1*(-vx2 + vx3) + c9o2*(-vx2 + vx3)*(-vx2 + vx3) - cu_sq);
-			(D27.f[dPPP])[ktne] = c1o216*ConcD*(c1o1 + c3o1*(vx1 + vx2 + vx3) + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) - cu_sq);
-			(D27.f[dMMM])[kbsw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 - vx2 - vx3) + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) - cu_sq);
-			(D27.f[dPPM])[kbne] = c1o216*ConcD*(c1o1 + c3o1*(vx1 + vx2 - vx3) + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) - cu_sq);
-			(D27.f[dMMP])[ktsw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 - vx2 + vx3) + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) - cu_sq);
-			(D27.f[dPMP])[ktse] = c1o216*ConcD*(c1o1 + c3o1*(vx1 - vx2 + vx3) + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) - cu_sq);
-			(D27.f[dMPM])[kbnw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 + vx2 - vx3) + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) - cu_sq);
-			(D27.f[dPMM])[kbse] = c1o216*ConcD*(c1o1 + c3o1*(vx1 - vx2 - vx3) + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) - cu_sq);
-			(D27.f[dMPP])[ktnw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 + vx2 + vx3) + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) - cu_sq);
-			////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-		}
-	}
+            (D27.f[d000])[kzero] = c8o27* ConcD*(c1o1 - cu_sq);
+            (D27.f[dP00])[ke] = c2o27* ConcD*(c1o1 + c3o1*(vx1)+c9o2*(vx1)*(vx1)-cu_sq);
+            (D27.f[dM00])[kw] = c2o27* ConcD*(c1o1 + c3o1*(-vx1) + c9o2*(-vx1)*(-vx1) - cu_sq);
+            (D27.f[d0P0])[kn] = c2o27* ConcD*(c1o1 + c3o1*(vx2)+c9o2*(vx2)*(vx2)-cu_sq);
+            (D27.f[d0M0])[ks] = c2o27* ConcD*(c1o1 + c3o1*(-vx2) + c9o2*(-vx2)*(-vx2) - cu_sq);
+            (D27.f[d00P])[kt] = c2o27* ConcD*(c1o1 + c3o1*(vx3)+c9o2*(vx3)*(vx3)-cu_sq);
+            (D27.f[d00M])[kb] = c2o27* ConcD*(c1o1 + c3o1*(-vx3) + c9o2*(-vx3)*(-vx3) - cu_sq);
+            (D27.f[dPP0])[kne] = c1o54* ConcD*(c1o1 + c3o1*(vx1 + vx2) + c9o2*(vx1 + vx2)*(vx1 + vx2) - cu_sq);
+            (D27.f[dMM0])[ksw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 - vx2) + c9o2*(-vx1 - vx2)*(-vx1 - vx2) - cu_sq);
+            (D27.f[dPM0])[kse] = c1o54* ConcD*(c1o1 + c3o1*(vx1 - vx2) + c9o2*(vx1 - vx2)*(vx1 - vx2) - cu_sq);
+            (D27.f[dMP0])[knw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 + vx2) + c9o2*(-vx1 + vx2)*(-vx1 + vx2) - cu_sq);
+            (D27.f[dP0P])[kte] = c1o54* ConcD*(c1o1 + c3o1*(vx1 + vx3) + c9o2*(vx1 + vx3)*(vx1 + vx3) - cu_sq);
+            (D27.f[dM0M])[kbw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 - vx3) + c9o2*(-vx1 - vx3)*(-vx1 - vx3) - cu_sq);
+            (D27.f[dP0M])[kbe] = c1o54* ConcD*(c1o1 + c3o1*(vx1 - vx3) + c9o2*(vx1 - vx3)*(vx1 - vx3) - cu_sq);
+            (D27.f[dM0P])[ktw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 + vx3) + c9o2*(-vx1 + vx3)*(-vx1 + vx3) - cu_sq);
+            (D27.f[d0PP])[ktn] = c1o54* ConcD*(c1o1 + c3o1*(vx2 + vx3) + c9o2*(vx2 + vx3)*(vx2 + vx3) - cu_sq);
+            (D27.f[d0MM])[kbs] = c1o54* ConcD*(c1o1 + c3o1*(-vx2 - vx3) + c9o2*(-vx2 - vx3)*(-vx2 - vx3) - cu_sq);
+            (D27.f[d0PM])[kbn] = c1o54* ConcD*(c1o1 + c3o1*(vx2 - vx3) + c9o2*(vx2 - vx3)*(vx2 - vx3) - cu_sq);
+            (D27.f[d0MP])[kts] = c1o54* ConcD*(c1o1 + c3o1*(-vx2 + vx3) + c9o2*(-vx2 + vx3)*(-vx2 + vx3) - cu_sq);
+            (D27.f[dPPP])[ktne] = c1o216*ConcD*(c1o1 + c3o1*(vx1 + vx2 + vx3) + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) - cu_sq);
+            (D27.f[dMMM])[kbsw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 - vx2 - vx3) + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) - cu_sq);
+            (D27.f[dPPM])[kbne] = c1o216*ConcD*(c1o1 + c3o1*(vx1 + vx2 - vx3) + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) - cu_sq);
+            (D27.f[dMMP])[ktsw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 - vx2 + vx3) + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) - cu_sq);
+            (D27.f[dPMP])[ktse] = c1o216*ConcD*(c1o1 + c3o1*(vx1 - vx2 + vx3) + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) - cu_sq);
+            (D27.f[dMPM])[kbnw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 + vx2 - vx3) + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) - cu_sq);
+            (D27.f[dPMM])[kbse] = c1o216*ConcD*(c1o1 + c3o1*(vx1 - vx2 - vx3) + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) - cu_sq);
+            (D27.f[dMPP])[ktnw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 + vx2 + vx3) + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) - cu_sq);
+            ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+        }
+    }
 }
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cuh b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cuh
index 80c46f94549371811025e7f751acda65c858c0f4..dff2bb8a8843dcf19c96bd01cd299b5672b6c8d5 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cuh
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cuh
@@ -5,15 +5,15 @@
 #include <curand.h>
 
 __global__ void LB_Init_Comp_AD_27(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* Conc,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD27,
-	bool EvenOrOdd);
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* Conc,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD27,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7.cu
index 3b70cc80827b2e5f5081a7bcfca6b83789284a05..b6a3ef4c499c808de6133be8948c82d602758f03 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<InitCompAD7> InitCompAD7::getNewInstance(std::shared_ptr<Parameter> para)
 {
-	return std::shared_ptr<InitCompAD7>(new InitCompAD7(para));
+    return std::shared_ptr<InitCompAD7>(new InitCompAD7(para));
 }
 
 void InitCompAD7::init(int level)
@@ -30,12 +30,12 @@ void InitCompAD7::init(int level)
 
 bool InitCompAD7::checkParameter()
 {
-	return false;
+    return false;
 }
 
 InitCompAD7::InitCompAD7(std::shared_ptr<Parameter> para)
 {
-	this->para = para;
+    this->para = para;
 }
 
 InitCompAD7::InitCompAD7()
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7.h b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7.h
index c7cd3cb2fefa2abc7bb7a73e82d1d5665f383ea5..c1e76f8ec40a15394f1cd5017a7c5b3e95912bed 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7.h
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7.h
@@ -10,13 +10,13 @@ class Parameter;
 class InitCompAD7 : public PreProcessorStrategy
 {
 public:
-	static std::shared_ptr<InitCompAD7> getNewInstance(std::shared_ptr< Parameter> para);
-	void init(int level);
-	bool checkParameter();
+    static std::shared_ptr<InitCompAD7> getNewInstance(std::shared_ptr< Parameter> para);
+    void init(int level);
+    bool checkParameter();
 
 private:
-	InitCompAD7();
-	InitCompAD7(std::shared_ptr< Parameter> para);
-	std::shared_ptr< Parameter> para;
+    InitCompAD7();
+    InitCompAD7(std::shared_ptr< Parameter> para);
+    std::shared_ptr< Parameter> para;
 };
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7_Device.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7_Device.cu
index bb3e6c97ddc387234252b59dc43143f115888a6a..537cc4463d88cfcf919d793fc58918392fe54e46 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7_Device.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7_Device.cu
@@ -7,89 +7,89 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 __global__ void LB_Init_Comp_AD_7(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* Conc,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD7,
-	bool EvenOrOdd)
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* Conc,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD7,
+    bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
 
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
 
-	if (k<size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = geoD[k];
+    if (k<size_Mat)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = geoD[k];
 
-		if (BC != GEO_SOLID && BC != GEO_VOID)
-		{
-			Distributions7 D7;
-			if (EvenOrOdd == true)
-			{
-				D7.f[0] = &DD7[0 * size_Mat];
-				D7.f[1] = &DD7[1 * size_Mat];
-				D7.f[2] = &DD7[2 * size_Mat];
-				D7.f[3] = &DD7[3 * size_Mat];
-				D7.f[4] = &DD7[4 * size_Mat];
-				D7.f[5] = &DD7[5 * size_Mat];
-				D7.f[6] = &DD7[6 * size_Mat];
-			}
-			else
-			{
-				D7.f[0] = &DD7[0 * size_Mat];
-				D7.f[2] = &DD7[1 * size_Mat];
-				D7.f[1] = &DD7[2 * size_Mat];
-				D7.f[4] = &DD7[3 * size_Mat];
-				D7.f[3] = &DD7[4 * size_Mat];
-				D7.f[6] = &DD7[5 * size_Mat];
-				D7.f[5] = &DD7[6 * size_Mat];
-			}
-			//////////////////////////////////////////////////////////////////////////
-			real ConcD = Conc[k];
-			real   vx1 = ux[k];
-			real   vx2 = uy[k];
-			real   vx3 = uz[k];
-			real lambdaD = -c3o1 + sqrt(c3o1);
-			real Diffusivity = c1o20;
-			real Lam = -(c1o2 + c1o1 / lambdaD);
-			real nue_d = Lam / c3o1;
-			real ae = Diffusivity / nue_d - c1o1;
-			real ux_sq = vx1 * vx1;
-			real uy_sq = vx2 * vx2;
-			real uz_sq = vx3 * vx3;
-			//////////////////////////////////////////////////////////////////////////
-			//index
-			//////////////////////////////////////////////////////////////////////////
-			unsigned int kzero = k;
-			unsigned int ke = k;
-			unsigned int kw = neighborX[k];
-			unsigned int kn = k;
-			unsigned int ks = neighborY[k];
-			unsigned int kt = k;
-			unsigned int kb = neighborZ[k];
-			//////////////////////////////////////////////////////////////////////////
+        if (BC != GEO_SOLID && BC != GEO_VOID)
+        {
+            Distributions7 D7;
+            if (EvenOrOdd == true)
+            {
+                D7.f[0] = &DD7[0 * size_Mat];
+                D7.f[1] = &DD7[1 * size_Mat];
+                D7.f[2] = &DD7[2 * size_Mat];
+                D7.f[3] = &DD7[3 * size_Mat];
+                D7.f[4] = &DD7[4 * size_Mat];
+                D7.f[5] = &DD7[5 * size_Mat];
+                D7.f[6] = &DD7[6 * size_Mat];
+            }
+            else
+            {
+                D7.f[0] = &DD7[0 * size_Mat];
+                D7.f[2] = &DD7[1 * size_Mat];
+                D7.f[1] = &DD7[2 * size_Mat];
+                D7.f[4] = &DD7[3 * size_Mat];
+                D7.f[3] = &DD7[4 * size_Mat];
+                D7.f[6] = &DD7[5 * size_Mat];
+                D7.f[5] = &DD7[6 * size_Mat];
+            }
+            //////////////////////////////////////////////////////////////////////////
+            real ConcD = Conc[k];
+            real   vx1 = ux[k];
+            real   vx2 = uy[k];
+            real   vx3 = uz[k];
+            real lambdaD = -c3o1 + sqrt(c3o1);
+            real Diffusivity = c1o20;
+            real Lam = -(c1o2 + c1o1 / lambdaD);
+            real nue_d = Lam / c3o1;
+            real ae = Diffusivity / nue_d - c1o1;
+            real ux_sq = vx1 * vx1;
+            real uy_sq = vx2 * vx2;
+            real uz_sq = vx3 * vx3;
+            //////////////////////////////////////////////////////////////////////////
+            //index
+            //////////////////////////////////////////////////////////////////////////
+            unsigned int kzero = k;
+            unsigned int ke = k;
+            unsigned int kw = neighborX[k];
+            unsigned int kn = k;
+            unsigned int ks = neighborY[k];
+            unsigned int kt = k;
+            unsigned int kb = neighborZ[k];
+            //////////////////////////////////////////////////////////////////////////
 
-			(D7.f[0])[kzero] = ConcD*(c1o3*(ae*(-c3o1)) - (ux_sq + uy_sq + uz_sq));
-			(D7.f[1])[ke] = ConcD*(c1o6*(ae + c1o1) + c1o2*(ux_sq)+vx1*c1o2);
-			(D7.f[2])[kw] = ConcD*(c1o6*(ae + c1o1) + c1o2*(ux_sq)-vx1*c1o2);
-			(D7.f[3])[kn] = ConcD*(c1o6*(ae + c1o1) + c1o2*(uy_sq)+vx2*c1o2);
-			(D7.f[4])[ks] = ConcD*(c1o6*(ae + c1o1) + c1o2*(uy_sq)-vx2*c1o2);
-			(D7.f[5])[kt] = ConcD*(c1o6*(ae + c1o1) + c1o2*(uz_sq)+vx3*c1o2);
-			(D7.f[6])[kb] = ConcD*(c1o6*(ae + c1o1) + c1o2*(uz_sq)-vx3*c1o2);
-		}
-	}
+            (D7.f[0])[kzero] = ConcD*(c1o3*(ae*(-c3o1)) - (ux_sq + uy_sq + uz_sq));
+            (D7.f[1])[ke] = ConcD*(c1o6*(ae + c1o1) + c1o2*(ux_sq)+vx1*c1o2);
+            (D7.f[2])[kw] = ConcD*(c1o6*(ae + c1o1) + c1o2*(ux_sq)-vx1*c1o2);
+            (D7.f[3])[kn] = ConcD*(c1o6*(ae + c1o1) + c1o2*(uy_sq)+vx2*c1o2);
+            (D7.f[4])[ks] = ConcD*(c1o6*(ae + c1o1) + c1o2*(uy_sq)-vx2*c1o2);
+            (D7.f[5])[kt] = ConcD*(c1o6*(ae + c1o1) + c1o2*(uz_sq)+vx3*c1o2);
+            (D7.f[6])[kb] = ConcD*(c1o6*(ae + c1o1) + c1o2*(uz_sq)-vx3*c1o2);
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7_Device.cuh b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7_Device.cuh
index 7dc17056bca6116aa6e98367a78e92320813b502..cd12cd1a9dfe8edaf35b3a6eff5391add4648a43 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7_Device.cuh
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompAD7/InitCompAD7_Device.cuh
@@ -5,15 +5,15 @@
 #include <curand.h>
 
 __global__ void LB_Init_Comp_AD_7(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* Conc,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD7,
-	bool EvenOrOdd);
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* Conc,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD7,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27.cu
index 3f2176eace98b825a2dcb8557506787563286434..e70d5a8fe61e7c3119d83e35d81bbe742f97fa4e 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<PreProcessorStrategy> InitCompSP27::getNewInstance(std::shared_ptr<Parameter> para)
 {
-	return std::shared_ptr<PreProcessorStrategy>(new InitCompSP27(para));
+    return std::shared_ptr<PreProcessorStrategy>(new InitCompSP27(para));
 }
 
 void InitCompSP27::init(int level)
@@ -55,12 +55,12 @@ void InitCompSP27::init(int level)
 
 bool InitCompSP27::checkParameter()
 {
-	return false;
+    return false;
 }
 
 InitCompSP27::InitCompSP27(std::shared_ptr<Parameter> para)
 {
-	this->para = para;
+    this->para = para;
 }
 
 InitCompSP27::InitCompSP27()
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27.h b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27.h
index 03754ccbaa18325ac1bbf7e590c91c20f6944be8..601f1a446ade70766d6b37953db77a3a92f1f67f 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27.h
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27.h
@@ -10,14 +10,14 @@ class Parameter;
 class InitCompSP27 : public PreProcessorStrategy
 {
 public:
-	static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
-	void init(int level);
-	bool checkParameter();
+    static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
+    void init(int level);
+    bool checkParameter();
 
 private:
-	InitCompSP27();
-	InitCompSP27(std::shared_ptr< Parameter> para);
-	std::shared_ptr< Parameter> para;
+    InitCompSP27();
+    InitCompSP27(std::shared_ptr< Parameter> para);
+    std::shared_ptr< Parameter> para;
 };
 
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cu
index 92725eea736985443a8ba8caeeda002fa1ac7bdd..f733282faf3791164bcab12354d61beea6659418 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cu
@@ -9,16 +9,16 @@ using namespace vf::lbm::dir;
 #include <stdio.h>
 
 __global__ void LB_Init_Comp_SP_27(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* rho,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD,
-	bool EvenOrOdd)
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* rho,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD,
+    bool EvenOrOdd)
 {
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  x = threadIdx.x;  // Globaler x-Index 
@@ -308,50 +308,50 @@ __global__ void LB_Init_Comp_Neq_SP_27( unsigned int* neighborX,
             unsigned int kbne = kb;
             unsigned int ktne = k;
             unsigned int kbsw = neighborZ[ksw];
-	        //////////////////////////////////////////////////////////////////////////////
-	        //neighbor index
-	        uint kPx   = neighborX[k];
-	        uint kPy   = neighborY[k];
-	        uint kPz   = neighborZ[k];
-	        uint kMxyz = neighborWSB[k];
-	        uint kMx   = neighborZ[neighborY[kMxyz]];
-	        uint kMy   = neighborZ[neighborX[kMxyz]];
-	        uint kMz   = neighborY[neighborX[kMxyz]];
+            //////////////////////////////////////////////////////////////////////////////
+            //neighbor index
+            uint kPx   = neighborX[k];
+            uint kPy   = neighborY[k];
+            uint kPz   = neighborZ[k];
+            uint kMxyz = neighborWSB[k];
+            uint kMx   = neighborZ[neighborY[kMxyz]];
+            uint kMy   = neighborZ[neighborX[kMxyz]];
+            uint kMz   = neighborY[neighborX[kMxyz]];
             //////////////////////////////////////////////////////////////////////////
-	        //getVeloX//
-	        real vx1NeighborPx = ux[kPx];
-	        real vx1NeighborMx = ux[kMx];
-	        real vx1NeighborPy = ux[kPy];
-	        real vx1NeighborMy = ux[kMy];
-	        real vx1NeighborPz = ux[kPz];
-	        real vx1NeighborMz = ux[kMz];
-	        //getVeloY//
-	        real vx2NeighborPx = uy[kPx];
-	        real vx2NeighborMx = uy[kMx];
-	        real vx2NeighborPy = uy[kPy];
-	        real vx2NeighborMy = uy[kMy];
-	        real vx2NeighborPz = uy[kPz];
-	        real vx2NeighborMz = uy[kMz];
-	        //getVeloZ//
-	        real vx3NeighborPx = uz[kPx];
-	        real vx3NeighborMx = uz[kMx];
-	        real vx3NeighborPy = uz[kPy];
-	        real vx3NeighborMy = uz[kMy];
-	        real vx3NeighborPz = uz[kPz];
-	        real vx3NeighborMz = uz[kMz];
+            //getVeloX//
+            real vx1NeighborPx = ux[kPx];
+            real vx1NeighborMx = ux[kMx];
+            real vx1NeighborPy = ux[kPy];
+            real vx1NeighborMy = ux[kMy];
+            real vx1NeighborPz = ux[kPz];
+            real vx1NeighborMz = ux[kMz];
+            //getVeloY//
+            real vx2NeighborPx = uy[kPx];
+            real vx2NeighborMx = uy[kMx];
+            real vx2NeighborPy = uy[kPy];
+            real vx2NeighborMy = uy[kMy];
+            real vx2NeighborPz = uy[kPz];
+            real vx2NeighborMz = uy[kMz];
+            //getVeloZ//
+            real vx3NeighborPx = uz[kPx];
+            real vx3NeighborMx = uz[kMx];
+            real vx3NeighborPy = uz[kPy];
+            real vx3NeighborMy = uz[kMy];
+            real vx3NeighborPz = uz[kPz];
+            real vx3NeighborMz = uz[kMz];
             //////////////////////////////////////////////////////////////////////////
 
-	        real dvx1dx = (vx1NeighborPx - vx1NeighborMx) / c2o1;
-	        real dvx1dy = (vx1NeighborPy - vx1NeighborMy) / c2o1;
-	        real dvx1dz = (vx1NeighborPz - vx1NeighborMz) / c2o1;
+            real dvx1dx = (vx1NeighborPx - vx1NeighborMx) / c2o1;
+            real dvx1dy = (vx1NeighborPy - vx1NeighborMy) / c2o1;
+            real dvx1dz = (vx1NeighborPz - vx1NeighborMz) / c2o1;
 
-	        real dvx2dx = (vx2NeighborPx - vx2NeighborMx) / c2o1;
-	        real dvx2dy = (vx2NeighborPy - vx2NeighborMy) / c2o1;
-	        real dvx2dz = (vx2NeighborPz - vx2NeighborMz) / c2o1;
+            real dvx2dx = (vx2NeighborPx - vx2NeighborMx) / c2o1;
+            real dvx2dy = (vx2NeighborPy - vx2NeighborMy) / c2o1;
+            real dvx2dz = (vx2NeighborPz - vx2NeighborMz) / c2o1;
 
-	        real dvx3dx = (vx3NeighborPx - vx3NeighborMx) / c2o1;
-	        real dvx3dy = (vx3NeighborPy - vx3NeighborMy) / c2o1;
-	        real dvx3dz = (vx3NeighborPz - vx3NeighborMz) / c2o1;
+            real dvx3dx = (vx3NeighborPx - vx3NeighborMx) / c2o1;
+            real dvx3dy = (vx3NeighborPy - vx3NeighborMy) / c2o1;
+            real dvx3dz = (vx3NeighborPz - vx3NeighborMz) / c2o1;
 
             //////////////////////////////////////////////////////////////////////////
 
@@ -453,14 +453,14 @@ __global__ void LB_Init_Comp_Neq_SP_27( unsigned int* neighborX,
 
             //////////////////////////////////////////////////////////////////////////
         }
-	    else
-	    {
-		    //////////////////////////////////////////////////////////////////////////
-		    Distributions27 D;
-		    D.f[d000] = &DD[d000*size_Mat];
-		    //////////////////////////////////////////////////////////////////////////
-		    (D.f[d000])[k] = c96o1;
-		    //////////////////////////////////////////////////////////////////////////
-	    }
+        else
+        {
+            //////////////////////////////////////////////////////////////////////////
+            Distributions27 D;
+            D.f[d000] = &DD[d000*size_Mat];
+            //////////////////////////////////////////////////////////////////////////
+            (D.f[d000])[k] = c96o1;
+            //////////////////////////////////////////////////////////////////////////
+        }
    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cuh b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cuh
index 0e1d89b9ac4778a1fdb4d8e72cd13be5eb3920d1..d7f40b88bf53652de893076d529f217647c28293 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cuh
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cuh
@@ -5,29 +5,29 @@
 #include <curand.h>
 
 __global__ void LB_Init_Comp_SP_27(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* rho,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD,
-	bool EvenOrOdd);
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* rho,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD,
+    bool EvenOrOdd);
 
 __global__ void LB_Init_Comp_Neq_SP_27(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* neighborWSB,
-	unsigned int* geoD,
-	real* rho,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD,
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* neighborWSB,
+    unsigned int* geoD,
+    real* rho,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD,
     real omega,
-	bool EvenOrOdd);
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3.cu
index cac748bcea4cf3a9067552f87142e6a019c84d90..82084e354ddd87c685f1913b1236bb3a01ba863b 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<PreProcessorStrategy> InitF3::getNewInstance(std::shared_ptr<Parameter> para)
 {
-	return std::shared_ptr<PreProcessorStrategy>(new InitF3(para));
+    return std::shared_ptr<PreProcessorStrategy>(new InitF3(para));
 }
 
 void InitF3::init(int level)
@@ -30,12 +30,12 @@ void InitF3::init(int level)
 
 bool InitF3::checkParameter()
 {
-	return false;
+    return false;
 }
 
 InitF3::InitF3(std::shared_ptr<Parameter> para)
 {
-	this->para = para;
+    this->para = para;
 }
 
 InitF3::InitF3()
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3.h b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3.h
index 633960e3f3ffb542bcd17b9b7d4f18a1e2d5c0c6..c254aa906a31f61d1d82f86fa40bf048b4443fb4 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3.h
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3.h
@@ -10,14 +10,14 @@ class Parameter;
 class InitF3 : public PreProcessorStrategy
 {
 public:
-	static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
-	void init(int level);
-	bool checkParameter();
+    static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
+    void init(int level);
+    bool checkParameter();
 
 private:
-	InitF3();
-	InitF3(std::shared_ptr< Parameter> para);
-	std::shared_ptr< Parameter> para;
+    InitF3();
+    InitF3(std::shared_ptr< Parameter> para);
+    std::shared_ptr< Parameter> para;
 };
 
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cu
index 76e81ae844298a44df1dc55937e83b590d43d1d3..29050bd2807dc753051aaa78fc2d0a35fb4162ad 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cu
@@ -8,73 +8,73 @@ using namespace vf::lbm::dir;
 
 
 __global__ void LB_Init_F3(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* rho,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* G6,
-	bool EvenOrOdd)
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* rho,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* G6,
+    bool EvenOrOdd)
 {
-	////////////////////////////////////////////////////////////////////////////////
-	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
-	const unsigned  z = blockIdx.y;   // Globaler z-Index 
+    ////////////////////////////////////////////////////////////////////////////////
+    const unsigned  x = threadIdx.x;  // Globaler x-Index 
+    const unsigned  y = blockIdx.x;   // Globaler y-Index 
+    const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
-	const unsigned nx = blockDim.x;
-	const unsigned ny = gridDim.x;
+    const unsigned nx = blockDim.x;
+    const unsigned ny = gridDim.x;
 
-	const unsigned k = nx*(ny*z + y) + x;
-	//////////////////////////////////////////////////////////////////////////
+    const unsigned k = nx*(ny*z + y) + x;
+    //////////////////////////////////////////////////////////////////////////
 
-	if (k < size_Mat)
-	{
-		////////////////////////////////////////////////////////////////////////////////
-		unsigned int BC;
-		BC = geoD[k];
+    if (k < size_Mat)
+    {
+        ////////////////////////////////////////////////////////////////////////////////
+        unsigned int BC;
+        BC = geoD[k];
 
-		if (BC != GEO_SOLID &&  BC != GEO_VOID)
-		{
-			Distributions6 D;
-			if (EvenOrOdd == true)
-			{
-				D.g[dP00] = &G6[dP00   *size_Mat];
-				D.g[dM00] = &G6[dM00   *size_Mat];
-				D.g[d0P0] = &G6[d0P0   *size_Mat];
-				D.g[d0M0] = &G6[d0M0   *size_Mat];
-				D.g[d00P] = &G6[d00P   *size_Mat];
-				D.g[d00M] = &G6[d00M   *size_Mat];
-			}
-			else
-			{
-				D.g[dM00] = &G6[dP00   *size_Mat];
-				D.g[dP00] = &G6[dM00   *size_Mat];
-				D.g[d0M0] = &G6[d0P0   *size_Mat];
-				D.g[d0P0] = &G6[d0M0   *size_Mat];
-				D.g[d00M] = &G6[d00P   *size_Mat];
-				D.g[d00P] = &G6[d00M   *size_Mat];
-			}
-			//////////////////////////////////////////////////////////////////////////
-			//index
-			//////////////////////////////////////////////////////////////////////////
-			// unsigned int kzero = k;
-			unsigned int ke = k;
-			unsigned int kw = neighborX[k];
-			unsigned int kn = k;
-			unsigned int ks = neighborY[k];
-			unsigned int kt = k;
-			unsigned int kb = neighborZ[k];
-			//////////////////////////////////////////////////////////////////////////
+        if (BC != GEO_SOLID &&  BC != GEO_VOID)
+        {
+            Distributions6 D;
+            if (EvenOrOdd == true)
+            {
+                D.g[dP00] = &G6[dP00   *size_Mat];
+                D.g[dM00] = &G6[dM00   *size_Mat];
+                D.g[d0P0] = &G6[d0P0   *size_Mat];
+                D.g[d0M0] = &G6[d0M0   *size_Mat];
+                D.g[d00P] = &G6[d00P   *size_Mat];
+                D.g[d00M] = &G6[d00M   *size_Mat];
+            }
+            else
+            {
+                D.g[dM00] = &G6[dP00   *size_Mat];
+                D.g[dP00] = &G6[dM00   *size_Mat];
+                D.g[d0M0] = &G6[d0P0   *size_Mat];
+                D.g[d0P0] = &G6[d0M0   *size_Mat];
+                D.g[d00M] = &G6[d00P   *size_Mat];
+                D.g[d00P] = &G6[d00M   *size_Mat];
+            }
+            //////////////////////////////////////////////////////////////////////////
+            //index
+            //////////////////////////////////////////////////////////////////////////
+            // unsigned int kzero = k;
+            unsigned int ke = k;
+            unsigned int kw = neighborX[k];
+            unsigned int kn = k;
+            unsigned int ks = neighborY[k];
+            unsigned int kt = k;
+            unsigned int kb = neighborZ[k];
+            //////////////////////////////////////////////////////////////////////////
 
-			(D.g[dP00])[ke] = 0.0f;
-			(D.g[dM00])[kw] = 0.0f;
-			(D.g[d0P0])[kn] = 0.0f;
-			(D.g[d0M0])[ks] = 0.0f;
-			(D.g[d00P])[kt] = 0.0f;
-			(D.g[d00M])[kb] = 0.0f;
-		}
-	}
+            (D.g[dP00])[ke] = 0.0f;
+            (D.g[dM00])[kw] = 0.0f;
+            (D.g[d0P0])[kn] = 0.0f;
+            (D.g[d0M0])[ks] = 0.0f;
+            (D.g[d00P])[kt] = 0.0f;
+            (D.g[d00M])[kb] = 0.0f;
+        }
+    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cuh b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cuh
index 71750c0fde2722a900800f742d801b6caf2febbf..991a5ec75c9a05eefdfb34e0faad921cbe35d6ea 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cuh
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cuh
@@ -5,15 +5,15 @@
 #include <curand.h>
 
 __global__ void LB_Init_F3(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* rho,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* G6,
-	bool EvenOrOdd);
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* rho,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* G6,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27.cu
index 246a5884f51af97b4e32977d30f114d6e90a6959..f09d9833692adad4cae2e24a1159714275569a22 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<PreProcessorStrategy> InitIncompAD27::getNewInstance(std::shared_ptr<Parameter> para)
 {
-	return std::shared_ptr<PreProcessorStrategy>(new InitIncompAD27(para));
+    return std::shared_ptr<PreProcessorStrategy>(new InitIncompAD27(para));
 }
 
 void InitIncompAD27::init(int level)
@@ -30,12 +30,12 @@ void InitIncompAD27::init(int level)
 
 bool InitIncompAD27::checkParameter()
 {
-	return false;
+    return false;
 }
 
 InitIncompAD27::InitIncompAD27(std::shared_ptr<Parameter> para)
 {
-	this->para = para;
+    this->para = para;
 }
 
 InitIncompAD27::InitIncompAD27()
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27.h b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27.h
index f47b729b559b0406de5d3753688c8e470d4a6bf6..9654345cf2fdc1d272be4766b88f6c1f67f27397 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27.h
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27.h
@@ -10,14 +10,14 @@ class Parameter;
 class InitIncompAD27 : public PreProcessorStrategy
 {
 public:
-	static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
-	void init(int level);
-	bool checkParameter();
+    static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
+    void init(int level);
+    bool checkParameter();
 
 private:
-	InitIncompAD27();
-	InitIncompAD27(std::shared_ptr< Parameter> para);
-	std::shared_ptr< Parameter> para;
+    InitIncompAD27();
+    InitIncompAD27(std::shared_ptr< Parameter> para);
+    std::shared_ptr< Parameter> para;
 };
 
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cu
index 1b7a5cf350dd9ee2272856a910e8c780c5cfbd78..a2933ca6822d256e997459fc4f741d5d2c7fe14e 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cu
@@ -7,16 +7,16 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 __global__ void LB_Init_Incomp_AD_27(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* Conc,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD27,
-	bool EvenOrOdd)
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* Conc,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD27,
+    bool EvenOrOdd)
 {
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  x = threadIdx.x;  // Globaler x-Index 
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cuh b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cuh
index 85b8f1b7ae9f814b1a15aa2a8af4aa2d7c3645b5..b81cf31d3064aa3eaa5fbdc7dc3b9c3150bb61ca 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cuh
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cuh
@@ -5,15 +5,15 @@
 #include <curand.h>
 
 __global__ void LB_Init_Incomp_AD_27(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* Conc,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD27,
-	bool EvenOrOdd);
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* Conc,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD27,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7.cu
index d246d58a279e6edd79de98a911c293d627bba4c3..d987cbeed114b85a950b1d0f911486c2e5491bde 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<PreProcessorStrategy> InitIncompAD7::getNewInstance(std::shared_ptr<Parameter> para)
 {
-	return std::shared_ptr<PreProcessorStrategy>(new InitIncompAD7(para));
+    return std::shared_ptr<PreProcessorStrategy>(new InitIncompAD7(para));
 }
 
 void InitIncompAD7::init(int level)
@@ -30,12 +30,12 @@ void InitIncompAD7::init(int level)
 
 bool InitIncompAD7::checkParameter()
 {
-	return false;
+    return false;
 }
 
 InitIncompAD7::InitIncompAD7(std::shared_ptr<Parameter> para)
 {
-	this->para = para;
+    this->para = para;
 }
 
 InitIncompAD7::InitIncompAD7()
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7.h b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7.h
index a0b618affd27dcfb80eafcc8c066ad7e5447a720..33bb82c7879590422ab111f4a8e518882be692c1 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7.h
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7.h
@@ -10,14 +10,14 @@ class Parameter;
 class InitIncompAD7 : public PreProcessorStrategy
 {
 public:
-	static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
-	void init(int level);
-	bool checkParameter();
+    static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
+    void init(int level);
+    bool checkParameter();
 
 private:
-	InitIncompAD7();
-	InitIncompAD7(std::shared_ptr< Parameter> para);
-	std::shared_ptr< Parameter> para;
+    InitIncompAD7();
+    InitIncompAD7(std::shared_ptr< Parameter> para);
+    std::shared_ptr< Parameter> para;
 };
 
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7_Device.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7_Device.cu
index 1fee2cbe232415d7435f5b60297799f2668cc01e..a5898729aa1ee73991a77fbe1cdbd407813c0671 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7_Device.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7_Device.cu
@@ -7,16 +7,16 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 __global__ void LB_Init_Incomp_AD_7(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* Conc,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD7,
-	bool EvenOrOdd)
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* Conc,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD7,
+    bool EvenOrOdd)
 {
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  x = threadIdx.x;  // Globaler x-Index 
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7_Device.cuh b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7_Device.cuh
index 2d381e6e0531b900cee90eb8f7e2f3d4ff8615f7..f773ae81fa5c879790b2e116790c0ff4faa4941d 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7_Device.cuh
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitIncompAD7/InitIncompAD7_Device.cuh
@@ -5,15 +5,15 @@
 #include <curand.h>
 
 __global__ void LB_Init_Incomp_AD_7(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* Conc,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD7,
-	bool EvenOrOdd);
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* Conc,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD7,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27.cu
index 8e0702bc9bd6486edff43212098e5df223842a2a..78994e997c34d6b47cf1b8b49dd0d70442f91588 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27.cu
@@ -6,7 +6,7 @@
 
 std::shared_ptr<PreProcessorStrategy> InitSP27::getNewInstance(std::shared_ptr<Parameter> para)
 {
-	return std::shared_ptr<PreProcessorStrategy>(new InitSP27(para));
+    return std::shared_ptr<PreProcessorStrategy>(new InitSP27(para));
 }
 
 void InitSP27::init(int level)
@@ -30,12 +30,12 @@ void InitSP27::init(int level)
 
 bool InitSP27::checkParameter()
 {
-	return false;
+    return false;
 }
 
 InitSP27::InitSP27(std::shared_ptr<Parameter> para)
 {
-	this->para = para;
+    this->para = para;
 }
 
 InitSP27::InitSP27()
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27.h b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27.h
index 031e4125a78bbbebeea054ba5cce5038138b7cd5..def7ccd175168ba6f463e6bc0b755db26e233212 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27.h
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27.h
@@ -10,14 +10,14 @@ class Parameter;
 class InitSP27 : public PreProcessorStrategy
 {
 public:
-	static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
-	void init(int level);
-	bool checkParameter();
+    static std::shared_ptr<PreProcessorStrategy> getNewInstance(std::shared_ptr< Parameter> para);
+    void init(int level);
+    bool checkParameter();
 
 private:
-	InitSP27();
-	InitSP27(std::shared_ptr< Parameter> para);
-	std::shared_ptr< Parameter> para;
+    InitSP27();
+    InitSP27(std::shared_ptr< Parameter> para);
+    std::shared_ptr< Parameter> para;
 };
 
 #endif 
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cu b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cu
index c050a9e69b9c902e05a549a89ae816dd392b177a..8677e0f2eb3b1c5917d6550ef478c94c8400098b 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cu
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cu
@@ -7,16 +7,16 @@ using namespace vf::lbm::dir;
 #include "math.h"
 
 __global__ void LB_Init_SP_27(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* rho,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD,
-	bool EvenOrOdd)
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* rho,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD,
+    bool EvenOrOdd)
 {
    ////////////////////////////////////////////////////////////////////////////////
    const unsigned  x = threadIdx.x;  // Globaler x-Index 
@@ -164,14 +164,14 @@ __global__ void LB_Init_SP_27(unsigned int* neighborX,
          (D.f[dPMM ])[kbse ] =   c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq);
          (D.f[dMPP ])[ktnw ] =   c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq);
       }
-	  else
-	  {
-		  //////////////////////////////////////////////////////////////////////////
-		  Distributions27 D;
-		  D.f[d000] = &DD[d000*size_Mat];
-		  //////////////////////////////////////////////////////////////////////////
-		  (D.f[d000])[k] = c96o1;
-		  //////////////////////////////////////////////////////////////////////////
-	  }
+      else
+      {
+          //////////////////////////////////////////////////////////////////////////
+          Distributions27 D;
+          D.f[d000] = &DD[d000*size_Mat];
+          //////////////////////////////////////////////////////////////////////////
+          (D.f[d000])[k] = c96o1;
+          //////////////////////////////////////////////////////////////////////////
+      }
    }
 }
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cuh b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cuh
index 2cb9c74506862e4c4766b2416dfc7f1a0024e6b0..c00a191b4afd5fd9168485932cb162dfc5a05694 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cuh
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cuh
@@ -5,15 +5,15 @@
 #include <curand.h>
 
 __global__ void LB_Init_SP_27(unsigned int* neighborX,
-	unsigned int* neighborY,
-	unsigned int* neighborZ,
-	unsigned int* geoD,
-	real* rho,
-	real* ux,
-	real* uy,
-	real* uz,
-	unsigned int size_Mat,
-	real* DD,
-	bool EvenOrOdd);
+    unsigned int* neighborY,
+    unsigned int* neighborZ,
+    unsigned int* geoD,
+    real* rho,
+    real* ux,
+    real* uy,
+    real* uz,
+    unsigned int size_Mat,
+    real* DD,
+    bool EvenOrOdd);
 
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorStrategy/PreProcessorStrategy.h b/src/gpu/core/PreProcessor/PreProcessorStrategy/PreProcessorStrategy.h
index 482513bc55e7601b9b91dc9c65132e1a3599fb0a..5a899eb040ea936d8acdbcd1e74a6c5607848c7a 100644
--- a/src/gpu/core/PreProcessor/PreProcessorStrategy/PreProcessorStrategy.h
+++ b/src/gpu/core/PreProcessor/PreProcessorStrategy/PreProcessorStrategy.h
@@ -11,7 +11,7 @@
 class PreProcessorStrategy
 {
 public:
-	virtual void init(int level) = 0;
-	virtual bool checkParameter() = 0;
+    virtual void init(int level) = 0;
+    virtual bool checkParameter() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/PreProcessor/PreProcessorType.h b/src/gpu/core/PreProcessor/PreProcessorType.h
index e396086926829d1abaf93d70b234c038fa467d9e..6bf54afc08fa99d0e77e3e57897cfa379392f585 100644
--- a/src/gpu/core/PreProcessor/PreProcessorType.h
+++ b/src/gpu/core/PreProcessor/PreProcessorType.h
@@ -3,12 +3,12 @@
 
 enum PreProcessorType
 {
-	InitSP27,
-	InitCompSP27,
-	InitF3,
-	InitIncompAD7,
-	InitIncompAD27,
-	InitCompAD7,
-	InitCompAD27
+    InitSP27,
+    InitCompSP27,
+    InitF3,
+    InitIncompAD7,
+    InitIncompAD27,
+    InitCompAD7,
+    InitCompAD27
 };
 #endif
\ No newline at end of file
diff --git a/src/gpu/core/Temperature/FindTemperature.cpp b/src/gpu/core/Temperature/FindTemperature.cpp
index a4f6a01f83bd914e6ba7123a10387a463d90e84d..6883a720a557c125c399e15ef1d7631a0a03969b 100644
--- a/src/gpu/core/Temperature/FindTemperature.cpp
+++ b/src/gpu/core/Temperature/FindTemperature.cpp
@@ -20,37 +20,6 @@ void initTemperatur(Parameter* para, CudaMemoryManager* cudaMemoryManager, int l
 
     cudaMemoryManager->cudaCopyConcentrationHostToDevice(lev);
 
-   if (para->getDiffMod() == 7)
-   {
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-      para->getParD(lev)->isEvenTimestep = false;
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-      //InitThS7(); 
-      getLastCudaError("Kernel execution failed"); 
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-      para->getParD(lev)->isEvenTimestep = true;
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-      //InitThS7(); 
-      getLastCudaError("Kernel execution failed"); 
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-      CalcMacThS7(para->getParD(lev)->concentration, 
-                  para->getParD(lev)->typeOfGridNode,       
-                  para->getParD(lev)->neighborX, 
-                  para->getParD(lev)->neighborY, 
-                  para->getParD(lev)->neighborZ,
-                  para->getParD(lev)->numberOfNodes, 
-                  para->getParD(lev)->numberofthreads,       
-                  para->getParD(lev)->distributionsAD7.f[0],    
-                  para->getParD(lev)->isEvenTimestep);
-      getLastCudaError("CalcMacSP27 execution failed"); 
-      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-   } 
-   else if (para->getDiffMod() == 27)
-   {
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       para->getParD(lev)->isEvenTimestep = false;
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -77,7 +46,6 @@ void initTemperatur(Parameter* para, CudaMemoryManager* cudaMemoryManager, int l
                      para->getParD(lev)->distributionsAD.f[0],
                      para->getParD(lev)->isEvenTimestep);
       ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-   }
 
    cudaMemoryManager->cudaCopyConcentrationDeviceToHost(lev);
 }
diff --git a/src/gpu/core/Utilities/Buffer2D.hpp b/src/gpu/core/Utilities/Buffer2D.hpp
index d0b93bc5599ae2e20abf6ed8f004677869379cf6..00232ec9f870ba68517465f57e1768f9f83cc7b1 100644
--- a/src/gpu/core/Utilities/Buffer2D.hpp
+++ b/src/gpu/core/Utilities/Buffer2D.hpp
@@ -73,4 +73,4 @@ private:
    int row, column;
    int size;
 };
-#endif	//BUFFER2D_H
+#endif    //BUFFER2D_H
diff --git a/src/lbm/collision/TurbulentViscosity.h b/src/lbm/collision/TurbulentViscosity.h
index 7284638f1c21f894ba84cc121eb7ebd48a64704c..13962b37f3b795ec9abee220af5e38c2e5106b2b 100644
--- a/src/lbm/collision/TurbulentViscosity.h
+++ b/src/lbm/collision/TurbulentViscosity.h
@@ -58,8 +58,6 @@ enum class TurbulenceModel {
     AMD,
     //! - QR model by Verstappen
     QR,
-    //! - TODO: move the WALE model here from the old kernels
-    // WALE
     //! - No turbulence model
     None
 };